Таблица IP-маршрутизации
17.12.2019
Теги: Linux • Windows • Команда • ЛокальнаяСеть • Таблица
Таблица маршрутизации — таблица, состоящая из сетевых маршрутов и предназначенная для определения наилучшего пути передачи сетевого пакета. Каждая запись в таблице маршрутизации состоит, как правило, из таких полей:
- адрес сети или узла назначения, либо указание, что маршрут является маршрутом по умолчанию
- маску сети назначения (маска 255.255.255.255 позволяет указать единичный узел сети)
- шлюз, обозначающий адрес маршрутизатора в сети, на который необходимо отправить пакет, следующий до указанного адреса
- интерфейс, через который доступен шлюз (это может быть порядковый номер, GUID или символьное имя устройства)
- метрику — числовой показатель, задающий предпочтительность маршрута; чем меньше, тем предпочтительнее маршрут
Шлюз по умолчанию (default gateway) — адрес маршрутизатора, на который отправляется трафик, для которого невозможно определить маршрут, исходя из таблиц маршрутизации. Шлюз по умолчанию задаётся записью в таблице маршрутизации вида «сеть 0.0.0.0 с маской сети 0.0.0.0».
Просмотр маршрутов в Windows
Команда route
выводит на экран все содержимое таблицы IP-маршрутизации и позволяет изменять записи. Запущенная без параметров, команда route выводит справку:
> route Обработка таблиц сетевых маршрутов. ROUTE [-f] [-p] [-4|-6] <команда> [<назначение>] [MASK <маска_сети>] [<шлюз>] [METRIC <метрика>] [IF <интерфейс>] -f Очистка таблиц маршрутов от всех записей шлюзов. При указании одной из команд таблицы очищаются до выполнения команды. -p При использовании с командой ADD маршрут сохраняется после перезагрузок системы. По умолчанию маршруты не сохраняются при перезагрузке. Пропускается для остальных команд, всегда изменяющих соответствующие постоянные маршруты. -4 Принудительное использование протокола IPv4. -6 Принудительное использование протокола IPv6. <команда> Одна из следующих команд: PRINT Печать маршрута ADD Добавление маршрута DELETE Удаление маршрута CHANGE Изменение существующего маршрута <назначение> Задает узел. MASK Далее следует значение параметра "маска_сети". <маска_сети> Значение маски подсети для записи данного маршрута. Если этот параметр не задан, по умолчанию используется значение 255.255.255.255. <шлюз> Шлюз. <интерфейс> Номер интерфейса для указанного маршрута. METRIC Определение метрики, т. е. затрат для узла назначения. Проводится поиск всех символических имен узлов в файле сетевой базы данных NETWORKS. Проводится поиск символических имен шлюзов в файле базы данных имен узлов HOSTS. Для команд PRINT и DELETE можно указать узел или шлюз с помощью подстановочного знака либо опустить параметр "шлюз". Если узел содержит подстановочный знак "*" или "?", он используется в качестве шаблона и печатаются только соответствующие ему маршруты. Знак "*" соответствует любой строке, а "?" - любому знаку. Примеры: 157.*.1, 157.*, 127.*, *224*. Соответствие шаблону поддерживает только команда PRINT. Диагностические сообщения: Недопустимое значение MASK вызывает ошибку, если (УЗЕЛ МАСКА) != УЗЕЛ. Например> route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1 Добавление маршрута завершится ошибкой, так как указан недопустимый параметр маски. (Узел & Маска) != Узел. Примеры: > route PRINT > route PRINT -4 > route PRINT -6 > route PRINT 157* .... Печать только узлов, начинающихся со 157 > route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2 узел^ ^маска ^шлюз метрика^ ^ интерфейс^ Если IF не задан, то производится попытка найти лучший интерфейс для указанного шлюза. > route ADD 3ffe::/32 3ffe::1 > route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2 Параметр CHANGE используется только для изменения шлюза или метрики. > route DELETE 157.0.0.0 > route DELETE 3ffe::/32
Просмотр таблицы маршрутизации:
> route print =========================================================================== Список интерфейсов 21...0a 00 27 00 00 15 ......VirtualBox Host-Only Ethernet Adapter 5...0a 00 27 00 00 05 ......VirtualBox Host-Only Ethernet Adapter #2 20...1c 1b 0d e6 14 bd ......Realtek PCIe GbE Family Controller 1...........................Software Loopback Interface 1 =========================================================================== IPv4 таблица маршрута =========================================================================== Активные маршруты: Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика 0.0.0.0 0.0.0.0 192.168.110.1 192.168.110.2 35 127.0.0.0 255.0.0.0 On-link 127.0.0.1 331 127.0.0.1 255.255.255.255 On-link 127.0.0.1 331 127.255.255.255 255.255.255.255 On-link 127.0.0.1 331 172.28.128.0 255.255.255.0 On-link 172.28.128.1 281 172.28.128.1 255.255.255.255 On-link 172.28.128.1 281 172.28.128.255 255.255.255.255 On-link 172.28.128.1 281 192.168.53.0 255.255.255.0 On-link 192.168.53.1 281 192.168.53.1 255.255.255.255 On-link 192.168.53.1 281 192.168.53.255 255.255.255.255 On-link 192.168.53.1 281 192.168.110.0 255.255.255.0 On-link 192.168.110.2 291 192.168.110.2 255.255.255.255 On-link 192.168.110.2 291 192.168.110.255 255.255.255.255 On-link 192.168.110.2 291 224.0.0.0 240.0.0.0 On-link 127.0.0.1 331 224.0.0.0 240.0.0.0 On-link 172.28.128.1 281 224.0.0.0 240.0.0.0 On-link 192.168.53.1 281 224.0.0.0 240.0.0.0 On-link 192.168.110.2 291 255.255.255.255 255.255.255.255 On-link 127.0.0.1 331 255.255.255.255 255.255.255.255 On-link 172.28.128.1 281 255.255.255.255 255.255.255.255 On-link 192.168.53.1 281 255.255.255.255 255.255.255.255 On-link 192.168.110.2 291 =========================================================================== Постоянные маршруты: Отсутствует IPv6 таблица маршрута =========================================================================== Активные маршруты: Метрика Сетевой адрес Шлюз 1 331 ::1/128 On-link 20 291 fe80::/64 On-link 5 281 fe80::/64 On-link 21 281 fe80::/64 On-link 21 281 fe80::14e:9612:aea9:b378/128 On-link 5 281 fe80::61bb:3768:1294:4dc0/128 On-link 20 291 fe80::a872:bd46:b87d:7fac/128 On-link 1 331 ff00::/8 On-link 21 281 ff00::/8 On-link 5 281 ff00::/8 On-link 20 291 ff00::/8 On-link =========================================================================== Постоянные маршруты: Отсутствует
Команда tracert
предоставляет возможность определить маршрут, по которому проходит пакет до заданного узла:
> tracert ya.ru Трассировка маршрута к ya.ru [87.250.250.242] с максимальным числом прыжков 30: 1 <1 мс <1 мс <1 мс 192.168.110.1 2 1 ms <1 мс <1 мс 78.107.125.69 3 1 ms 1 ms 1 ms stpert-bng1-local.msk.corbina.net [85.21.0.172] 4 1 ms 1 ms 1 ms 10.2.254.10 5 3 ms 3 ms 3 ms korova-bb-be5.corbina.net [195.14.54.195] 6 2 ms 2 ms 2 ms 85.21.224.96 7 2 ms 2 ms 2 ms 85.21.224.54 8 3 ms 2 ms 3 ms m9-br-be1.corbina.net [195.14.54.79] 9 7 ms 7 ms 12 ms corbina-gw.dante.yandex.net [83.102.145.178] 10 5 ms 4 ms 4 ms ya.ru [87.250.250.242] Трассировка завершена.
Просмотр маршрутов в Linux
Команда route
выводит на экран все содержимое таблицы IP-маршрутизации и позволяет изменять записи.
$ $ route --help Использование: route [-nNvee] [-FC] [<AF>] Отобразить таблицу маршрутизации ядра route [-v] [-FC] {add|del|flush} ... Изменить таблицу маршрутизации для AF. route {-h|--help} [<AF>] Детальное описание использование указанной AF. route {-V|--version} Отобразить версию/автора и выйти. -v, --verbose более детальный вывод -n, --numeric не преобразовывать адреса в имена -e, --extend отображать другую/больше информации -F, -fib отобразить информацию форвардинга базы (по умолчанию) -C, --cache отобразить кэш маршрутизации вместо FIB <AF>=Use -4, -6, '-A <af>' or '--<af>'; default: inet Список возможный адресных семейств (которые поддерживают маршрутизацию): inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25) netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP) x25 (CCITT X.25)
Просмотр таблицы маршрутизации:
$ route Таблица маршрутизации ядра протокола IP Destination Gateway Genmask Flags Metric Ref Use Iface default _gateway 0.0.0.0 UG 100 0 0 enp0s3 link-local 0.0.0.0 255.255.0.0 U 1000 0 0 enp0s3 192.168.110.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s3
$ route -n Таблица маршрутизации ядра протокола IP Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.110.1 0.0.0.0 UG 100 0 0 enp0s3 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 enp0s3 192.168.110.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s3
Утилита traceroute
предоставляет возможность определить маршрут, по которому проходит пакет до заданного узла:
$ sudo apt install traceroute
$ traceroute ya.ru traceroute to ya.ru (87.250.250.242), 30 hops max, 60 byte packets 1 _gateway (192.168.110.1) 0.697 ms 0.607 ms 0.584 ms 2 78.107.125.69 (78.107.125.69) 2.050 ms 1.967 ms 1.777 ms 3 stpert-bng1-local.msk.corbina.net (85.21.0.172) 1.679 ms 1.605 ms 1.499 ms 4 10.2.254.10 (10.2.254.10) 2.215 ms 2.180 ms 2.167 ms 5 korova-bb-be5.corbina.net (195.14.54.195) 3.577 ms 3.544 ms 3.824 ms 6 85.21.224.96 (85.21.224.96) 2.645 ms 2.208 ms 2.149 ms 7 m9-crs-be13.corbina.net (85.21.224.54) 3.762 ms 3.207 ms 3.794 ms 8 m9-br-be3.corbina.net (195.14.62.85) 3.716 ms 3.639 ms m9-br-be1.corbina.net (195.14.54.79) 3.559 ms 9 corbina-gw.dante.yandex.net (83.102.145.178) 6.750 ms 11.716 ms 16.226 ms 10 ya.ru (87.250.250.242) 5.330 ms 8.678 ms 8.628 ms
Поиск: Linux • Windows • Локальная сеть • route • Маска сети • Шлюз • Маршрут • Таблица • Адрес • Команда