Сегодня речь пойдёт о настройке сетевых маршрутов в Windows командой ROUTE. Маршрутизация в сети нужна для того, чтобы устройства могли найти друг друга. Работает это так: мы задаём адрес назначения (destination) и шлюз (gateway), через который пакетам нужно пройти, чтобы достичь адреса назначения.
Команда route в Windows это весьма удобный инструмент для просмотра, добавления, редактирования и удаления сетевых маршрутов. Синтаксис команды выглядит следующим образом:
ROUTE [-f] [-p] [-4|-6] command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]
-f — очистка таблиц маршрутов от записей всех шлюзов. При указании одной из команд таблицы очищаются до выполнения команды;
-p — при использовании с командой ADD задаёт сохранение маршрута при перезагрузке системы. По умолчанию маршруты при перезагрузке не сохраняются. В Windows 95 не поддерживается;
-4 — обязательное использование протокола IPv4;
-6 — обязательное использование протокола IPv6;
command — одна из следующих команд:
- PRINT — печать маршрута;
- ADD — добавление маршрута;
- CHANGE — редактирование маршрута;
- DELETE — удаление маршрута;
destination — адресуемый узел;
MASK — указывает, что следующий параметр интерпретируется как маска подсети;
netmask — значение маски подсети для данного маршрута. Если параметр не задан, то используется значение по умолчанию — 255.255.255.255;
gateway — шлюз;
METRIC — указывает, что следующий параметр интерпретируется как метрика. Предназначение метрики — оптимизировать доставку пакета, если конечная точка доступна по нескольким маршрутам. Метрика представляет собой число. Чем меньше значение метрики, тем выше приоритет узла при построении маршрута;
metric — значение метрики;
IF — указание, что следующий параметр интерпретируется как сетевой интерфейс;
interface — номер интерфейса для указанного маршрута.
Рассмотрим применений команды route.
Отобразить текущую таблицу маршрутов:
route print
Отобразить таблицу маршрутов только для IPv6:
route print -6
Отобразить таблицу маршрутов только для узлов, адрес которых начинается с 10:
route print 10*
Немного о том, как читать вывод команды route print.
Список интерфейсов показывает идентификаторы, MAC-адреса и наименования сетевых адаптеров.
Далее идут таблицы маршрутов. Они содержат столбцы сетевой адрес, маска сети, адрес шлюза, интерфейс и метрика.
Сетевой адрес это и есть адрес конечной точки маршрута (адрес назначения). С назначением столбца маска сети всё должно быть понятно по названию. Адрес шлюза относится к тому шлюзу, через который пойдёт пакет, чтобы достигнуть адреса назначения. Если написано On-link, то значит, что шлюз не используется по той причине, что адрес назначения достижим напрямую без маршрутизации. Интерфейс — адрес сетевого интерфейса, через который будет выполняться отправка пакета. Метрика — значение метрики, которая задаёт приоритет маршрутов. Чем меньше значение, тем выше приоритет.
Теперь рассмотрим управление маршрутами при помощи route.
Установить в качестве шлюза по умолчанию (основного шлюза) адрес 192.168.1.1:
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1
Добавить маршрут для узла 10.10.10.10:
route add 10.10.10.10 192.168.1.15
Так как маска не указана, то подразумевается значение 255.255.255.255.
То же самое, но добавление в качестве постоянного маршрута, который сохранится после перезагрузки:
route -p add 10.10.10.10 192.168.1.15
Такой маршрут будет записан в реестр Windows (ветка HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes).
Удалить маршрут для узла 10.10.10.10:
route delete 10.10.10.10
Изменить адрес шлюза для узла 10.20.20.20:
route change 10.20.20.20 192.168.1.10
change можно использовать для изменения только шлюза и метрики.
Очистить таблицу маршрутов:
route -f
При очистке таблицы маршрутов удаляются все маршруты, которые удовлетворяют следующим условиям:
- Не относятся к петлевому интерфейсу (интерфейсу с IP 127.0.0.1 и маской -255.0.0.0);
- Не являются маршрутами для многоадресной (multicast) рассылки (IP 224.0.0.1, маска 255.0.0.0);
- Не являются узловыми маршрутами (когда маска равна 255.255.255.255).
При обработке таблицы маршрутов, статические маршруты имеют более высокий приоритет по сравнению с маршрутами, используемыми по умолчанию.
Статьи по теме: