linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
  • Введение
  • Уроки
  • How it works
  • Симулятор
  • База знаний
  • Собеседование
Index
Categories
All entries
Footer
linuxlab-УчебникиЦеныО платформеКонфиденциальность и куки
Copyright © 2026 LinuxLab. Все права защищены.
home/linux/kb/Команды/cmd-ip

kb/commands ── Команды ── intermediate

ip - швейцарский нож сетевой настройки

`ip` - фронт-энд iproute2, заменяет старые ifconfig/route/arp. Подкоманды: `ip addr` (адреса), `ip link` (интерфейсы), `ip route` (маршруты), `ip neigh` (ARP).

view as markdownaka: iproute2, ip-command

Базовый синтаксис

ip [-OPTIONS] OBJECT [COMMAND [ARGUMENTS]]

Главные OBJECT'ы (объекты):

objectпро что
addrIP-адреса на интерфейсах
linkсетевые интерфейсы (up/down, MAC, MTU, type)
routeтаблица маршрутизации
neighсоседи (ARP/NDP)
rulepolicy-routing rules
netnsnetwork namespaces (см. namespaces)
tunneltunnel-интерфейсы (gre, ipip, sit)
xfrmIPsec
monitorlive-стрим netlink-событий

Полезные опции

  • -br - brief формат (одна строка на запись)
  • -4 / -6 - только IPv4 / IPv6
  • -c - colorize
  • -j - JSON вывод (отлично для скриптов)
  • -s - статистика (счётчики)

Примеры по объектам

addr

bash
ip -4 -br addr            # компактный список IPv4
ip addr show eth0         # один интерфейс детально
sudo ip addr add 10.0.0.5/24 dev eth0
sudo ip addr del 10.0.0.5/24 dev eth0

link

bash
ip -br link               # все интерфейсы кратко
sudo ip link set eth0 down / up
sudo ip link set eth0 mtu 9000
sudo ip link set eth0 address aa:bb:cc:00:11:22
sudo ip link add veth0 type veth peer name veth1   # см. [[veth-pair]]

route

bash
ip route                            # все маршруты
ip route get 8.8.8.8                # какой выберется для адреса
sudo ip route add 10.5.0.0/16 via 10.0.0.1
sudo ip route add default via 192.168.1.1
sudo ip route del 10.5.0.0/16

neigh

bash
ip neigh                            # ARP-таблица (см. [[arp]])
sudo ip neigh flush all
sudo ip neigh add 10.0.0.5 lladdr aa:bb:cc:dd:ee:ff dev eth0

netns

bash
sudo ip netns add red
ip netns list
sudo ip netns exec red bash         # выполнить команду внутри netns
sudo ip link set veth1 netns red

ip monitor - live-события

Очень полезный режим для дебага сетевых событий:

bash
ip monitor          # стрим всех netlink-событий: link/addr/route/neigh
ip monitor route     # только изменения маршрутов

Когда что-то «само» меняется - посмотри что monitor покажет.

JSON для автоматизации

bash
ip -j addr show eth0 | jq '.[0].addr_info[] | select(.family=="inet") | .local'

▸"10.0.0.5"

Это правильный способ парсинга ip в скриптах - не grep по тексту.

§ команды

bash
ip -br -c addr

Brief + colorized - основная команда «что у меня в сети»

bash
ip -j route show | jq

JSON-вывод маршрутов; идеально для скриптов мониторинга

bash
ip route get 8.8.8.8

Какой маршрут СЕЙЧАС выберется для адреса (с auto-source)

bash
ip monitor link

Стримить события UP/DOWN на интерфейсах в реальном времени

bash
ip -s link show eth0

Счётчики rx/tx packets и bytes на интерфейсе

§ см. также

  • ipv4-addressingIPv4-адресация и CIDRIP-адрес = 32 бита, обычно как `a.b.c.d`. **/N** в конце - длина префикса сети: `/24` = первые 24 бита фиксированы, последние 8 - host'ы (256 адресов).
  • routing-tableRouting tableТаблица маршрутизации - список «куда направлять пакеты с таким destination». Самая длинная (longest-prefix) подходящая запись выигрывает.
  • policy-routingPolicy routing - rule-based маршрутизацияPolicy routing - выбор routing-таблицы по src-IP, fwmark, iif, tos. ip rule + ip route table N. Multi-uplink, source-based routing, VRF, split-tunnel VPN. RPDB - Routing Policy Database.
  • gre-tunnelGRE-туннели и IPIP - point-to-point поверх IPGRE - инкапсуляция любого L3 в IP (proto 47), 24 байта header. IPIP - тоньше, только IP-в-IP. mGRE - один интерфейс к multiple endpoint'ам. Без шифрования - обёртывают в IPsec. Используется в site-to-site VPN, BGP-полу-мешах.
  • namespacesLinux namespacesNamespaces - механизм ядра, который даёт процессу собственный изолированный view на ресурс (сеть, mount-points, PID, UID, IPC, hostname, time). На них построены все контейнеры.

§ упоминается в уроках

  • ›advanced-01-namespaces
  • ›intermediate-01-network-101
Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки