4.4. Работа с Таблицами маршрутизации
Для определения выходного интерфейса при отправке или промежуточной маршрутизации пакета используются таблицы маршрутизации. На одном устройстве может быть несколько таблиц.
Встроенных по умолчанию таблиц две:
С помощью специальных команд возможно создать любое количество дополнительных таблиц.
4.4.1. Просмотр таблиц маршрутизации
Посмотреть таблицу маршрутизации можно с помощью команды просмотра таблиц маршрутизации :new: ip route (ip route list). Для просмотра конкретной таблицы используется команда ip route list table <table-name>. Для просмотра всех таблиц используется table-name=all.
С помощью команд просмотра таблиц маршрутизации на PC2 выведите базовую информацию таблиц маршрутизации, две основные таблицы маршрутизации (main и local) и все таблицы маршрутизации.
[root@PC2 ~]# ip route
10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.2
[root@PC2 ~]# ip route list table main
10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.2
[root@PC2 ~]# ip route list table local
local 10.0.12.2 dev eth1 proto kernel scope host src 10.0.12.2
broadcast 10.0.12.255 dev eth1 proto kernel scope link src 10.0.12.2
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
[root@PC2 ~]# ip route list table all
10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.2
local 10.0.12.2 dev eth1 table local proto kernel scope host src 10.0.12.2
broadcast 10.0.12.255 dev eth1 table local proto kernel scope link src 10.0.12.2
local 127.0.0.0/8 dev lo table local proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo table local proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo table local proto kernel scope link src 127.0.0.1
[root@PC2 ~]#
Без данных в таблице маршрутизации пакеты не будут передаваться.
С помощью команды управления таблицами маршрутизации на PC1 посмотрите на базовые данные таблиц, затем удалите информацию о маршруте в установленную сеть и вновь посмотрите данные.
[root@PC1 ~]# ip route
10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.1
[root@PC1 ~]# ip route del dev eth1 10.0.12.0/24
[root@PC1 ~]# ip route
С помощью команды
ping -c3 <dstIP> отправьте три ICMP‑пакета с PC1 на PC2.
[root@PC1 ~]# ping -c3 10.0.12.2
ping: connect: Network is unreachable
[root@PC1 ~]#
Ошибка формата ping: connect: Network is unreachable обозначает невозможность маршрутизировать пакет на источнике. Добавление адреса обратно возвращает работоспособность сети.
С помощью команды управления таблицами маршрутизации на PC1 добавьте информацию о маршруте в установленную сеть, а затем посмотрите базовые данные таблиц маршрутизации.
[root@PC1 ~]# ip route add dev eth1 10.0.12.0/24
[root@PC1 ~]# ip route
10.0.12.0/24 dev eth1 scope link
[root@PC1 ~]#
С помощью команды
ping -c3 <dstIP> повторно отправьте три ICMP‑пакета с PC1 на PC2.
[root@PC1 ~]# ping -c3 10.0.12.2
PING 10.0.12.2 (10.0.12.2) 56(84) bytes of data.
64 bytes from 10.0.12.2: icmp_seq=1 ttl=64 time=0.582 ms
64 bytes from 10.0.12.2: icmp_seq=2 ttl=64 time=0.549 ms
64 bytes from 10.0.12.2: icmp_seq=3 ttl=64 time=0.488 ms
--- 10.0.12.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2067ms
rtt min/avg/max/mdev = 0.488/0.539/0.582/0.038 ms
[root@PC1 ~]#