ip — сетевой инструмент для настройки сетевых интерфейсов в Linux (в старых дистрибутивах использовалась команда ifconfig).
Синтаксис:
ip [OPTION] OBJECT {COMMAND | help}
OBJECT:
- link (l) — используется для отображения и изменения сетевых интерфейсов
- address (addr/a) — используется для отображения и изменения адресов протокола (IP, IPv6)
- route (r) — используется для отображения и изменения таблицы маршрутизации
- neigh (n) — используется для отображения и управления соседними объектами (таблица ARP)
Полный список OBJECT & OPTION:
ip help
Информация о сетевых интерфейсах
Все девайсы:
$ ip link show
Конкретный девайс:
$ ip link show dev [device]
Список только поднятых интерфейсов:
$ 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]
Мониторинг и управление IP-адресами:
Узнайте все команды address:
$ ip address help
Все устройства:
$ ip addr
Чтобы вывести список всех сетевых интерфейсов и связанных IP-адресов, используйте команду:
$ ip addr show
Вы также можете увидеть информацию об отдельной сети:
$ ip addr show dev [interface]
Чтобы получить список всех IPv4/IPv6 адресов, используйте:
$ ip -4 addr
$ ip -6 addr
Добавить ip адрес:
$ ip addr add [ip_address] dev [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-маршрутизации
Help:
$ ip route help
Для просмотра всех записей в таблице маршрутизации используйте одну из следующих команд:
$ ip route
$ ip route list
Чтобы просмотреть маршрутизацию для отдельной сети, используйте следующий синтаксис:
$ ip route list [ip_address]
Чтобы добавить новую запись в таблицу маршрутизации, введите команду:
$ 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-записей соседей
Для этого используем ip neigh (позволяет манипулировать ARP-таблицей; аналог arp)
Help:
$ ip neigh help
Отображение IP-адресов соседей:
$ ip neigh show
Выходные данные показывают MAC-адреса устройств, которые являются частью системы, и их состояние. Состояние устройства может быть:
REACHABLE - означает валидную, достижимую запись до истечения таймаута.
PERMANENT - означает постоянную запись, которую может удалить только администратор
STALE - означает действительную, но недоступную запись
DELAY - означает, что ядро все еще ожидает проверки из устаревшей записи
Добавьте новую запись в таблицу с помощью команды:
$ ip neigh add [ip_address] dev [interface]