Table of Contents
🌐 ip: кратко и по делу#
ip — современный универсальный инструмент из пакета iproute2 для управления сетевыми интерфейсами, адресами, маршрутами, туннелями, правилами маршрутизации и статистикой сети.
Это замена старым утилитам вроде ifconfig, route, arp и netstat.
📝 Топ‑20 полезных флагов ip#
ip a— показать все IP-адреса интерфейсов.ip l— показать состояние сетевых интерфейсов.ip r— показать таблицу маршрутизации.ip addr add <IP/MASK> dev <IFACE>— добавить IP-адрес.ip addr del <IP/MASK> dev <IFACE>— удалить IP-адрес.ip link set <IFACE> up— поднять интерфейс.ip link set <IFACE> down— опустить интерфейс.ip route add <NET> via <GATEWAY>— добавить маршрут.ip route del <NET>— удалить маршрут.ip route flush table main— очистить таблицу маршрутов.ip -s link— статистика пакетов по интерфейсам.ip -br a— компактный вывод IP-адресов.ip -br l— компактный вывод интерфейсов.ip neigh— показать ARP-кэш (аналогarp -n).ip neigh flush all— очистить ARP-кэш.ip rule— показать правила маршрутизации.ip rule add from <IP> table <TABLE>— добавить правило маршрутизации.ip maddr— работа с многоадресными группами.ip tunnel— управление туннелями (IPIP, GRE, SIT).ip monitor— мониторинг изменений в сети в реальном времени.
🚀 Айсберг команд ip — от базового к гуру#
🟢 Уровень 1 — База (разогрев)#
ip a
- Показать все IP-адреса и интерфейсы
ip a show dev eth0
- Подробно показать только интерфейс eth0
ip l
- Список интерфейсов и их состояние
ip r
- Таблица маршрутизации
ip -br a
- Компактный вывод IP-адресов
🟡 Уровень 2 — Управление интерфейсами#
ip link set eth0 up
- Включить интерфейс
ip link set eth0 down
- Выключить интерфейс
ip link show eth0
- Подробная информация об интерфейсе
ip link set eth0 mtu 1400
- Изменить MTU интерфейса
ip link set eth0 promisc on
- Включить режим промискуитета (прослушивание всех пакетов)
🟠 Уровень 3 — Работа с IP-адресами#
ip addr add 192.168.1.100/24 dev eth0
- Добавить IP-адрес интерфейсу
ip addr del 192.168.1.100/24 dev eth0
- Удалить IP-адрес
ip addr flush dev eth0
- Очистить все IP-адреса на интерфейсе
ip -s a show eth0
- Показать статистику по IP
ip -d addr show eth0
- Показать детальную отладочную информацию
🔵 Уровень 4 — Маршрутизация и политики#
ip route add 192.168.2.0/24 via 192.168.1.1
- Добавить маршрут в подсеть
ip route del 192.168.2.0/24
- Удалить маршрут
ip route change default via 192.168.1.1
- Изменить шлюз по умолчанию
ip rule
- Показать текущие правила маршрутизации
ip rule add from 192.168.1.100 table 100
- Создать кастомное правило маршрутизации
🟣 Уровень 5 — ARP, соседние узлы и мультикаст#
ip neigh
- Показать ARP-кэш
ip neigh flush all
- Очистить ARP-кэш
ip neigh add 192.168.1.50 lladdr 00:11:22:33:44:55 dev eth0
- Добавить статическую ARP-запись
ip maddr
- Показать группы многоадресной передачи
ip maddr add 224.0.0.1 dev eth0
- Присоединиться к multicast-группе
🔴 Уровень 6 — Мониторинг и диагностика#
ip -s link
- Пакетная статистика всех интерфейсов
ip -s a show eth0
- Пакетная статистика конкретного интерфейса
ip monitor link
- Мониторинг изменений состояния интерфейсов
ip monitor route
- Мониторинг таблицы маршрутов
ip monitor all
- Полный мониторинг сети в реальном времени
🟤 Уровень 7 — Гуру‑режим#
ip netns add testns
- Создать network namespace
ip netns exec testns ip a
- Выполнить команду внутри namespace
ip link add veth0 type veth peer name veth1
- Создать виртуальный интерфейс
ip link set veth0 netns testns
- Перенести интерфейс в namespace
ip -s link show type veth
- Показать статистику только виртуальных интерфейсов
🧩 Бонус — практические сценарии#
Быстрый просмотр IP-адресов:
ip -br a
Настроить статический IP:
ip addr add 192.168.1.200/24 dev eth0
ip route add default via 192.168.1.1
Сбросить сетевые интерфейсы:
ip link set eth0 down && ip link set eth0 up
Отслеживать изменения сети:
ip monitor all
Создать виртуальную связку интерфейсов:
ip link add veth0 type veth peer name veth1