🌐 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