Русская Википедия:Iproute2

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Заголовок со строчной буквы Шаблон:Карточка программы

iproute2 — это набор утилит для управления параметрами сетевых устройств в ядре Linux. Эти утилиты были разработаны в качестве унифицированного интерфейса к ядру Linux, которое непосредственно управляет сетевым трафиком.

Основные сведения

iproute2 заменил полный набор классических сетевых утилит UNIX, которые ранее использовались для настройки сетевых интерфейсов, таблиц маршрутизации и управления arp‐таблицами: ifconfig, route, arp, netstat и других, предназначенных для создания IP‐туннелей. iproute2 предлагает унифицированный синтаксис для управления самыми разными аспектами сетевых интерфейсов. Этот синтаксис во многом проще и логичнее, чем синтаксис наследованных *nix утилит, и подобен синтаксису операционной системы Cisco IOS.

Набор утилит включает в себя три основные программы:

  • ip — утилита для просмотра параметров и конфигурирования сетевых интерфейсов, сетевых адресов, таблиц маршрутизации, правил маршрутизации, arp‐таблиц, IP‐туннелей, адресов multicast рассылки, маршрутизацией multicast пакетов.
  • tc — утилита для просмотра и конфигурирования параметров управления трафиком (tc — аббревиатура от traffic control). Позволяет управлять классификацией трафика, дисциплинами управления очередями для различных классов трафика либо целиком для сетевого интерфейса (корневые дисциплины), что, в свою очередь, позволяет реализовать QoS в нужном для системы объёме:
    • разделение разных типов трафика по классам (не только по битам ToS в IP‐пакете, но и по другим данным из заголовка IP‐пакета)
    • назначение разных дисциплин обработки очередей трафика с разным приоритетом, механизмами прохождения очереди, ограничениями по скорости и т. п.
  • ss — утилита для просмотра текущих соединений и открытых портов. Аналог традиционной утилиты netstat.

Автором iproute2 является Алексей Кузнецов (Alexey Kuznetsov). Он разработал этот пакет, когда занимался расширением сетевых возможностей ядра Linux.

Утилита ip

Шаблон:Main

ip — утилита командной строки из пакета iproute2 для систем Linux. Она позволяет выполнять настройку сетевой подсистемы и является заменой таких утилит как: ifconfig, route, arp. В следующей таблице показаны предлагаемые замены.

Соответствие утилит из устаревшего пакета net-tools утилитам пакета iproute2
Устаревшая утилита Заменена на Описание
ifconfig ip addrip link Настройка сетевого адреса, включение и выключение интерфейса
route ip route Управление таблицами маршрутизации
arp ip neigh Управление ARP-кэшем
iptunnel ip tunnel Настройка тоннелей
nameif ifrename Переименование сетевого интерфейса
ipmaddr ip maddr Настройка мультикаст-групп рассылки
netstat ip -sssip route Отображение различной сетевой статистики

Для выполнения какой-либо операции после основной команды ip, указывается «объект» и команда (возможно с аргументами), которая должна быть выполнена для этого объекта.

В качестве «объектов» можно указывать следующие значения: link, addr (адреса сетевых интерфейсов), route (маршруты), rule (правила), neigh, ntable, tunnel (тоннели), maddr, mroute, monitor, xfrm. Вместо полного имени объекта можно указывать только первые буквы, если это не вызывает неоднозначность.

Можно указать команду help, для вывода подсказки. Если не указывать объект, но указать команду help, то выводится справка о программе. Если указать объект без команды, то выполняется команда show — распечатывается список объектов указанного типа.

Шаблон:Начало скрытого блока

Команда Комментарий
ip help Вывод общей справки
ip a h
Usage: ip addr {add|change|replace} IFADDR dev STRING [ LIFETIME ]
                                                      [ CONFFLAG-LIST]
       ip addr del IFADDR dev STRING
       ip addr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]
                            [ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ]
IFADDR := PREFIX | ADDR peer PREFIX
          [ broadcast ADDR ] [ anycast ADDR ]
          [ label STRING ] [ scope SCOPE-ID ]
