19.3. Расширенные средства маршрутизации. Комплекс iproute2
19.3.1. Пакет iproute2
Начиная с версии ядра 2.2, сетевая подсистема Linux была значительно переработана, в нее было добавлено много новых возможностей — управление трафиком, маршрутизация на основе правил и т.п. Доступ к этим возможностям предоставляется пакетом iproute2, входящим в состав большинства современных дистрибутивов.
В случае необходимости можно скачать этот пакет с сайта ftp://ftp.inr.ас.ru./ip- routing
.
19.3.2. Утилита ip
Утилита ip, входящая в состав пакета iproute2, объединяет в себе все возможности команд ifconfig, arp и route. Формат ее вызова такой:
ip [ключи] объект [команда [аргументы команды]]
Ключи можно указывать следующие:
♦ -s — вывод статистической информации;
♦ -f — выбор протокола:
• -f inet — протокол IPv4;
• -f inet6 — протокол IPv6;
• -f link — сетевое устройство;
♦ -r — разрешать IP-адреса в имена узлов;
♦ -V — печать версии программы.
Аргумент Объект позволяет выбрать объект, с которым будем работать:
♦ адрес — IPv4 или IPv6 адрес устройства;
♦ link — устройство;
♦ neighbour — ARP-адрес;
♦ route — маршрутизация;
♦ rule — база данных правил маршрутизации;
♦ madress — широковещательный адрес;
♦ tunnel — туннель через IP.
Аргумент Команда описывает действие над Объектом:
♦ ip link — конфигурация сетевого устройства;
♦ ip link set — изменение параметров сетевого устройства;
♦ ip link show — просмотр параметров сетевого устройства.
При изменении параметров сетевого устройства вы можете задать следующие аргументы:
♦ up — включить;
♦ down — выключить;
♦ arp on или arp off — изменение флага NOARP на устройстве;
♦ dynamic on или dynamic off — изменяет флаг DYNAMIC на устройстве;
♦ multicast on или multicast off — изменяет флаг MULTICAST на устройстве;
♦ name — изменяет имя устройства;
♦ mtu <Число> — изменяет значение MTU на устройстве;
♦ address <Адрес> — изменяет адрес на устройстве;
♦ broadcast <Адрес> — изменяет широковещательный адрес на устройстве.
19.3.3. Просмотр параметров сетевого устройства
Команду ip link show лучше всего рассматривать на примерах. Для получения информации о состоянии устройства eth0
введите команду:
# ip link ls dev eth0
eth0: mtu 1500 qdisc cbq qlen 100
link/ether 00:44:67:91:31:1d brd ff:ff:ff:ff:ff:ff
Получить статистику устройства eth0
можно командой:
#ip -s link ls dev eth0
2: eth0: mtu 1500 qdisc cbq qlen 100
link/ether 00:44:67:91:31 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
xxxxxxxx xxxxxx 0 0 0 0
TX: bytes packets errors dropped carrier collsns
xxxxxxxx xxxxxx 0 0 0 132934
Вместо xxxxxxxx xxxxxx вы увидите количество принятых(RX)/переданных(TX) байтов и пакетов.
19.3.4. Операции над адресами: команда ip address
Команда ip address управляет адресами на устройстве. Объект для нее — это IPv4 или IPv6 адрес. Эта команда показывает адреса и их свойства, а также добавляет новые адреса.
Чтобы добавить адрес 192.168.0.1/24 с маской подсети 255.255.255.0 со стандартным широковещательным адресом и именем eth0:Alias, введите команду
# ip addr add 192.168.0.1/24 brd + dev eth0 label eth0:Alias
Используются еще следующие варианты команды:
ip address delete предназначена для удаления адресов. Для удаления адреса 192.168.0.1/24 с устройства eth0 введите команду ip addr del 192.168.0.1/24 dev eth0
.
ip address show выводит информацию об адресе.
19.3.5. Управление таблицей маршрутизации
Команда ip route управляет таблицей маршрутизации:
ip route add — добавить новый маршрут;
ip route change — изменить маршрут;
ip route replace — заменить маршрут.