img

Команда IP в Linux: руководство с примерами

Команда ip - это сетевой инструмент Linux для системных и сетевых администраторов. IP означает Интернет-протокол и, как следует из названия, инструмент используется для настройки сетевых интерфейсов. В старых дистрибутивах Linux использовалась команда ifconfig, которая работает аналогично. Однако ifconfig имеет ограниченный диапазон возможностей по сравнению с командой ip.

icon strelka icons icons

узнай больше на курсе

Онлайн-курс по Linux
Курс по Linux от Мерион Нетворкс - стань Linux администратором, прокачай свой скиллсет умением работать с операционными системами линукс и сделай большой шаг к DevOps
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Полный курс по сетевым технологиям
Полный курс по сетевым технологиям от Мерион Нетворкс - учим с нуля сетевых инженеров и DevOPS специалистов
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
DevOps-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту

В этом руководстве мы рассмотрим все важные операции, которые команда ip может выполнять в Linux.

Команда IP в Linux

Как использовать команду ip

Команда ip имеет следующий синтаксис:

ip [OPTION] OBJECT {COMMAND | help}

К объектам OBJECT (или подкомандам), которые вы будете использовать чаще всего, относятся:

  1. link (l) - используется для отображения и изменения сетевых интерфейсов
  2. address (addr/a) - используется для отображения и изменения адресов протокола (IP, IPv6)
  3. route (r) - используется для отображения и изменения таблицы маршрутизации
  4. neigh (n) - используется для отображения и управления соседними объектами (таблица ARP)

Они могут использоваться как в полной, так и сокращенной форме.

Есть много других доступных объектов и команд. Чтобы увидеть полный список, введите следующую команду:

ip help
ip help

Для выполнения команд вы можете использовать либо полную, либо сокращенную формы. Например, ip link и ip l будут давать одинаковые результаты.

При настройке сетевых интерфейсов вы должны запускать команды как пользователь root или пользователь с привилегиями sudo. В противном случае вы увидите сообщение RTNETLINK answers: Operation not permitted

Предупреждение: по умолчанию система не сохраняет изменения перманентно. После перезапуска Linux-сервера вновь измененное состояние будет потеряно. Есть два способа сделать ваши настройки постоянными: добавить команды в сценарий запуска или отредактировать дистрибутивные файлы конфигурации.

Управление и отображение сетевых интерфейсов

Вы можете получить список всех параметров команды link, набрав:

ip link help
ip link

Получить информацию о сетевом интерфейсе

Чтобы увидеть информацию канального уровня обо всех доступных устройствах (у которых загружен драйвер), используйте команду:

ip link show

Пример вывода:

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0:  mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 12:24:01:8c:67:45 brd ff:ff:ff:ff:ff:ff

Если вы хотите, чтобы команда отображала информацию для одного конкретного устройства, введите следующее:

ip link show dev [device]

Чтобы просмотреть статистику по всем сетевым интерфейсам (такие детали, как переданные или отброшенные пакеты или даже ошибки), используйте:

ip -s link

Вы также можете увидеть аналогичную информацию для отдельного сетевого интерфейса:

ip -s link ls [interface]

Если вам нужно больше подробностей, добавьте еще -s в синтаксис:

ip -s -s link ls [interface]

Чтобы увидеть список только работающих интерфейсов, используйте:

ip link ls up

Изменить статус сетевого интерфейса

Если вы хотите включить сетевой интерфейс, используйте команду:

ip link set [interface] up

Отключите интерфейс, введя:

ip link set [interface] down

Команда ip link позволяет вам изменять очередь передачи, ускоряя или замедляя интерфейсы в соответствии с вашими потребностями и аппаратными возможностями.

ip link set txqueuelen [number] dev [interface]

Вы можете установить MTU (Maximum Transmission Unit) для улучшения производительности сети:

ip link set mtu [number] dev [interface]

Чтобы узнать все опции команды link, наберите:

ip link help
ip link

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

Узнайте все команды address, набрав следующее:

ip addr help
ip addr

Мониторинг IP-адресов

Выведите все устройства с помощью следующей команды:

ip addr

Чтобы вывести список всех сетевых интерфейсов и связанных IP-адресов, используйте команду:

ip addr show

Пример вывода:

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 51:55:07:8a:62:44 brd ff:ff:ff:ff:ff:ff
    inet 192.168.120.24/24 brd 192.168.120.255 scope global dynamic eth0
       valid_lft 2900sec preferred_lft 2900sec
    inet6 fe80::5054:ff:fe8c:6244/64 scope link 
       valid_lft forever preferred_lft forever

Вы также можете увидеть информацию об отдельной сети:

ip addr show dev [interface]

Чтобы получить список всех IPv4 адресов, используйте:

ip -4 addr

Чтобы получить список всех IPv6 адресов, используйте:

ip -6 addr

