Linux: утилиты IPROUTE2 – примеры использования

Автор: | 30/11/2014

linux_logoВ CentOS 7 утилита ifconfig уже не устанавливается по умолчанию, и считается “устаревшей”.

На смену ей пришла коллекция утилит IPROUTE2 . Она же присутствует и во многих других системах, одновременно с установленным ifconfig.

Примеры использования утилит IPROUTE2 

Просмотр состояния сетевых интерфейсов:

# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:bd:fa:d9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.114/24 brd 192.168.1.255 scope global eth1
    inet6 fe80::a00:27ff:febd:fad9/64 scope link
       valid_lft forever preferred_lft forever

Либо так:

# ip addr

Все команды, как в Cisco IOS, можно сокращать, например:

# ip ad sh

Будет аналогична предыдущей команде, как и:

# ip a

Установить новый IP-адрес для интерфейса eth1:

# ip addr add 192.168.1.115 dev eth1

Удалить адрес:

# ip addr del 192.168.1.115 dev eth1

Отключить интерфейс eth1:

# ip link set eth1 down

Включить:

# ip link set eth1 up

Просмотреть таблицу маршрутизации:

# ip route show
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.114
169.254.0.0/16 dev eth1  scope link  metric 1002
default via 192.168.1.1 dev eth1

Добавить новое правило маршрутизации – через IP-адрес:

# ip route add 192.168.2.0/24 via 192.168.1.1

Через интерфейс:

# ip route add 192.168.3.0/24 dev eth1

Отправлять пакеты в NULL:

# ip route add blackhole 192.168.4.0/24

Ещё раз просмотрим маршруты, с использованием сокращенного синтаксиса:

# ip r s
blackhole 192.168.4.0/24
192.168.3.0/24 dev eth1  scope link
192.168.2.0/24 via 192.168.1.1 dev eth1
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.114
169.254.0.0/16 dev eth1  scope link  metric 1002
default via 192.168.1.1 dev eth1

Удалить маршрут:

# ip route del 192.168.2.0/24

Задать новый шлюз по умолчанию:

# ip route add default via 192.168.1.1

Просмотреть ARP-кеш:

# ip neigh show
192.168.1.1 dev eth1 lladdr 58:6d:8f:ae:c3:c6 REACHABLE
192.168.1.136 dev eth1 lladdr 1c:6f:65:72:fb:df REACHABLE

Аналогично утилите arp:

# arp -ne
Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.1.1              ether   58:6d:8f:ae:c3:c6   C                     eth1
192.168.1.136            ether   1c:6f:65:72:fb:df   C                     eth1

Получение помощи в IPROUTE2 

Подсказка по всем опциям:

# ip help

Или только по addr:

# ip addr help

Другие возможности IPROUTE2 

Просмотреть статистику сетевых интерфейсов – опция -s link:

# ip -s l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast
    0          0        0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    0          0        0       0       0       0
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:bd:fa:d9 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    150131     1549     0       0       0       13
    TX: bytes  packets  errors  dropped carrier collsns
    212849     1115     0       0       0       0
3: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 08:00:27:c9:c7:fa brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    5640       49       0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    238        3        0       0       0       0

Мониторинг состояния узлов сети:

# ip monitor
192.168.1.136 dev eth1 lladdr 1c:6f:65:72:fb:df REACHABLE
192.168.1.136 dev eth1 lladdr 1c:6f:65:72:fb:df STALE
192.168.1.136 dev eth1 lladdr 1c:6f:65:72:fb:df REACHABLE

monitor может возвращать три состояния:

  • STALE – устройство недоступно;
  • DELAY – пакет был отправлен к устройству, ожидание ответа;
  • REACHABLE – устройство доступно.