Команда ip в Linux (с примерами)
Команда ip — это мощный инструмент для настройки сетевых интерфейсов, который должен знать любой системный администратор Linux. Он используется для включения или выключения интерфейсов, назначения и удаления адресов и маршрутов, управления кешем ARP и многого другого.
В этой статье объясняется, как использовать команду ip, на практических примерах и подробных объяснениях наиболее распространенных параметров.
Как использовать команду ip
Утилита ip является частью пакета iproute2, который установлен во всех современных дистрибутивах Linux.
Синтаксис команды ip следующий:
OBJECT — это тип объекта, которым вы хотите управлять. Наиболее часто используемые объекты (или подкоманды):
Отображение и изменение IP-адресов
При работе с объектом addr команды принимают следующий вид:
Отображение информации обо всех IP-адресах
Чтобы отобразить список всех сетевых интерфейсов и связанный с ними IP-адрес, введите следующую команду:
Результат будет выглядеть примерно так:
Отображение информации об одном сетевом интерфейсе
Назначьте IP-адреса интерфейсу
Чтобы назначить IP-адрес интерфейсу, используйте следующий синтаксис:
Где IFNAME — это имя интерфейса, а ADDRESS — это IP-адрес, который вы хотите назначить интерфейсу.
Назначьте несколько IP-адресов одному интерфейсу
С помощью ip вы можете назначить несколько адресов одному интерфейсу. Например:
Удалить / удалить IP-адрес из интерфейса
Синтаксис для удаления IP-адреса из интерфейса следующий:
IFNAME — это имя интерфейса, а ADDRESS — это IP-адрес, который вы хотите удалить из интерфейса.
Чтобы удалить адрес 192.168.121.45/24 с устройства eth0, введите:
Отображение и изменение сетевых интерфейсов
Отображение информации о сетевых интерфейсах
Чтобы отобразить список всех сетевых интерфейсов, введите следующую команду:
Чтобы получить информацию о конкретном сетевом интерфейсе, используйте ip link show dev за которым следует имя устройства. Например, чтобы запросить eth0 вы должны ввести:
Измените статус интерфейса ВВЕРХ / ВНИЗ
Чтобы вывести интерфейсы вверх или вниз, используйте ip link set dev за которым следует имя устройства и желаемое состояние:
Например, чтобы подключить интерфейс eth0 сети, вы должны ввести:
И принести если оффлайн
Отображение и изменение таблицы маршрутизации
Показать таблицу маршрутизации
Чтобы получить список записей маршрута ядра, используйте одну из следующих команд:
При использовании без SELECTOR команда выведет список всех записей маршрута в ядре:
Добавить новый маршрут
Чтобы добавить новую запись в таблицу маршрутизации, используйте команду route add за которой следует имя сети или устройства.
Добавьте маршрут к 192.168.121.0/24 через шлюз 192.168.121.1
Добавьте маршрут к 192.168.121.0/24, который может быть достигнут на устройстве eth0.
Удалить маршрут
Следующая команда удалит маршрут по умолчанию:
Удалите маршрут для 192.168.121.0/24 через шлюз 192.168.121.1
Выводы
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Как использовать команду ip в Linux
Вы можете настроить IP-адреса, сетевые интерфейсы и правила маршрутизации на лету с помощью команды Linux ip. Мы покажем вам, как вы можете использовать эту современную замену классическому (и теперь устаревшему) ifconfig.
Как работает команда ip
С помощью команды ip вы можете настроить способ, которым компьютер Linux обрабатывает IP-адреса, контроллеры сетевых интерфейсов (NIC) и правила маршрутизации. В дополнении к этому, изменения вступают в силу немедленно — вам не нужно перезагружаться. Команда ip может сделать намного больше, чем это, но в этой статье мы сосредоточимся на наиболее распространённых случаях использования.
Команда ip имеет много подкоманд, каждая из которых работает с типом объекта, таким как IP-адреса, маршруты и т.д. В свою очередь, имеется много вариантов для каждого из этих объектов. Именно это богатство функциональности даёт команде ip гранулярность, необходимую для выполнения сложных задач.
Объекты, с которыми работает команда ip
Общий синтаксис команды ip следующий:
ОБЪЕКТАМИ в команде ip являются:
Мы рассмотрим следующие объекты:
Использование ip с адресами
Очевидно, что сначала вы должны знать настройки, с которыми вы имеете дело. Чтобы узнать, какие IP-адреса у вашего компьютера, используйте команду ip с объектом address. Действием по умолчанию является show, которое перечислит IP-адреса. Вы также можете опустить show и сокращать написание address до «addr» или даже до «a».
Все следующие команды эквивалентны:

Мы видим два IP-адреса, а также много другой информации. IP-адреса связаны с контроллерами сетевого интерфейса (NIC). Команда ip пытается быть полезной и предоставляет много информации об интерфейсе.
Первый IP-адрес — это (внутренний) петлевой адрес, используемый для связи внутри компьютера. Второй фактический (внешний) IP-адрес, который компьютер имеет в локальной сети (LAN).
Кроме петлевого интерфейса lo, также имеются следующие:
Давайте разберём всю информацию, которую мы получили по первому интерфейсу:
Физические интерфейсы, как мы покажем ниже, более интересны. Рассмотрим два физических интерфейса: один из них не задействован (провод не подключён), а второй используется (беспроводной Wi-Fi адаптер).
Неиспользуемый сетевой интерфейс:
Используемый сетевой интерфейс:
Отображать только адреса IPv4 или IPv6
Если вы хотите ограничить вывод IP-адресами версии 4, вы можете использовать опцию -4 следующим образом:

Если вы хотите ограничить вывод IP-адресами версии 6, вы можете использовать опцию -6 следующим образом:
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Команда IP в Linux: руководство с примерами
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
В этом руководстве мы рассмотрим все важные операции, которые команда ip может выполнять в Linux.

Как использовать команду ip
Команда ip имеет следующий синтаксис:
К объектам OBJECT (или подкомандам), которые вы будете использовать чаще всего, относятся:
Они могут использоваться как в полной, так и сокращенной форме.
Есть много других доступных объектов и команд. Чтобы увидеть полный список, введите следующую команду:

Для выполнения команд вы можете использовать либо полную, либо сокращенную формы. Например, ip link и ip l будут давать одинаковые результаты.
При настройке сетевых интерфейсов вы должны запускать команды как пользователь root или пользователь с привилегиями sudo. В противном случае вы увидите сообщение RTNETLINK answers: Operation not permitted
Предупреждение: по умолчанию система не сохраняет изменения перманентно. После перезапуска Linux-сервера вновь измененное состояние будет потеряно. Есть два способа сделать ваши настройки постоянными: добавить команды в сценарий запуска или отредактировать дистрибутивные файлы конфигурации.
Управление и отображение сетевых интерфейсов

Получить информацию о сетевом интерфейсе
Чтобы увидеть информацию канального уровня обо всех доступных устройствах (у которых загружен драйвер), используйте команду:
Если вы хотите, чтобы команда отображала информацию для одного конкретного устройства, введите следующее:
Чтобы просмотреть статистику по всем сетевым интерфейсам (такие детали, как переданные или отброшенные пакеты или даже ошибки), используйте:
Вы также можете увидеть аналогичную информацию для отдельного сетевого интерфейса:
Чтобы увидеть список только работающих интерфейсов, используйте:
Изменить статус сетевого интерфейса
Если вы хотите включить сетевой интерфейс, используйте команду:
Отключите интерфейс, введя:
Команда ip link позволяет вам изменять очередь передачи, ускоряя или замедляя интерфейсы в соответствии с вашими потребностями и аппаратными возможностями.
Вы можете установить MTU (Maximum Transmission Unit) для улучшения производительности сети:
Чтобы узнать все опции команды link, наберите:

Мониторинг и управление IP-адресами

Мониторинг IP-адресов
Выведите все устройства с помощью следующей команды:
Чтобы вывести список всех сетевых интерфейсов и связанных IP-адресов, используйте команду:
Вы также можете увидеть информацию об отдельной сети:
Чтобы получить список всех IPv4 адресов, используйте:
Чтобы получить список всех IPv6 адресов, используйте:
Как добавить IP-адрес в Linux
Добавьте IP-адрес в интерфейс с помощью команды:
Если указанный интерфейс не существует, отобразится сообщение: Cannot find device [interface]
Чтобы добавить два адреса на один интерфейс также используйте эту команду:
Если вам нужно добавить широковещательный (broadcast) адрес для интерфейса, используйте команду:
Чтобы удалить IP-адрес из интерфейса, выполните следующие действия.
Управление и отображение таблицы IP-маршрутизации
Просмотрите полный список команд ip route с помощью следующей команды:

