маршрут — route add -p (маршрут сохраняется в настройках после перезагрузки
системы).
Покажем на примере, как можно использовать модификации таблицы маршрутиза-
ции. Предположим, что на Windows-компьютере имеются две сетевые карты, одна
из которых непосредственно подключена к Интернету (имеет реальный адрес), а
вторая используется для работы во внутренней сети (локальный адрес). Доступ
в Интернет осуществляется по умолчанию через шлюз в локальной сети. В этом
случае таблица маршрутизации, отображаемая по команде route print, выглядит
примерно так:
Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 192.168.0.4 192.168.0.29 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.0.0 255.255.255.0 192.168.0.29 192.168.0.29 1
192.168.0.29 255.255.255.255 127.0.0.1 127.0.0.1 1
192.168.0.255 255.255.255.255 192.168.0.29 192.168.0.29 1
195.161.192.0 255.255.255.224 195.161.192.2 195.161.192.2 1
195.161.192.2 255.255.255.255 127.0.0.1 127.0.0.1 1
195.161.192.255 255.255.255.255 195.161.192.2 195.161.192.2 1
224.0.0.0 240.0.0.0 192.168.0.29 192.168.0.29 1
224.0.0.0 240.0.0.0 195.161.192.2 195.161.192.2 1
255.255.255.255 255.255.255.255 192.168.0.29 192.168.0.29 1
255.255.255.255 255.255.255.255 195.161.192.2 195.161.192.2 1
Основной шлюз: 192.168.0.4
==================================
Постоянные маршруты: Отсутствует
Проверим путь прохождения пакетов на адрес Интернета, например 109.84.231.210,
с помощью команды tracert:
tracert 109.84.231.210 -d
82
Глава 3
Ключ -d в команде использован для ускорения операции, чтобы отключить запросы
DNS-имен тех хостов, через которые передается пакет данных.
В итоге получаем примерно такую картину (листинг ограничен первыми четырьмя
узлами):
Трассировка маршрута к 109.84.231.210 с максимальным числом прыжков 30
1 <1 мс <1 мс <1 мс 192.168.0.4
2 <1 мс <1 мс 1 ms 195.12.72.145
3 15 ms 1 ms 1 ms 195.12.75.245
4 40 ms 57 ms 41 ms 195.12.75.241
...
Предположим, что мы хотим изменить путь прохождения пакетов к выбранному
нами хосту, направив информацию через вторую сетевую карту (а не через шлюз
по умолчанию). Для этого с помощью команды route add нужно добавить желае-
мый нами маршрут:
route add 109.84.231.210 mask 255.255.255.255 195.161.192.2
В команде мы указали, что хотим назначить новый маршрут не для диапа-
зона адресов, а только для конкретного значения (поэтому маска —
255.255.255.255). Кроме того, явно указали адрес сетевого интерфейса, через кото-
рый нужно пересылать пакеты.
После выполнения данной команды (на экран система не выводит никаких итогов
операции) можно просмотреть новую таблицу маршрутизации:
Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
...
109.84.231.210 255.255.255.255 195.161.192.2 195.161.192.2 1
...
Основной шлюз: 192.168.0.4
==================================
Постоянные маршруты: Отсутствует
По сравнению с исходным вариантом таблица маршрутизации дополнилась одной
строкой, которая приведена в данном примере (остальные строки не изменились и
опущены для наглядности).
Проверяем новый путь прохождения сигналов:
Трассировка маршрута к 109.84.231.210 с максимальным числом прыжков 30
1 1 ms 1 ms 1 ms 195.161.192.1
2 23 ms 22 ms 23 ms 195.161.94.137
3 23 ms 23 ms 23 ms 195.161.94.5
...
Видно, что пакеты пересылаются уже через другой интерфейс.
Эти изменения маршрутизации действуют до перезагрузки системы или до подачи
обратной команды: удаления записей маршрутизации. Для восстановления пара-
Структура сети
83
метров маршрутизации достаточно подать команду, указав тот маршрут, который
требуется удалить:
route delete 109.84.231.210
Если подобные изменения необходимы постоянно, то следует использовать запуск
команды с ключом -p, после чего добавленный маршрут будет отображен также
в строке Постоянные маршруты. При этом обычно можно не указывать параметры
маски и интерфейса (если они однозначно определяются по вводимому в команде
адресу).
ПРИМЕЧАНИЕ
На практике автор встречался с ситуациями, когда изменение параметров маршрути-
зации в операционной системе Windows не сразу "отрабатывалось" корректно. Иногда
после операций над таблицей маршрутизации для достижения успеха нужно было
программно отключить и вновь включить тот сетевой интерфейс, для которого выпол-
нялась настройка.
Понимание правил маршрутизации важно не только при построении маршрутов в
Интернете, — задаче, которую вряд ли придется решать администраторам сетей