Как добавить IP-адрес в Linux

Добавьте IP-адрес в интерфейс с помощью команды:

ip addr add [ip_address] dev [interface]

Если указанный интерфейс не существует, отобразится сообщение: Cannot find device [interface]

Чтобы добавить два адреса на один интерфейс также используйте эту команду:

ip address add 192.168.1.41/24 dev eth0
ip address add 192.168.1.40/24 dev eth0

Если вам нужно добавить широковещательный (broadcast) адрес для интерфейса, используйте команду:

ip addr add brd [ip_address] dev [interface]

Чтобы удалить IP-адрес из интерфейса, выполните следующие действия.

ip addr del [ip_address] dev [interface]

Управление и отображение таблицы IP-маршрутизации

Просмотрите полный список команд ip routeс помощью следующей команды:

ip route help
ip route

Показать таблицу маршрутизации IP

Для просмотра всех записей в таблице маршрутизации используйте одну из следующих команд:

ip route
ip route list

Пример вывода:

default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.241 metric 100 
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.241 
192.168.1.1 dev eth0 proto dhcp scope link src 192.168.1.241 metric 100 

С помощью команд, приведенных выше, выходные данные отображают все записи маршрута в ядре. Если вам нужно сузить поиск, добавьте объект SELECTOR:

ip route list SELECTOR

Чтобы просмотреть маршрутизацию для отдельной сети, используйте следующий синтаксис:

ip route list [ip_address]

Изменить таблицу IP-маршрутизации

Чтобы добавить новую запись в таблицу маршрутизации, введите команду:

ip route add [ip_address] dev [interface]

Или вы можете добавить новый маршрут через шлюз, набрав:

ip route add [ip_address] via [gateway_IP]

Также команда позволяет добавить маршрут для всех адресов через локальный шлюз, добавив параметр default:

ip route add default [ip_address] dev [device]

ip route add default [network/mask] via [gateway_IP]

Чтобы удалить существующую запись в таблице маршрутизации, используйте команды:

ip route del [ip_address]

ip route del default

ip route del [ip_address] dev [interface]

Отображение и изменение IP-записей соседей

При помощи команды ip neigh можно манипулировать таблицами ARP (Address Resolution Protocol). Это аналог команды arp

Для получения полного списка всех параметров команды neigh используйте:

ip neigh help
ip neigh

Отображение IP-адресов соседей

Чтобы отобразить таблицы соседей, используйте следующую команду:

ip neigh show

Выходные данные показывают MAC-адреса устройств, которые являются частью системы, и их состояние. Состояние устройства может быть:

  • REACHABLE - означает валидную, достижимую запись до истечения таймаута.
  • PERMANENT - означает постоянную запись, которую может удалить только администратор
  • STALE - означает действительную, но недоступную запись
  • DELAY - означает, что ядро все еще ожидает проверки из устаревшей записи

Изменить IP-записи соседей

Добавьте новую запись в таблицу с помощью команды:

ip neigh add [ip_address] dev [interface]

Или удалите существующую запись ARP:

ip neigh del [ip_address] dev [interface]
Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
icon strelka icons icons

узнай больше на курсе

Онлайн-курс по Linux
Курс по Linux от Мерион Нетворкс - стань Linux администратором, прокачай свой скиллсет умением работать с операционными системами линукс и сделай большой шаг к DevOps
Подробнее о курсе
Полный курс по сетевым технологиям
Полный курс по сетевым технологиям от Мерион Нетворкс - учим с нуля сетевых инженеров и DevOPS специалистов
Подробнее о курсе
DevOps-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
Подробнее о курсе
Python программист с нуля
Стань разработчиком на одном из самых популярных языков программирования - Python
Подробнее о курсе
Онлайн-курс по кибербезопасности
Полный курс по кибербезопасности от Мерион Нетворкс - учим с нуля специалистов по информационной безопасности. Пора стать безопасником!
Подробнее о курсе
Онлайн-курс по сетевой безопасности
Изучи основы сетевой безопасности и прокачай скилл системного администратора и сетевого инженера
Подробнее о курсе
Еще по теме:
img
Рассказываем, как появился nginx, его отличия от apache, для чего нужен nginx и какие у него преимущества
img
В этом руководстве вы узнаете, как установить и настроить Fail2ban на своем сервере.
img
В этой статье обсудим гипервизоры — важные компоненты процесса виртуализации серверов, как они работают и какие бывают типы.
img
В этой статье мы рассмотрим, как работают различные системные вызовы, разберемся в их функциях, а также постараемся сделать работу вашей системы более безопасной и предсказуемой.
img
Статья объясняет, что такое SWAP-память, как она работает, ее преимущества и недостатки, а также как управлять объемом SWAP-пространства на разных ОС.
Весенние скидки
30%
50%
60%
До конца акции: 30 дней 24 : 59 : 59