Показать таблицу маршрутизации IP
Для просмотра всех записей в таблице маршрутизации используйте одну из следующих команд:
С помощью команд, приведенных выше, выходные данные отображают все записи маршрута в ядре. Если вам нужно сузить поиск, добавьте объект SELECTOR :
Чтобы просмотреть маршрутизацию для отдельной сети, используйте следующий синтаксис:
Изменить таблицу IP-маршрутизации
Чтобы добавить новую запись в таблицу маршрутизации, введите команду:
Или вы можете добавить новый маршрут через шлюз, набрав:
Также команда позволяет добавить маршрут для всех адресов через локальный шлюз, добавив параметр default :
Чтобы удалить существующую запись в таблице маршрутизации, используйте команды:
Отображение и изменение IP-записей соседей
При помощи команды ip neigh можно манипулировать таблицами ARP (Address Resolution Protocol). Это аналог команды arp
Для получения полного списка всех параметров команды neigh используйте:

Отображение IP-адресов соседей
Чтобы отобразить таблицы соседей, используйте следующую команду:
Выходные данные показывают MAC-адреса устройств, которые являются частью системы, и их состояние. Состояние устройства может быть:
Изменить IP-записи соседей
Добавьте новую запись в таблицу с помощью команды:
Или удалите существующую запись ARP:
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Команда ip в Linux с примерами
В этой статье мы покажем вам, как использовать команду ip, на практических примерах и подробных объяснениях наиболее распространенных параметров ip.
Как использовать команду ip
Утилита ip является частью пакета iproute2, который устанавливается во всех современных дистрибутивах Linux.
Синтаксис команды ip следующий:
OBJECT – это тип объекта, которым вы хотите управлять. Наиболее часто используемые объекты (или подкоманды):
Объект может быть написан в полной или сокращенной (краткой) форме. Для отображения списка команд и аргументов для каждого типа объекта ip OBJECT help.
При настройке сетевых интерфейсов вы должны запускать команды как root или пользователь с привилегиями sudo, в противном случае команда выведет RTNETLINK answers: Operation not permitted.
Конфигурации, установленные с помощью команды ip, не являются постоянными. После перезагрузки системы все изменения будут потеряны. Для постоянных настроек вам нужно отредактировать дистрибутивные файлы конфигурации или добавить команды в скрипт запуска.
Отображение и изменение IP-адресов
При работе с объектом команды addr принимают следующую форму:
Наиболее часто используемые команды объекта addr – это show, add и del.
Показать информацию обо всех IP-адресах
Для отображения списка всех сетевых интерфейсов и связанного с ним IP-адреса введите следующую команду:
Вывод будет выглядеть примерно так:
Когда команда show опущена, все устройства перечислены. Вы получите тот же вывод, если вы наберете ip addr.
Отображение информации об одном сетевом интерфейсе
Для получения информации о конкретном сетевом интерфейсе используйте имя устройства ip addr show dev. Например, чтобы запросить вас eth0, введите:
Назначьте IP-адреса интерфейсу
Чтобы назначить IP-адрес интерфейсу, используйте следующий синтаксис:
Где IFNAME – это имя интерфейса, а ADDRESS – это IP-адрес, который вы хотите назначить интерфейсу.
Чтобы добавить адрес 192.168.101.12 с сетевой маской 24 на устройство eth0, введите:
В случае успеха команда не будет отображать никаких выходных данных. Если интерфейс не существует, вы получите Cannot find device “eth0”.
Назначьте несколько IP-адресов одному интерфейсу
С помощью утилиты ip вы можете назначить несколько адресов одному интерфейсу. Например:
Удалить IP-адрес из интерфейса
Синтаксис для удаления IP-адреса из интерфейса, как показано ниже:
IFNAME – это имя интерфейса, а ADDRESS – это IP-адрес, который вы хотите удалить из интерфейса.
Для удаления адреса 192.168.101.12/24 из устройства eth0 введите:
Отображение и изменение сетевых интерфейсов
Для управления и отображения состояния сетевых интерфейсов используется объект link.
Наиболее часто используемые команды при работе с link объектами являются show, set, add и del.
Отображение информации о сетевых интерфейсах
Чтобы отобразить список всех сетевых интерфейсов, введите следующую команду:
В отличие от ip addr show, ip link showне будет печатать информацию об IP-адресах, связанных с устройством.
Для получения информации о конкретном сетевом интерфейсе используйте имя устройства ip link show dev. Например, чтобы запросить вас eth0, введите:
Изменить статус интерфейса up/down
Чтобы включить или выключить интерфейсы, используйте ip link set dev DEVICE и желаемое состояние:
Например, чтобы вывести интерфейс eth0 в онлайн, вы должны набрать:
И вывести если офлайн
Отображение и изменение таблицы маршрутизации
Для назначения, удаления и отображения таблицы маршрутизации ядра используйте объект route. Наиболее часто используемые команды при работе с объектами маршрутов list, addи del.
Показать таблицу маршрутизации
Используйте список записей маршрута ядра, используя одну из следующих команд:
При использовании без SELECTOR команда выведет список всех записей маршрута в ядре:
Например, чтобы отобразить только маршрутизацию для конкретной сети, введите 172.17.0.0/16:
Добавить новый маршрут
Чтобы добавить новую запись в таблицу маршрутизации, используйте команду route add, а затем имя сети или устройства.
Добавьте маршрут к 192.168.113.0/24 через шлюз в 192.168.113.1
Добавьте маршрут к 192.168.113.0/24, который может быть достигнут на устройстве eth0.
Чтобы добавить маршрут по умолчанию, используйте ключевое слово default. Следующая команда добавит маршрут по умолчанию через локальный шлюз 192.168.113.1, который может быть достигнут на устройстве eth0.
Удалить маршрут
Чтобы удалить запись из таблицы маршрутизации, используйте команду route add: Синтаксис для удаления маршрута такой же, как и при добавлении.
Следующая команда удалит маршрут по умолчанию:
Удалите маршрут для 192.168.113.0/24 через шлюз в 192.168.113.1
Заключение
К настоящему времени вы должны хорошо понимать, как использовать команду ip в Linux. Для получения дополнительной информации о других параметрах ip посетите страницу руководства команды ip
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Команда ip в Linux
С появлением версии ядра 2.2, команда ifconfig стала менее популярной, и уже многие дистрибутивы операционной системы linux не устанавливают ее по умолчанию. Поэтому, многие пользователи, которые привыкли использовать ifconfig сталкиваются со сложностями ее использования, не подозревая, что на смену пришла другая утилита ip. Она объединила в себе команды работы с сетью, такие как route, ifconfig и arp.
IP по умолчанию устанавливается на большинства дистрибутивах. Она умеет делать больше операций, чем ее предшественники.
Пользователь может выполнять следующие действия:
Ввиду немаленького функционала освоить программу непросто, но она очень полезна.
Синтаксис
Основное написание утилиты используется в трех вариантах:
Объекты
Объектом называют устройство, с которым необходимо взаимодействовать или о котором нужно узнать информацию.
Рассмотрим некоторые важные объекты:
При вводе имени объекта его можно сократить всего до одной буквы, напримире link можно сократить как «l». Если команда будет неоднозначной, применяется порядок как в алфавите.
Чтобы посмотреть справку по отдельному объекту необходимо ввести аргумент help или сокращенное имя «h».
Опции
Опции [options] представляют собой настройки, отражающиеся на работе утилиты. Их необязательно вводить.
Примеры
Теперь остается наглядно рассмотреть, каким образом можно применять ip в Линуксе.
Для первого примера, посмотрим справочную информацию по объекту link.
С помощью link можно взаимодействовать сетевыми интерфейсами и смотреть информацию о них. Команды:
Выведем на экран все сетевые интерфейсы.
Если нужно узнать информацию только об определенном интерфейсе, то пишем:
ip link set eth0 down
ip link set eth0 up
Посмотрим справку следующего объекта «address»
ip address help
ВАЖНО! «address» можно писать в сокращенном варианте «addr» или «a».
Пример использования команды «show».
Наиболее часто используется команда, которая покажет информацию о всех сетевых интерфейсах, аналог параметра «show»..
ip addr l permanent
Назначим IP-адрес 192.168.10.1 с маской 255.255.255.0 интерфейсу eth0. Для этого будем использовать «add».
ip addr add 192.168.10.1/255.255.255.0 dev eth0
Посмотрим справку по route.
Основные параметры route:







