Организация может иметь несколько точек подключения к Интернету (например, в целях резервирования каналов передачи данных или использования более дешевых каналов и т. п.) или содержать в своей структуре несколько IP-сетей. В этом случае, чтобы система "знала", каким путем (через какой шлюз) посылать ту или иную информацию, используются таблицы маршрутизации (routing table). В таблицах маршрутизации для каждого шлюза указывают те подсети Интернета, для которых через них должна передаваться информация. При этом для нескольких шлюзов можно задать одинаковые диапазоны назначения, но с разной стоимостью передачи данных: информация будет отсылаться по каналу, имеющему самую низкую стоимость, а в случае его выхода из строя по тем или иным причинам автоматически будет использоваться следующее наиболее "дешевое" подсоединение.

Таблицы маршрутизации имеются на каждом устройстве, использующем протокол IP. Администраторы в основном работают с таблицами маршрутизации коммутирующего оборудования. Настройка таблиц маршрутизации компьютеров имеет смысл только в случае наличия нескольких сетевых адаптеров, подключенных к различным сегментам сети. Если у компьютера есть только одна сетевая карта (одно подключение к Интернету), таблица маршрутизации имеет наиболее простой вид: в ней записано, что все сигналы должны отправляться на шлюз, назначенный по умолчанию (default gateway).

Просмотреть таблицу маршрутизации протокола TCP/IP можно при помощи команды route print для Windows или route - в Linux. С помощью команды route можно также добавить новый статический маршрут (route add) или постоянный маршрут - 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

Ключ -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

Видно, что пакеты пересылаются уже через другой интерфейс.

Эти изменения маршрутизации действуют до перезагрузки системы или до подачи обратной команды: удаления записей маршрутизации. Для восстановления пара метров маршрутизации достаточно подать команду, указав тот маршрут, который требуется удалить:

route delete 109.84.231.210

Если подобные изменения необходимы постоянно, то следует использовать запуск команды с ключом -p, после чего добавленный маршрут будет отображен также в строке Постоянные маршруты. При этом обычно можно не указывать параметры маски и интерфейса (если они однозначно определяются по вводимому в команде адресу).

Примечание На практике автор встречался с ситуациями, когда изменение параметров маршрутизации в операционной системе Windows не сразу "отрабатывалось" корректно. Иногда после операций над таблицей маршрутизации для достижения успеха нужно было программно отключить и вновь включить тот сетевой интерфейс, для которого выполнялась настройка.

Понимание правил маршрутизации важно не только при построении маршрутов в Интернете, - задаче, которую вряд ли придется решать администраторам сетей некрупных предприятий. На практике для выделения обособленных участков локальной сети (например, по соображениям безопасности) достаточно широко используются виртуальные сети. А для того чтобы обеспечить доступ в такие сети, администраторы должны уметь написать правильную таблицу маршрутизации для соответствующей VLAN или создать список доступа - ACL (access control list), в котором правила записываются аналогично правилам маршрутизации.

Шлюз (gateway, default gateway) | Самоучитель системного администратора | Автоматическое присвоение параметров ip-протокола


Самоучитель системного администратора



Новости за месяц

  • Август
    2020
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31