SCOPE-ID := [ host | link | global | NUMBER ]
FLAG-LIST := [ FLAG-LIST ] FLAG
FLAG  := [ permanent | dynamic | secondary | primary |
           tentative | deprecated | CONFFLAG-LIST ]
CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG
CONFFLAG  := [ home | nodad ]
LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ]
LFT := forever | SECONDS
Распечатка подсказки — команд и их аргументов для объекта addr.
Заметьте, что вместо слов addr и help указаны сокращения.
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 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 qlen 1000
    link/ether 00:16:17:eb:a9:da brd ff:ff:ff:ff:ff:ff
    inet 172.22.2.1/16 brd 172.22.255.255 scope global eth1
    inet6 fe80::216:17ff:feeb:a9da/64 scope link
       valid_lft forever preferred_lft forever
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:16:17:eb:d3:20 brd ff:ff:ff:ff:ff:ff
    inet 10.19.121.211/22 brd 10.19.123.255 scope global eth2
    inet6 fe80::216:17ff:feeb:d320/64 scope link
       valid_lft forever preferred_lft forever
5: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast qlen 3
    link/ppp
    inet 89.37.48.117 peer 81.9.101.117/32 scope global ppp0
Распечатка всех (физических и виртуальных интерфейсов). Для сравнения приводится информацией, выводимая командой ifconfig -a
eth1      Link encap:Ethernet  HWaddr 00:16:17:EB:A9:DA
          inet addr:172.22.2.1  Bcast:172.22.255.255  Mask:255.255.0.0
          inet6 addr: fe80::216:17ff:feeb:a9da/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13444859 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7073798 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2540456241 (2422.7 Mb)  TX bytes:916670636 (874.2 Mb)
          Interrupt:16 Base address:0x2000

eth2      Link encap:Ethernet  HWaddr 00:16:17:EB:D3:20
          inet addr:10.19.121.211  Bcast:10.19.123.255  Mask:255.255.252.0
          inet6 addr: fe80::216:17ff:feeb:d320/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:266115675 errors:0 dropped:0 overruns:0 frame:0
          TX packets:409606457 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:294857473 (281.1 Mb)  TX bytes:109522306 (104.4 Mb)
          Interrupt:17 Base address:0x4000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:3480203 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3480203 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1531400801 (1460.4 Mb)  TX bytes:1531400801 (1460.4 Mb)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:89.37.48.117  P-t-P:81.9.101.117  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:46940444 errors:0 dropped:0 overruns:0 frame:0
          TX packets:66480329 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:3859205550 (3680.4 Mb)  TX bytes:1343026828 (1280.8 Mb)
ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:16:d4:b3:68:de brd ff:ff:ff:ff:ff:ff
Вывод информации об интерфейсах. Напоминает данные, выводимые об адресах, но намного короче, так как указываются только физические адреса интерфейсов и не выводятся логические IP/IPv6.
ip rou
81.9.101.117 dev ppp0  proto kernel  scope link  src 89.37.48.117
10.19.120.0/22 dev eth2  proto kernel  scope link  src 10.19.121.211
172.22.0.0/16 dev eth1  proto kernel  scope link  src 172.22.2.1
127.0.0.0/8 dev lo  scope link
default via 81.9.101.117 dev ppp0
Список сетевых маршрутов.
ip ro flush cache Очистка кэша маршрутов.
ip ro add 81.9.100.12 via 89.37.48.117 dev ppp0 Добавление нового маршрута.
ip ru
0:      from all lookup local
32764:  from 192.168.72.115 lookup co-tbl
32765:  from 89.37.48.117 lookup zet-tbl
32766:  from all lookup main
32767:  from all lookup default
Распечатка правил маршрутизации. Заметьте что в данном случае используются несколько таблиц маршрутизации.
ip t

tunl0: ip/ip remote any local any ttl inherit nopmtudisc
gre0: gre/ip remote any local any ttl inherit nopmtudisc
sit0: ipv6/ip remote any local any ttl 64 nopmtudisc

Распечатка списка тоннелей.

Шаблон:Конец скрытого блока

Примечания

Шаблон:Примечания

См. также

Ссылки

Шаблон:Rq Шаблон:Команды Unix