IP-маршрутизация в операционной системе Windows

advertisement
Фильчагин А.Ю.
IP-маршрутизация в операционной системе
Windows
Учебное пособие
IP-маршрутизация в операционной системе Windows
1. Общие сведения
IP-маршрутизация – это процесс продвижения IP-трафика соответствующему адресату в
составной IP-сети с произвольной топологией, т.е. это процесс продвижения пакетов от хостаисточника к хосту-адресату через ряд промежуточных маршрутизаторов. Для упрощения
процесса продвижения хост-источник и каждый маршрутизатор принимают решение о
продвижении на основе содержимого своих локальных таблиц IP-маршрутизации. Записи
таблицы IP-маршрутизации создаются тремя основными источниками:
 программным обеспечением стека TCP/IP (это записи о непосредственно подключенных
сетях и основных шлюзах, информация о которых вводится при ручной настройке сетевых
подключений компьютера, а также записи о некоторых адресах особого назначения,
которые будут рассмотрены ниже на конкретном примере);
 администратором путем конфигурирования статических маршрутов;
 протоколами маршрутизации, например протоколом передачи маршрутной информации
(RIP; Routing Information Protocol).
Существуют два типа IP-маршрутизации – прямая и косвенная:
 Прямая маршрутизация. Если хост-источник и хост назначения находятся в одной
физической сети, то IP-пакет может быть послан непосредственно путем упаковки в кадр
физической сети. Это называется прямой доставкой, или прямой маршрутизацией.
 Косвенная маршрутизация. Такая маршрутизация выполняется тогда, когда хост
назначения не находится в сети, непосредственно подключенной к хосту-источнику.
Единственный способ достичь адресата – передать пакет через один или более IPмаршрутизаторов. Адрес первого из этих маршрутизаторов (адрес первого перехода)
называется косвенным маршрутом. Адрес первого маршрутизатора – это единственная
информация, необходимая хосту-источнику.
Иногда одна сеть делится на несколько подсетей. Если хост назначения и хост-источник
относятся к одной сети, но расположены в разных подсетях, то используется косвенная
маршрутизация. При этом трафик между подсетями должен продвигаться маршрутизатором.
Таблица маршрутизации – это база данных маршрутов, хранящаяся в памяти всех IP-узлов.
Каждая запись, или маршрут, в таблице маршрутизации содержит информацию о продвижении
для некоторой области IP-адресов назначения. Цель таблицы IP-маршрутизации – предоставить
для IP-адреса назначения каждого продвигаемого пакета информацию об интерфейсе
следующего перехода и IP-адресе следующего перехода:
 Интерфейс следующего перехода – это адрес интерфейса, через который должен быть
послан IP-пакет.
 IP-адрес следующего перехода – это IP-адрес узла, которому должен быть направлен IPпакет. Для прямой доставки IP-адрес следующего перехода является IP-адресом назначения
передаваемого IP-пакета. Для косвенной доставки IP-адрес следующего перехода – это IPадрес непосредственно достижимого промежуточного маршрутизатора, которому должен
быть направлен IP-пакет.
Каждая запись в таблице IP-маршрутизации содержит достаточно информации для
идентификации соответствующего адресата, интерфейса следующего перехода и IP-адреса
следующего перехода, а также для выбора наилучшего маршрута при наличии нескольких
маршрутов к одному адресату.
1
2. Описание лабораторной сети
Ниже на примере лабораторной сети, показанной на рис. 1, рассматриваются таблицы
маршрутизации программных маршрутизаторов операционной системы Windows (раздел 3),
настройка компьютеров этой сети для обеспечения связи между ними с использованием
статической маршрутизации (раздел 4), маршрутизации по умолчанию (раздел 5) и
динамической маршрутизации (раздел 6), а также создание фильтров для фильтрации трафика
по IP-адресам и портам (протоколам) (раздел 7).
Сеть 3 (192.168.15.0)
192.168.15.75
(“Сеть 3”)
Сеть 2 (192.168.0.0)
192.168.0.1
192.168.0.3
(“Сеть 2”)
(“Сеть 2”)
Узел
Over-Server
Сеть 1 (192.168.10.0)
192.168.10.1
192.168.10.4
(“Сеть 1”)
(“Сеть 1”)
Узел
Under-Server
Узел
Notebook
Рис. 1. Лабораторная сеть
Лабораторная сеть содержит три компьютера (узла) со следующими именами: Over-Server,
Under-Server и Notebook. Компьютеры Over-Server и Under-Server работают под управлением
операционной системы Windows 2000 Server русской версии, а компьютер Notebook – под
управлением операционной системы Windows XP английской версии. Необходимость
использования на компьютерах Over-Server и Under-Server серверной операционной системы
связана с тем, что в последующем описании рассматривается протокол динамической
маршрутизации RIP, который полностью поддерживается только серверной операционной
системой, тогда как клиентская операционная система поддерживает только прием маршрутной
информации от других маршрутизаторов сети, а сама передавать маршрутную информацию не
может (статическая маршрутизация полностью поддерживается как серверной, так и
клиентской операционными системами). Исходя из сказанного, узлы Over-Server и Under-Server
в дальнейшем будут называться маршрутизаторами Over-Server и Under-Server, а узел Notebook
– хостом Notebook.
Хост Notebook имеет один интерфейс (один сетевой адаптер) с IP-адресом 192.168.10.4 и
маской подсети 255.255.255.0, т.е. подключен к сети класса C с IP-адресом 192.168.10.0,
называемой сетью 1. Маршрутизатор Under-Server имеет два интерфейса (два сетевых адаптера)
с IP-адресами 192.168.10.1 и 192.168.0.3 и масками подсети 255.255.255.0, т.е. подключен к сети
класса C с IP-адресом 192.168.10.0, называемой сетью 1, и к сети класса C с IP-адресом
192.168.0.0, называемой сетью 2. Маршрутизатор Over-Server также имеет два интерфейса (два
сетевых адаптера) с IP-адресами 192.168.0.1 и 192.168.15.75 и масками подсети 255.255.255.0,
т.е. подключен к сети класса C с IP-адресом 192.168.0.0, называемой сетью 2, и к сети класса C
с IP-адресом 192.168.15.0, называемой сетью 3. Под IP-адресами интерфейсов узлов на рис. 1 в
скобках указаны имена этих интерфейсов, присвоенные в окне “Сеть и удаленный доступ к
сети” операционной системы Windows 2000 Server (Пуск  Настройка  Сеть и удаленный
доступ к сети) на узлах Over-Server и Under-Server и в окне “Network Connections”
операционной системы Windows XP (Start  Control Panel  Network Connections) узла
Notebook.
2
3. Описание таблиц маршрутизации по умолчанию узлов лабораторной сети
Таблицы маршрутизации операционной системы Windows описываются на примере таблиц
маршрутизации по умолчанию хоста Notebook и маршрутизаторов Over-Server и Under-Server.
Таблица маршрутизации по умолчанию – это таблица, которая создается на узле автоматически
программным обеспечением стека TCP/IP. Предположим, что при ручной настройке на хосте
Notebook сетевого подключения с именем “Сеть 1”, соответствующего единственному сетевому
адаптеру этого хоста, были статически заданы IP-адрес 192.168.10.4 и маска подсети
255.255.255.0, а основной шлюз задан не был. Тогда программное обеспечение стека TCP/IP
хоста Notebook автоматически создаст таблицу маршрутизации по умолчанию, показанную на
рис. 2 (таблицу маршрутизации узла можно отобразить путем ввода команды route print в
командной строке).
Network Destination
127.0.0.0
192.168.10.0
192.168.10.4
192.168.10.255
224.0.0.0
255.255.255.255
Netmask
255.0.0.0
255.255.255.0
255.255.255.255
255.255.255.255
240.0.0.0
255.255.255.255
Gateway
127.0.0.1
192.168.10.4
127.0.0.1
192.168.10.4
192.168.10.4
192.168.10.4
Interface
127.0.0.1
192.168.10.4
127.0.0.1
192.168.10.4
192.168.10.4
192.168.10.4
Metric
1
1
1
1
1
1
Рис. 2. Таблица маршрутизации по умолчанию хоста Notebook
Как видно из рис. 2, таблица маршрутизации содержит для каждой своей записи следующие
поля: Network Destination (Сетевой адрес), Netmask (Маска сети), Gateway (Адрес шлюза), Interface
(Интерфейс) и Metric (Метрика). Ниже приведено описание этих полей.
 Network Destination (Сетевой адрес). Это поле используется совместно с полем Netmask.
Оно определяет диапазон IP-адресов, достижимых с использованием данной записи
таблицы маршрутизации (или отдельный IP-адрес, достижимый с использованием данной
записи). В нем может быть указан IP-адрес сети, IP-адрес хоста или широковещательный IPадрес. В данном примере в поле Network Destination указаны адреса сетей 127.0.0.0,
192.168.10.0 и 224.0.0.0, адрес хоста 192.168.10.4 и широковещательные адреса
192.168.10.255 и 255.255.255.255 (все эти адреса рассматриваются ниже).
 Netmask (Маска сети). Маска сети – это битовая маска, служащая для определения значащих
разрядов в поле Network Destination. Поле Netmask должно состоять из ряда непрерывных
единиц, за которыми должны следовать непрерывные нули. Поля Network Destination и
Netmask определяют диапазон IP-адресов или один IP-адрес. Чтобы выяснить, соответствует
ли IP-адрес назначения передаваемого пакета некоторой записи таблицы маршрутизации, на
IP-адрес назначения пакета накладывается содержимое поля Netmask этой записи
(выполняется операция логического И). Результат сравнивается со значением в поле Network
Destination данной записи. Если результат операции логического И и значение в поле Network
Destination совпадают, то IP-адрес назначения пакета соответствует данной записи, и для
продвижения пакета используется IP-адрес следующего перехода (содержимое поля
Gateway) этой записи. Например, если хост Notebook хочет послать пакет по адресу
192.168.10.1, т.е. на непосредственно подключенный интерфейс соседнего маршрутизатора
Under-Server (см. рис. 1), то сначала выполняется операция И для адреса 192.168.10.1 и
маски сети 255.0.0.0 (из первой строки таблицы маршрутизации). Результат – 192.0.0.0. Он
не совпадает со значением 127.0.0.0, указанным в поле Network Destination первой строки
таблицы маршрутизации. Поэтому для выполнения следующей операции И используется
маска сети 255.255.255.0 (из второй строки таблицы маршрутизации). Результат операции И
для адреса 192.168.10.1 и маски сети 255.255.255.0 равен 192.168.10.0. Он совпадает со
значением, указанным в поле Network Destination второй строки таблицы маршрутизации.
3



Поэтому пакет соответствует данной записи таблицы маршрутизации и должен быть
направлен по адресу шлюза 192.168.10.4 (в данном случае адрес шлюза совпадает с адресом
единственного физического интерфейса хоста Notebook, так как маршрут с адресом
назначения 192.168.10.1 соответствует непосредственно подключенному сегменту).
Gateway (Адрес шлюза). В этом поле указывается IP-адрес, по которому должен быть
направлен пакет, если он соответствует данной записи таблицы маршрутизации (это “IPадрес следующего перехода”). Для маршрута, соответствующего непосредственно
подключенному сегменту, в поле Gateway указывается адрес интерфейса маршрутизатора
(или хоста), подключенного к этому сетевому сегменту (192.168.10.4 для примера,
приведенного на рис. 2).
Interface (Интерфейс). В этом поле указывается адрес логического или физического
интерфейса, используемого для продвижения пакетов, соответствующих данной записи
таблицы маршрутизации. В примере, представленном на рис. 2, 127.0.0.1 – это адрес
логического интерфейса замыкания на себя (его назначение объясняется ниже) хоста
Notebook, а 192.168.10.4 – адрес физического интерфейса хоста Notebook.
Metric (Метрика). В этом поле указывается стоимость маршрута. Оно используется для
выбора маршрута в том случае, если в таблице маршрутизации имеется несколько записей,
соответствующих одному и тому же адресу назначения с одной и той же маской сети, т.е.
если одного и того же адресата можно достичь разными путями (через разные
маршрутизаторы). При этом выбирается запись с наименьшим значением метрики,
отражающая наиболее короткий маршрут. Обычно это поле отражает число транзитных
участков до хоста назначения или сети назначения. Все устройства в непосредственно
подключенных сетях находятся на расстоянии одного транзитного участка. Все устройства в
соседних сетях, т.е. в сетях, расположенных за ближайшим маршрутизатором, находятся на
расстоянии двух транзитных участков и т. д.
В общем случае таблица маршрутизации содержит маршруты следующих типов: маршрут к
хосту, маршрут к сети и маршрут по умолчанию. Ниже приведено описание этих маршрутов.
 Маршрут к хосту. Это маршрут по IP-адресу конкретного хоста. Маска сети для маршрута
этого типа – 255.255.255.255. Наложение такой маски на IP-адрес назначения пакета
позволяет проанализировать все разряды IP-адреса назначения и определить IP-адрес
конкретного хоста. В таблице маршрутизации, приведенной на рис. 2, имеется одна запись,
соответствующая маршруту к хосту. Это запись со значением 192.168.10.4 в поле Сетевой
адрес. Маршруты к хостам обычно используются для указания более оптимальных
маршрутов к конкретным хостам в удаленной сети (запись со значением 192.168.10.4 в поле
Сетевой адрес к такому определению, конечно, не относится).
 Маршрут к сети. Маршрутом к сети может быть либо маршрут к непосредственно
подключенной сети (192.168.10.0 для примера на рис. 2), либо маршрут к удаленной сети (в
примере на рис. 2 таких маршрутов нет). Маршрут к непосредственно подключенной сети –
это маршрут к сетевому сегменту, к которому подключен интерфейс маршрутизатора (или
хоста). Для маршрута к непосредственно подключенной сети в качестве адреса шлюза в
таблице маршрутизации указывается адрес интерфейса маршрутизатора (или хоста),
подключенного к соответствующему локальному сетевому сегменту (192.168.10.4 для
примера на рис. 2). Удаленная сеть – это сеть, доступная через другой маршрутизатор. Для
маршрутов к удаленным сетям адрес шлюза – это IP-адрес промежуточного
маршрутизатора. Маска сети для маршрута к сети может иметь значение от 128.0.0.0 до
255.255.255.254, т.е. к маршрутам к сетям относятся и маршруты к подсетям.
 Маршрут по умолчанию. Это маршрут ко всем адресатам, используемый тогда, когда в
таблице маршрутизации не обнаруживается никакого маршрута к хосту или маршрута к
4
сети, соответствующего адресату. Маршрут по умолчанию имеет адрес назначения 0.0.0.0 и
маску сети 0.0.0.0 (в таблице маршрутизации на рис. 2 такого маршрута нет, так как в
соответствии с указанным выше предположением основной шлюз для хоста Notebook задан
не был).
Порядок просмотра записей в таблице маршрутизации следующий: сначала ищется маршрут к
хосту, затем маршрут к сети и затем маршрут по умолчанию.
Рассмотрим все строки таблицы маршрутизации хоста Notebook, приведенной на рис. 2.
В первой строке в качестве сетевого адреса указан адрес сети 127.0.0.0. Сеть с таким адресом
является внутренней сетью модуля маршрутизации хоста и служит для тестирования
программного обеспечения стека TCP/IP в пределах одного хоста. Например, чтобы проверить
правильность работы программного обеспечения стека TCP/IP на хосте, нужно ввести команду
ping с любым IP-адресом, относящимся к сети 127.0.0.0. При выполнении такой команды
данные не передаются модулем IP сетевому адаптеру для последующей передачи в сеть, а
возвращаются источнику – в локальный модуль IP, т.е. образуется “петля”. Поэтому адрес
127.0.0.0 называется адресом loopback, т.е. адресом замыкания на себя, или адресом
программного закольцовывания. Например, введем на хосте Notebook команду ping
127.255.150.10. Как будет действовать модуль маршрутизации хоста? Сначала он ищет в своей
таблице маршрутизации адрес 127.255.150.10 и не находит его. Тогда он накладывает маску
255.0.0.0 из первой строки таблицы на адрес 127.255.150.10 и получает адрес сети 127.0.0.0,
который указан в первой строке таблицы маршрутизации. Следовательно, маршрут найден –
данные должны быть посланы через интерфейс 127.0.0.1 (столбец “Interface” таблицы
маршрутизации) по адресу шлюза 127.0.0.1. Адрес 127.0.0.1 можно рассматривать как адрес
модуля маршрутизации данного хоста во внутренней сети 127.0.0.0 этого хоста. Таким образом,
по какому бы адресу сети 127.0.0.0 не посылались пакеты, они всегда направляются на адрес
127.0.0.1, т.е. модулю маршрутизации данного хоста, и возвращаются программному
обеспечению этого хоста. Ниже показан результат выполнения команды ping 127.255.150.10 на
хосте Notebook.
C:>\ping 127.255.150.10
Pinging 127.255.150.10 with 32
Reply from 127.0.0.1: bytes=32
Reply from 127.0.0.1: bytes=32
Reply from 127.0.0.1: bytes=32
Reply from 127.0.0.1: bytes=32
bytes of
time<1ms
time<1ms
time<1ms
time<1ms
data:
TTL=128
TTL=128
TTL=128
TTL=128
Обычно для проверки работы программного обеспечения стека TCP/IP на хосте выполняется
команда ping 127.0.0.1, хотя можно выполнять команду ping по любому адресу, относящемуся к
сети 127.0.0.0.
Во второй строке в качестве сетевого адреса указан адрес сети 192.168.10.0 (эта строка была
рассмотрена при описании поля Netmask).
В третьей строке столбца “Network Destination” указан адрес хоста 192.168.10.4, являющийся
адресом физического интерфейса хоста Notebook. Поскольку это адрес собственного
интерфейса хоста Notebook, при выполнении на этом хосте, например, команды ping по адресу
192.168.10.4 для проверки локального интерфейса пакет эхо-запроса в сеть посылать не надо –
ответ должен быть получен от внутреннего модуля IP. Поэтому в качестве адреса шлюза и
интерфейса в третьей строке таблицы маршрутизации указаны значения 127.0.0.1.
5
В четвертой строке столбца “Network Destination” указан адрес 192.168.10.255. Это
широковещательный адрес для сети 192.168.10.0. Запись с таким адресом нужна хосту
(маршрутизатору) для того, чтобы он знал, через какой интерфейс передавать
широковещательные пакеты с адресом назначения 192.168.10.255. Примером таких пакетов
являются пакеты регистрации имен NetBIOS в тех случаях, когда в настройках TCP/IP хостов,
желающих зарегистрировать свое имя NetBIOS, не указан адрес сервера WINS. В частности,
когда в сети Windows загружается какой-либо хост, который не знает адреса сервера WINS
(такого сервера вообще может не быть в сети), он посылает в локальную сеть
широковещательный пакет для регистрации имени NetBIOS, назначенного ему
администратором. Все хосты локальной сети получают этот пакет и, если ни один их них не
обнаруживает в нем собственного имени, значит, регистрируемого имени еще нет в локальной
сети. В этом случае хост, пославший широковещательный пакет, не получит отрицательного
ответа на свой запрос и присвоит себе имя, назначенное администратором. Другим примером
широковещательных пакетов с адресом назначения типа 192.168.10.255 являются пакеты
широковещательной рассылки маршрутной информации маршрутизаторами RIP версии 1 (речь
об этом пойдет ниже при рассмотрении протокола RIP). Правда, для хоста Notebook этот
пример не подходит, так как передачу маршрутной информации протокола RIP поддерживают
только серверные операционные системы Windows, а хост Notebook работает на основе
клиентской системы Windows XP, которая поддерживает только прослушивание
широковещательных пакетов RIP версии 1 от других маршрутизаторов, когда установлена и
запущена служба “Listener RIP” (“Слушатель RIP”) (по умолчанию эта служба не
устанавливается). Зато для хоста Notebook подходит другой пример: при перезапуске службы
“Слушатель RIP” (вручную или при перезагрузке компьютера) хост Notebook посылает запрос
RIP версии 1 с адресом широковещательной рассылки 192.168.10.255, чтобы немедленно
получить маршрутную информацию RIP от маршрутизаторов RIP версии 1.
В пятой строке столбца “Network Destination” указан адрес 224.0.0.0. Это адрес класса D, т.е.
групповой адрес. Запись с таким адресом нужна хосту (маршрутизатору) для того, чтобы он
знал, через какой интерфейс передавать пакеты с групповым адресом назначения,
начинающимся с 224, например, с адресом 224.0.0.9. Такой адрес назначения имеют пакеты
рассылки маршрутной информации RIP версии 2, предназначенные всем маршрутизаторам RIP
версии 2, находящимся в сетевом сегменте, подключенном к интерфейсу, с которого
посылаются эти пакеты. Как было указано выше, передачу маршрутной информации протокола
RIP поддерживают только серверные операционные системы Windows. Хост Notebook
маршрутную информацию RIP не посылает. Однако он посылает другой пакет с групповым
адресом назначения 224.0.0.9: при перезапуске на хосте Notebook службы “Listener RIP”
(“Слушатель RIP”) хост Notebook передает запрос RIP версии 2 с адресом групповой рассылки
224.0.0.9 (в дополнение к запросу с адресом широковещательной рассылки 192.168.10.255),
чтобы немедленно получить маршрутную информацию RIP от маршрутизаторов RIP версии 2.
(Выше было указано, что хост Notebook с работающей службой “Listener RIP” может
прослушивать только широковещательные сообщения RIP версии 1. Как же тогда он может
получить маршрутную информацию RIP версии 2, которая передается по групповому адресу
224.0.0.9? Дело в том, что в своем запросе с адресом групповой рассылки 224.0.0.9 для
получения маршрутной информации RIP от маршрутизаторов RIP версии 2 хост Notebook
указывает собственный IP-адрес. Поэтому ответ с маршрутной информацией RIP версии 2
посылается не на групповой адрес 224.0.0.9, на который хост Notebook не реагирует, так как не
является маршрутизатором RIP версии 2, а на адрес 192.168.10.4, т.е. на адрес интерфейса хоста
Notebook. Таким образом, хост Notebook после перезапуска его службы “Listener RIP” может
один раз получить маршрутную информацию от маршрутизаторов RIP версии 2. Эта
информация появится в его таблице маршрутизации. Однако через 5 минут она будет
6
автоматически оттуда удалена, так как последующие обновления маршрутной информации RIP
версии 2, посылаемые по групповому адресу 224.0.0.9, хост Notebook принимать не может).
Наконец, в шестой строке столбца “Network Destination” указан адрес 255.255.255.255. Запись с
таким адресом нужна хосту для того, чтобы он знал, через какой интерфейс передавать
широковещательные пакеты с адресом назначения 255.255.255.255. Пакеты с таким адресом
назначения рассылаются всем узлам, находящимся в той же сети, что и их источник. В качестве
примера таких пакетов можно указать пакет DHCP-поиска (DHCP Discover), посылаемый
клиентом DHCP при загрузке, для обнаружения сервера DHCP с целью запроса у него IPадреса.
На рис. 3 и 4 представлены таблицы маршрутизации по умолчанию маршрутизаторов UnderServer и Over-Server соответственно. Так как эти маршрутизаторы имеют по два интерфейса, в
их таблицах маршрутизации имеются соответствующие записи для каждого из интерфейсов
(при условии, что администратор вручную задал IP-адреса и маски подсети этих интерфейсов).
Сетевой адрес
127.0.0.0
192.168.0.0
192.168.0.3
192.168.0.255
192.168.10.0
192.168.10.1
192.168.10.255
224.0.0.0
224.0.0.0
255.255.255.255
255.255.255.255
Маска сети
255.0.0.0
255.255.255.0
255.255.255.255
255.255.255.255
255.255.255.0
255.255.255.255
255.255.255.255
240.0.0.0
240.0.0.0
255.255.255.255
255.255.255.255
Адрес шлюза
127.0.0.1
192.168.0.3
127.0.0.1
192.168.0.3
192.168.10.1
127.0.0.1
192.168.10.1
192.168.0.3
192.168.10.1
192.168.0.3
192.168.10.1
Интерфейс
127.0.0.1
192.168.0.3
127.0.0.1
192.168.0.3
192.168.10.1
127.0.0.1
192.168.10.1
192.168.0.3
192.168.10.1
192.168.0.3
192.168.10.1
Метрика
1
1
1
1
1
1
1
1
1
1
1
Рис. 3. Таблица маршрутизации по умолчанию маршрутизатора Under-Server
Сетевой адрес
127.0.0.0
192.168.0.0
192.168.0.1
192.168.0.255
192.168.15.0
192.168.15.75
192.168.15.255
224.0.0.0
224.0.0.0
255.255.255.255
255.255.255.255
Маска сети
255.0.0.0
255.255.255.0
255.255.255.255
255.255.255.255
255.255.255.0
255.255.255.255
255.255.255.255
240.0.0.0
240.0.0.0
255.255.255.255
255.255.255.255
Адрес шлюза
127.0.0.1
192.168.0.1
127.0.0.1
192.168.0.1
192.168.15.75
127.0.0.1
192.168.15.75
192.168.0.1
192.168.15.75
192.168.0.1
192.168.15.75
Интерфейс
127.0.0.1
192.168.0.1
127.0.0.1
192.168.0.1
192.168.15.75
127.0.0.1
192.168.15.75
192.168.0.1
192.168.15.75
192.168.0.1
192.168.15.75
Метрика
1
1
1
1
1
1
1
1
1
1
1
Рис. 4. Таблица маршрутизации по умолчанию маршрутизатора Over-Server
Как видно из таблиц маршрутизации по умолчанию, показанных на рис. 2-4, на начальном
этапе работы маршрутизатор (хост) знает только, как достичь сетей, с которыми он соединен
непосредственно. Маршрутизаторы (хосты) выясняют пути в другие сети следующими
способами:
 с помощью статических маршрутов;
 с помощью маршрутов по умолчанию;
 с помощью маршрутов, определенных тем или иным протоколом динамической
маршрутизации.
Рассмотрим соответствующие этим маршрутам типы маршрутизации.
7
4. Статическая маршрутизация
Статические маршруты задаются и изменяются вручную. Их достоинство в том, что они не
требуют рассылки широковещательных пакетов с маршрутной информацией, которые
непроизводительно занимают полосу пропускания сети. Однако в случае изменения топологии
сети администратор должен вручную изменить статические маршруты, что является
недостатком статической маршрутизации. Кроме того, в случае отказа того или иного канала,
который согласно сконфигурированному статическому маршруту должен использоваться для
достижения некоторого адресата, маршрутизатор не сможет использовать другой канал к тому
же адресату, даже если такой канал существует, но для него не задан соответствующий
статический маршрут.
Вернемся к примеру лабораторной сети, показанной на рис. 1. Исходные данные:
администратором вручную заданы соответствующие IP-адреса и маски подсети интерфейсов
трех узлов, в результате чего узлы имеют таблицы маршрутизации по умолчанию,
представленные на рис. 2-4. Задача состоит в обеспечении успешной “прозвонки” лабораторной
сети, т.е. в том, чтобы добиться успешного выполнения на хосте Notebook команды ping по
адресу 192.168.15.75 интерфейса маршрутизатора Over-Server.
Начнем выполнять на хосте Notebook команды ping в направлении маршрутизатора Over-Server
и посмотрим, что произойдет:
C:\>ping 192.168.10.4
Pinging 192.168.10.4 with 32 bytes of data:
Reply from 192.168.10.4: bytes=32 time<1ms TTL=128
Reply from 192.168.10.4: bytes=32 time<1ms TTL=128
Reply from 192.168.10.4: bytes=32 time<1ms TTL=128
Reply from 192.168.10.4: bytes=32 time<1ms TTL=128
C:\>ping 192.168.10.1
Pinging 192.168.10.1 with 32 bytes of data:
Reply from 192.168.10.1: bytes=32 time<1ms TTL=128
Reply from 192.168.10.1: bytes=32 time<1ms TTL=128
Reply from 192.168.10.1: bytes=32 time<1ms TTL=128
Reply from 192.168.10.1: bytes=32 time<1ms TTL=128
Как видно, команды ping по адресу собственного интерфейса хоста Notebook и по адресу
ближайшего интерфейса соседнего маршрутизатора Under-Server выполняются успешно. Это
связано с тем, что в таблице маршрутизации по умолчанию хоста Notebook имеются записи о
маршруте к хосту 192.168.10.4 и о маршруте к сети 192.168.10.0 (к которой относится
интерфейс маршрутизатора Under-Server с адресом 192.168.10.1). Это хорошо, но двинемся
дальше:
C:\>ping 192.168.0.3
Pinging 192.168.0.3 with 32 bytes of data:
Destination host unreachable.
Destination host unreachable.
Destination host unreachable.
Destination host unreachable.
Вместо ответа от адресата выводится сообщение “Destination host unreachable” (“Заданный узел
недоступен”). Это связано с тем, что в таблице маршрутизации по умолчанию хоста Notebook
(см. рис. 2) нет ни записи о маршруте к хосту 192.168.0.3, ни записи о маршруте к сети
192.168.0.0, ни записи о маршруте по умолчанию.
8
Добавим в таблицу маршрутизации хоста Notebook запись о маршруте к сети 192.168.0.0. Это
можно сделать путем ввода в командной строке хоста Notebook команды route add с
соответствующими параметрами. Команда route add имеет следующий формат:
route add [адресат] [MASK маска] [шлюз] [METRIC метрика] [IF интерфейс]
Параметры и их значения:
адресат
Адрес сети или хоста, для которого добавляется маршрут.
MASK
Если вводится ключевое слово MASK, то следующий параметр интерпретируется как
маска подсети.
маска
Значение маски.
шлюз
Адрес шлюза.
METRIC
После этого ключевого слова указывается метрика маршрута до адресата.
метрика
Значение метрики.
IF
После этого ключевого слова указывается интерфейс, через который будут направляться
пакеты заданному адресату.
интерфейс
Индекс интерфейса, который можно определить из секции “Interface List” (“Список
интерфейсов”) выходных данных команды route print.
Если ввести на хосте Notebook команду route print, то над таблицей маршрутизации будет
отображен список интерфейсов хоста (см. рис. 5).
C:\>route print
=====================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...00 02 3f 7a f2 02 ...... Realtek RTL8139/810X Family PCI Fast Ethetnet NIC
=====================================================================
Рис. 5. Список интерфейсов хоста Notebook
Как видно из рис. 5, хост Notebook имеет два следующих интерфейса: один логический
интерфейс замыкания на себя (Loopback) и один физический интерфейс с сетевым адаптером
Realtek. Индекс физического интерфейса – 0x2.
Теперь на хосте Notebook можно добавить нужный маршрут:
C:\>route add 192.168.0.0 MASK 255.255.255.0 192.168.10.1 METRIC 2 IF 0x2
Данная команда сообщает хосту Notebook о том, что для того, чтобы достичь сети 192.168.0.0 с
маской 255.255.255.0, необходимо использовать шлюз 192.168.10.1 и интерфейс с индексом
0x2, причем сеть 192.168.0.0 находится на расстоянии два транзитных участка от хоста
Notebook.
9
Отобразим таблицу маршрутизации хоста Notebook, введя в его командной строке команду
route print (см. рис. 6).
C:\>route print
Network Destination
127.0.0.0
192.168.0.0
192.168.10.0
192.168.10.4
192.168.10.255
224.0.0.0
255.255.255.255
Netmask
255.0.0.0
255.255.255.0
255.255.255.0
255.255.255.255
255.255.255.255
240.0.0.0
255.255.255.255
Gateway
127.0.0.1
192.168.10.1
192.168.10.4
127.0.0.1
192.168.10.4
192.168.10.4
192.168.10.4
Interface
127.0.0.1
192.168.10.4
192.168.10.4
127.0.0.1
192.168.10.4
192.168.10.4
192.168.10.4
Metric
1
2
1
1
1
1
1
Рис. 6. Таблица маршрутизации хоста Notebook после записи в нее информации о маршруте к сети
192.168.0.0
В таблице маршрутизации хоста Notebook появилась запись, соответствующая маршруту к сети
192.168.0.0 (выделена жирным шрифтом).
Возобновим выполнение команд ping на хосте Notebook:
C:\>ping 192.168.0.3
Pinging 192.168.0.3 with 32 bytes of data:
Reply from 192.168.0.3: bytes=32 time<1ms TTL=128
Reply from 192.168.0.3: bytes=32 time<1ms TTL=128
Reply from 192.168.0.3: bytes=32 time<1ms TTL=128
Reply from 192.168.0.3: bytes=32 time<1ms TTL=128
Теперь хост Notebook знает маршрут к сети 192.168.0.0. Поэтому команда ping 192.168.0.3 на
нем выполняется успешно. Двинемся дальше:
C:\>ping 192.168.0.1
Pinging 192.168.0.1 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Вместо ответа от адресата выводится сообщение “Request timed out” (“Превышен интервал
ожидания для запроса”). Почему нет ответа? Ведь хост Notebook знает маршрут к сети
192.168.0.0, к которой относится адрес 192.168.0.1 интерфейса маршрутизатора Over-Server.
Дело в том, что для того, чтобы получить ответ от адресата, адресат должен знать маршрут, по
которому нужно послать ответ, а в таблице маршрутизации по умолчанию маршрутизатора
Over-Server (см. рис. 4) нет ни записи о маршруте к хосту 192.168.10.4, ни записи о маршруте к
сети 192.168.10.0, ни записи о маршруте по умолчанию. Поэтому эхо-запрос до маршрутизатора
Over-Server доходит, а эхо-ответа от этого маршрутизатора не поступает. Следовательно, на
маршрутизаторе Over-Server нужно добавить маршрут к сети 192.168.10.0. Это можно сделать с
помощью команды route add с соответствующими параметрами, но нужно знать индекс
интерфейса маршрутизатора Over-Server с адресом 192.168.0.1. Чтобы узнать его, выполним на
маршрутизаторе Over-Server команду route print для вывода списка интерфейсов этого
маршрутизатора (см. рис. 7).
10
C:\>route print
=====================================================================
Список интерфейсов
0x1 ......................... ........ MS TCP Loopback interface
0x1000003 ...00 0c 6e 9e ab cc ....... SiS 900-Based PCI Fast Ethernet Adapter
0x1000004 ...00 a0 c5 64 95 1a ....... ZyXEL OMNI ADSL USB (RFC1483 Mode)
=====================================================================
Рис. 7. Список интерфейсов маршрутизатора Over-Server
Как видно из рис. 7, маршрутизатор Over-Server имеет три следующих интерфейса: один
логический интерфейс замыкания на себя (Loopback) и два физических интерфейса – интерфейс
с сетевым адаптером SiS и интерфейс, к которому подключен модем ZyXEL OMNI ADSL
(модем подключен через USB, а его драйвер эмулирует интерфейс Ethernet). Индекс первого
физического интерфейса – 0x1000003, а индекс второго физического интерфейса – 0x1000004.
Как узнать, какому из этих двух интерфейсов назначен IP-адрес 192.168.0.1? Для этого на
маршрутизаторе Over-Server нужно выполнить команду ipconfig /all:
C:\>ipconfig /all
Настройка протокола IP для Windows 2000
...
Адаптер Ethernet Сеть 2:
DNS суффикс этого
Описание . . . .
Физический адрес.
DHCP разрешен . .
IP-адрес . . . .
Маска подсети . .
Основной шлюз . .
DNS-серверы . . .
подключения
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
:
:
:
:
:
:
:
:
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
:
:
:
:
:
:
:
:
SiS 900-Based PCI Fast Ethernet Adapter
00-0C-6E-9E-AB-CC
Нет
192.168.0.1
255.255.255.0
Адаптер Ethernet Сеть 3:
DNS суффикс этого
Описание . . . .
Физический адрес.
DHCP разрешен . .
IP-адрес . . . .
Маска подсети . .
Основной шлюз . .
DNS-серверы . . .
подключения
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
ZyXEL OMNI ADSL USB (RFC1483 Mode)
00-A0-C5-64-95-1A
Нет
192.168.15.75
255.255.255.0
Как видно из выходных данных команды ipconfig /all, IP-адрес 192.168.0.1 назначен
интерфейсу с сетевым адаптером SiS, т.е. интерфейсу с индексом 0x1000003. Поэтому для
добавления в таблицу маршрутизации маршрутизатора Over-Server нужного маршрута надо
ввести на этом маршрутизаторе следующую команду:
C:\>route add 192.168.10.0 MASK 255.255.255.0 192.168.0.3 METRIC 2 IF 0x1000003
Эта команда сообщает маршрутизатору Over-Server о том, что для того, чтобы достичь сети
192.168.10.0 с маской 255.255.255.0, необходимо использовать шлюз 192.168.0.3 и интерфейс с
индексом 0x1000003, причем сеть 192.168.10.0 находится на расстоянии два транзитных
участка от маршрутизатора Over-Server.
Отобразим таблицу маршрутизации маршрутизатора Over-Server, введя в его командной строке
команду route print (см. рис. 8).
11
C:\>route print
Сетевой адрес
127.0.0.0
192.168.0.0
192.168.0.1
192.168.0.255
192.168.10.0
192.168.15.0
192.168.15.75
192.168.15.255
224.0.0.0
224.0.0.0
255.255.255.255
255.255.255.255
Маска сети
255.0.0.0
255.255.255.0
255.255.255.255
255.255.255.255
255.255.255.0
255.255.255.0
255.255.255.255
255.255.255.255
240.0.0.0
240.0.0.0
255.255.255.255
255.255.255.255
Адрес шлюза
127.0.0.1
192.168.0.1
127.0.0.1
192.168.0.1
192.168.0.3
192.168.15.75
127.0.0.1
192.168.15.75
192.168.0.1
192.168.15.75
192.168.0.1
192.168.15.75
Интерфейс
127.0.0.1
192.168.0.1
127.0.0.1
192.168.0.1
192.168.0.1
192.168.15.75
127.0.0.1
192.168.15.75
192.168.0.1
192.168.15.75
192.168.0.1
192.168.15.75
Метрика
1
1
1
1
2
1
1
1
1
1
1
1
Рис. 8. Таблица маршрутизации маршрутизатора Over-Server после записи в нее информации о
маршруте к сети 192.168.10.0
В таблице маршрутизации маршрутизатора Over-Server появилась запись, соответствующая
маршруту к сети 192.168.10.0 (выделена жирным шрифтом).
Снова выполним на хосте Notebook команду ping 192.168.0.1:
C:\>ping 192.168.0.1
Pinging 192.168.0.1 with 32 bytes of data:
Reply from 192.168.0.1: bytes=32 time<1ms TTL=127
Reply from 192.168.0.1: bytes=32 time<1ms TTL=127
Reply from 192.168.0.1: bytes=32 time<1ms TTL=127
Reply from 192.168.0.1: bytes=32 time<1ms TTL=127
Теперь маршрутизатор Over-Server знает, как послать ответ в сеть 192.168.10.0. Поэтому
команда ping 192.168.0.1 на хосте Notebook выполняется успешно.
Чтобы успешно закончить “прозвонку” лабораторной сети, нам осталось на хосте Notebook
выполнить команду ping по адресу 192.168.15.75 интерфейса маршрутизатора Over-Server:
C:\>ping 192.168.15.75
Pinging 192.168.15.75 with 32 bytes of data:
Destination host unreachable.
Destination host unreachable.
Destination host unreachable.
Destination host unreachable.
Вместо ответа от адресата выводится сообщение “Destination host unreachable” (“Заданный узел
недоступен”). Это связано с тем, что на данный момент в таблице маршрутизации хоста
Notebook (см. рис. 6) нет ни записи о маршруте к хосту 192.168.15.75, ни записи о маршруте к
сети 192.168.15.0, ни записи о маршруте по умолчанию.
Добавим в таблицу маршрутизации хоста Notebook запись о маршруте к сети 192.168.15.0. Это
можно сделать путем ввода в командной строке хоста Notebook команды route add с
соответствующими параметрами:
C:\>route add 192.168.15.0 MASK 255.255.255.0 192.168.10.1 METRIC 3 IF 0x2
Эта команда сообщает хосту Notebook о том, что для того, чтобы достичь сети 192.168.15.0 с
маской 255.255.255.0, необходимо использовать шлюз 192.168.10.1 и интерфейс с индексом 0x2
(см. рис. 5), причем сеть 192.168.15.0 находится на расстоянии три транзитных участка от хоста
Notebook.
12
Отобразим таблицу маршрутизации хоста Notebook, введя в его командной строке команду
route print (см. рис. 9).
C:\>route print
Network Destination
127.0.0.0
192.168.0.0
192.168.10.0
192.168.10.4
192.168.10.255
192.168.15.0
224.0.0.0
255.255.255.255
Netmask
255.0.0.0
255.255.255.0
255.255.255.0
255.255.255.255
255.255.255.255
255.255.255.0
240.0.0.0
255.255.255.255
Gateway
127.0.0.1
192.168.10.1
192.168.10.4
127.0.0.1
192.168.10.4
192.168.10.1
192.168.10.4
192.168.10.4
Interface
127.0.0.1
192.168.10.4
192.168.10.4
127.0.0.1
192.168.10.4
192.168.10.4
192.168.10.4
192.168.10.4
Metric
1
2
1
1
1
3
1
1
Рис. 9. Таблица маршрутизации хоста Notebook после записи в нее информации о маршруте к сети
192.168.15.0
В таблице маршрутизации хоста Notebook появилась запись, соответствующая маршруту к сети
192.168.15.0 (нижняя строка, выделенная жирным шрифтом).
Снова выполним на хосте Notebook команду ping 192.168.15.75:
C:\>ping 192.168.15.75
Pinging 192.168.15.75 with 32 bytes of data:
Reply from 192.168.10.1: Destination host unreachable.
Reply from 192.168.10.1: Destination host unreachable.
Reply from 192.168.10.1: Destination host unreachable.
Reply from 192.168.10.1: Destination host unreachable.
Вместо ответа от адресата выводится сообщение “Reply from 192.168.10.1: Destination host
unreachable” (“Ответ от 192.168.10.1: Заданный узел недоступен”). Это сообщение означает, что
маршрутизатор Under-Server не знает пути к адресату, т.е. он не знает, куда послать
поступивший от хоста Notebook эхо-запрос с адресом 192.168.15.75, так как в таблице
маршрутизации по умолчанию этого маршрутизатора (см. рис. 3) нет ни записи о маршруте к
хосту 192.168.15.75, ни записи о маршруте к сети 192.168.15.0, ни записи о маршруте по
умолчанию. Поэтому эхо-запрос доходит до маршрутизатора Under-Server, а дальше не
передается. Следовательно, на маршрутизаторе Under-Server нужно добавить маршрут к сети
192.168.15.0. Это можно сделать с помощью команды route add с соответствующими
параметрами, но нужно знать индекс интерфейса маршрутизатора Under-Server с адресом
192.168.0.3. Чтобы узнать его, выполним на маршрутизаторе Under-Server команду route print
для вывода списка интерфейсов этого маршрутизатора (см. рис. 10).
C:\>route print
=====================================================================
Список интерфейсов
0x1 ........................... MS TCP Loopback interface
0x2 ...00 50 bf 20 01 21 ...... Realtek RTL8139/810X Family NIC
0x3 ...00 80 48 15 56 00 ...... Compex RE100TX PCI Fast Ethernet Adapter
=====================================================================
Рис. 10. Список интерфейсов маршрутизатора Under-Server
Как видно из рис. 10, маршрутизатор Under-Server имеет три следующих интерфейса: один
логический интерфейс замыкания на себя (Loopback) и два физических интерфейса – интерфейс
с сетевым адаптером Realtek и интерфейс с сетевым адаптером Compex. Индекс первого
физического интерфейса – 0x2, а индекс второго физического интерфейса – 0x3. Как узнать,
какому из двух физических интерфейсов назначен IP-адрес 192.168.0.3? Для этого на
маршрутизаторе Under-Server нужно выполнить команду ipconfig /all.
13
C:\>ipconfig /all
Настройка протокола IP для Windows 2000
...
Адаптер Ethernet Сеть 1:
DNS суффикс этого подключения . . :
Описание . . . . . . . . . . . . : Realtek RTL8139/810X Family Fast
Ethernet NIC
Физический адрес. . . . . . . . . : 00-50-BF-20-01-21
DHCP разрешен . . . . . . . . . . : Нет
IP-адрес . . . . . . . . . . . . : 192.168.10.1
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз . . . . . . . . . . :
DNS-серверы . . . . . . . . . . . :
Адаптер Ethernet Сеть 2:
DNS суффикс этого подключения . . :
Описание . . . . . . . . . . . . : Compex RE100ATX/WOL PCI (NDIS5) Fast
Ethernet Adapter
Физический адрес. . . . . . . . . : 00-80-48-15-56-00
DHCP разрешен . . . . . . . . . . : Нет
IP-адрес . . . . . . . . . . . . : 192.168.0.3
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз . . . . . . . . . . :
DNS-серверы . . . . . . . . . . . :
Как видно из выходных данных команды ipconfig /all, IP-адрес 192.168.0.3 назначен
интерфейсу с сетевым адаптером Compex, т.е. интерфейсу с индексом 0x3. Поэтому для
добавления в таблицу маршрутизации маршрутизатора Under-Server нужного маршрута надо
ввести на этом маршрутизаторе следующую команду:
C:\>route add 192.168.15.0 MASK 255.255.255.0 192.168.0.1 METRIC 2 IF 0x3
Эта команда сообщает маршрутизатору Under-Server о том, что для того, чтобы достичь сети
192.168.15.0 с маской 255.255.255.0, необходимо использовать шлюз 192.168.0.1 и интерфейс с
индексом 0x3, причем сеть 192.168.15.0 находится на расстоянии два транзитных участка от
маршрутизатора Under-Server.
Отобразим таблицу маршрутизации маршрутизатора Under-Server, введя в его командной
строке команду route print (см. рис. 11).
C:\>route print
Сетевой адрес
127.0.0.0
192.168.0.0
192.168.0.3
192.168.0.255
192.168.10.0
192.168.10.1
192.168.10.255
192.168.15.0
224.0.0.0
224.0.0.0
255.255.255.255
255.255.255.255
Маска сети
255.0.0.0
255.255.255.0
255.255.255.255
255.255.255.255
255.255.255.0
255.255.255.255
255.255.255.255
255.255.255.0
240.0.0.0
240.0.0.0
255.255.255.255
255.255.255.255
Адрес шлюза
127.0.0.1
192.168.0.3
127.0.0.1
192.168.0.3
192.168.10.1
127.0.0.1
192.168.10.1
192.168.0.1
192.168.0.3
192.168.10.1
192.168.0.3
192.168.10.1
Интерфейс
127.0.0.1
192.168.0.3
127.0.0.1
192.168.0.3
192.168.10.1
127.0.0.1
192.168.10.1
192.168.0.3
192.168.0.3
192.168.10.1
192.168.0.3
192.168.10.1
Метрика
1
1
1
1
1
1
1
2
1
1
1
1
Рис. 11. Таблица маршрутизации маршрутизатора Under-Server после записи в нее информации о
маршруте к сети 192.168.15.0
14
В таблице маршрутизации маршрутизатора Under-Server появилась запись, соответствующая
маршруту к сети 192.168.15.0 (выделена жирным шрифтом).
Снова выполним на хосте Notebook команду ping 192.168.15.75:
C:\>ping 192.168.15.75
Pinging 192.168.15.75 with 32 bytes of data:
Reply from 192.168.15.75: bytes=32 time<1ms TTL=127
Reply from 192.168.15.75: bytes=32 time<1ms TTL=127
Reply from 192.168.15.75: bytes=32 time<1ms TTL=127
Reply from 192.168.15.75: bytes=32 time<1ms TTL=127
Теперь маршрутизатор Under-Server знает маршрут к сети 192.168.15.0. Поэтому команда ping
192.168.15.75 на хосте Notebook выполняется успешно.
Также можно успешно выполнить на маршрутизаторе Over-Server команду ping по адресу
192.168.10.4 интерфейса хоста Notebook:
C:\>ping 192.168.10.4
Обмен пакетами с 192.168.10.4 по 32 байт:
Ответ от 192.168.10.4: число байт=32 время<10мс
Ответ от 192.168.10.4: число байт=32 время<10мс
Ответ от 192.168.10.4: число байт=32 время<10мс
Ответ от 192.168.10.4: число байт=32 время<10мс
TTL=127
TTL=127
TTL=127
TTL=127
“Прозвонка” лабораторной сети успешно завершена. Вывод: чтобы обеспечить связь между
всеми узлами составной сети с использованием статических маршрутов, на каждом узле
составной сети нужно “прописать” маршруты ко всем сетям, имеющимся в составной сети.
Очевидно, что для большой составной сети это трудоемкая задача.
5. Маршрутизация по умолчанию
Использование маршрутов по умолчанию позволяет упростить ручное конфигурирование
маршрутов. Удалим все сконфигурированные статические маршруты на всех узлах
лабораторной сети с помощью команды
route delete [адресат]
где:
адресат
Адрес сети, для которой удаляется маршрут.
В частности, выполним следующие команды:

на хосте Notebook:
C:\>route delete 192.168.0.0
C:\>route delete 192.168.15.0

на маршрутизаторе Under-Server:
C:\>route delete 192.168.15.0

на маршрутизаторе Over-Server:
C:\>route delete 192.168.10.0
После выполнения этих команд на всех узлах лабораторной сети будут восстановлены таблицы
маршрутизации по умолчанию, показанные на рис. 2, 3 и 4.
15
Зададим маршруты по умолчанию на узлах лабораторной сети и посмотрим, будет ли решена
задача “прозвонки” сети без статических маршрутов.
На хосте Notebook введем команду
C:\>route add 0.0.0.0 MASK 0.0.0.0 192.168.10.1 METRIC 2 IF 0x2
Эта команда сообщает хосту Notebook о том, что для того, чтобы достичь любой сети, маршрут
к которой отсутствует в таблице маршрутизации, необходимо использовать шлюз 192.168.10.1
и интерфейс с индексом 0x2. Это так называемый маршрут по умолчанию. В данной команде
для этого маршрута задается метрика 2.
Отобразим таблицу маршрутизации хоста Notebook, введя на нем команду route print:
C:\>route print
Network Destination
0.0.0.0
127.0.0.0
192.168.10.0
192.168.10.4
192.168.10.255
224.0.0.0
255.255.255.255
Default Gateway:
Netmask
0.0.0.0
255.0.0.0
255.255.255.0
255.255.255.255
255.255.255.255
240.0.0.0
255.255.255.255
192.168.10.1
Gateway
192.168.10.1
127.0.0.1
192.168.10.4
127.0.0.1
192.168.10.4
192.168.10.4
192.168.10.4
Interface
192.168.10.4
127.0.0.1
192.168.10.4
127.0.0.1
192.168.10.4
192.168.10.4
192.168.10.4
Metric
2
1
1
1
1
1
1
Рис. 12. Таблица маршрутизации хоста Notebook после записи в нее информации о маршруте по
умолчанию
В таблице маршрутизации хоста Notebook появилась запись, соответствующая маршруту по
умолчанию 0.0.0.0 (выделена жирным шрифтом), а также строка с указанием, что адрес
основного шлюза (Default Gateway) – 192.168.10.1.
На маршрутизаторе Under-Server введем команду
C:\>route add 0.0.0.0 MASK 0.0.0.0 192.168.0.1 METRIC 2 IF 0x3
Эта команда сообщает маршрутизатору Under-Server о том, что для того, чтобы достичь любой
сети, маршрут к которой отсутствует в таблице маршрутизации, необходимо использовать
шлюз 192.168.0.1 и интерфейс с индексом 0x3.
Отобразим таблицу маршрутизации маршрутизатора Under-Server, введя на нем команду route
print:
C:\>route print
Сетевой адрес
0.0.0.0
127.0.0.0
192.168.0.0
192.168.0.3
192.168.0.255
192.168.10.0
192.168.10.1
192.168.10.255
224.0.0.0
224.0.0.0
255.255.255.255
255.255.255.255
Основной шлюз:
Маска сети
0.0.0.0
255.0.0.0
255.255.255.0
255.255.255.255
255.255.255.255
255.255.255.0
255.255.255.255
255.255.255.255
240.0.0.0
240.0.0.0
255.255.255.255
255.255.255.255
192.168.0.1
Адрес шлюза
192.168.0.1
127.0.0.1
192.168.0.3
127.0.0.1
192.168.0.3
192.168.10.1
127.0.0.1
192.168.10.1
192.168.0.3
192.168.10.1
192.168.0.3
192.168.10.1
Интерфейс
192.168.0.3
127.0.0.1
192.168.0.3
127.0.0.1
192.168.0.3
192.168.10.1
127.0.0.1
192.168.10.1
192.168.0.3
192.168.10.1
192.168.0.3
192.168.10.1
Метрика
2
1
1
1
1
1
1
1
1
1
1
1
Рис. 13. Таблица маршрутизации маршрутизатора Under-Server после записи в нее информации о
маршруте по умолчанию
16
В таблице маршрутизации маршрутизатора Under-Server появилась запись, соответствующая
маршруту по умолчанию 0.0.0.0 (выделена жирным шрифтом), а также строка с указанием, что
адрес основного шлюза – 192.168.0.1.
На маршрутизаторе Over-Server введем команду
C:\>route add 0.0.0.0 MASK 0.0.0.0 192.168.0.3 METRIC 2 IF 0x1000003
Эта команда сообщает маршрутизатору Over-Server о том, что для того, чтобы достичь любой
сети, маршрут к которой отсутствует в таблице маршрутизации, необходимо использовать
шлюз 192.168.0.3 и интерфейс с индексом 0x1000003.
Отобразим таблицу маршрутизации маршрутизатора Over-Server, введя на нем команду route
print:
C:\>route print
Сетевой адрес
0.0.0.0
127.0.0.0
192.168.0.0
192.168.0.1
192.168.0.255
192.168.15.0
192.168.15.75
192.168.15.255
224.0.0.0
224.0.0.0
255.255.255.255
255.255.255.255
Основной шлюз:
Маска сети
0.0.0.0
255.0.0.0
255.255.255.0
255.255.255.255
255.255.255.255
255.255.255.0
255.255.255.255
255.255.255.255
240.0.0.0
240.0.0.0
255.255.255.255
255.255.255.255
192.168.0.3
Адрес шлюза
192.168.0.3
127.0.0.1
192.168.0.1
127.0.0.1
192.168.0.1
192.168.15.75
127.0.0.1
192.168.15.75
192.168.0.1
192.168.15.75
192.168.0.1
192.168.15.75
Интерфейс
192.168.0.1
127.0.0.1
192.168.0.1
127.0.0.1
192.168.0.1
192.168.15.75
127.0.0.1
192.168.15.75
192.168.0.1
192.168.15.75
192.168.0.1
192.168.15.75
Метрика
2
1
1
1
1
1
1
1
1
1
1
1
Рис. 14. Таблица маршрутизации маршрутизатора Over-Server после записи в нее информации о
маршруте по умолчанию
В таблице маршрутизации маршрутизатора Over-Server появилась запись, соответствующая
маршруту по умолчанию 0.0.0.0 (выделена жирным шрифтом), а также строка с указанием, что
адрес основного шлюза – 192.168.0.3.
Теперь попробуем выполнить на хосте Notebook команду ping 192.168.15.75:
C:\>ping 192.168.15.75
Pinging 192.168.15.75 with 32 bytes of data:
Reply from 192.168.15.75: bytes=32 time<1ms TTL=127
Reply from 192.168.15.75: bytes=32 time<1ms TTL=127
Reply from 192.168.15.75: bytes=32 time<1ms TTL=127
Reply from 192.168.15.75: bytes=32 time<1ms TTL=127
Ясно, что нормальная работа возможна и без статических маршрутов. Задание маршрутов по
умолчанию несколько проще, чем задание маршрутов ко всем сетям на каждом узле.
В отношении маршрутов по умолчанию необходимо отметить следующее:

Несмотря на то, что запись о маршруте по умолчанию находится в первой строке таблицы
маршрутизации, узел сначала ищет в своей таблице соответствующий маршрут к хосту,
затем соответствующий маршрут к сети и только при отсутствии нужных маршрутов
ищется маршрут по умолчанию.

В конфигурацию TCP/IP узла, работающего на основе операционной системы Windows,
можно добавить маршрут по умолчанию для каждой сетевой платы. Это приведет к
17
появлению в таблице маршрутизации узла маршрута 0.0.0.0 для каждой сетевой платы.
Однако на самом деле будет использоваться только один маршрут по умолчанию,
добавленный первым. Если бы в примере лабораторной сети, приведенном на рис. 1, хост
Notebook имел бы две сетевых платы и был бы подключен не только к сети 192.168.10.0, но
и еще к некоторой сети x.x.x.x, то для получения доступа к этой сети со стороны
маршрутизаторов Over-Server и Under-Server по логике нужно было бы добавить на
маршрутизаторе Under-Server еще один маршрут по умолчанию – через шлюз 192.168.10.4.
Однако если второму маршруту по умолчанию на маршрутизаторе Under-Server назначить
такое же значение метрики, что и первому маршруту по умолчанию (или большее значение),
то в таблице маршрутизации маршрутизатора Under-Server второй маршрут по умолчанию
появится, но действовать не будет (основной шлюз останется один). Второй маршрут по
умолчанию будет действовать только в том случае, если значение его метрики будет
меньше, чем значение метрики первого маршрута по умолчанию. Однако в этом случае не
будет действовать первый маршрут по умолчанию! Таким образом, чтобы в данном примере
(т.е. при подключении хоста Notebook к двум сетям) лабораторная сеть работала корректно,
нужно на маршрутизаторе Under-Server оставить один маршрут по умолчанию, например,
через шлюз 192.168.0.1, и создать статический маршрут к сети x.x.x.x через шлюз
192.168.10.4.
6. Динамическая маршрутизация
При использовании динамической маршрутизации применяются протоколы маршрутизации,
служащие для обмена маршрутной информацией и поддержания таблиц маршрутизации.
Маршруты к удаленным сетям выясняются с помощью трафика протоколов маршрутизации и
добавляются в таблицы маршрутизации или удаляются из них. После того, как все
маршрутизаторы составной сети получили всю информацию, необходимую для создания
маршрутов, отражающих текущую топологию составной сети, считается, что процесс
сходимости протокола маршрутизации завершен. Одним из самых простых и широко
используемых протоколов динамической маршрутизации является протокол RIP (Routing
Information Protocol; Протокол передачи маршрутной информации). Суть этого протокола
состоит в том, что каждый маршрутизатор, использующий RIP, передает во все
непосредственно подключенные к нему сети содержимое своей таблицы маршрутизации и
получает от соседних маршрутизаторов содержимое их таблиц маршрутизации. В результате
каждый маршрутизатор, использующий RIP, узнает о всех сетях, имеющихся в составной сети,
и о расстояниях до этих сетей в числе транзитных участков.
Имеются две версии протокола RIP – версия 1 и версия 2. Эти версии отличаются тем, что RIP
версии 1 не поддерживает масок, т.е. при использовании RIP версии 1 между
маршрутизаторами распространяется только информация о сетях и расстояниях до них. При
этом для корректной работы RIP на всех интерфейсах всех маршрутизаторов составной сети
должна быть задана одна и та же маска. В примере лабораторной сети, приведенном на рис. 1,
на всех интерфейсах всех узлов сети задана одна и та же маска 255.255.255.0. Поэтому ниже
будет кратко описан только протокол RIP версии 1 (работа протокола RIP версии 2 аналогична
работе протокола RIP версии 1).
Сначала рассмотрим формат сообщения RIP версии 1, а затем на примере лабораторной сети,
показанной на рис. 1, – работу протокола RIP версии 1 с использованием результатов
трассировки, полученных с помощью анализатора протоколов EtherPeek.
RIP-сообщения помещаются в дейтаграммы UDP, которые посылаются с интерфейса
маршрутизатора и его UDP-порта 520 по широковещательному IP-адресу непосредственно
18
подключенной сети и предназначены для UDP-порта назначения 520. Формат сообщения RIP
версии 1 в соответствии с документом RFC 1058 показан на рис. 15. Сообщение содержит
четырехбайтовый заголовок и данные о максимум 25 RIP-маршрутах.
2 байта
2 байта
2 байта
Версия
Нули
Адрес
Нули
Метрика
(Zero)
Идентификатор семейства
адресов (Addr Family Id)
Нули
(Command) (Version)
(Zero)
(Net Address)
(Zero)
(Distance)
1 байт
1 байт
Команда
Заголовок
4 байта
8 байт
4 байта
Данные о первом RIP-маршруте
Рис. 15. Формат сообщения RIP версии 1
Описание полей
В скобках указаны названия полей на английском языке, которые можно увидеть в окне захвата
пакетов анализатора протоколов EtherPeek.
В поле команда указывается, чем является сообщение – запросом (значение 1) или ответом
(значение 2). Запрос – это сообщение, с помощью которого один маршрутизатор запрашивает у
другого содержимое его таблицы маршрутизации. Запрос посылается при инициализации RIP
на маршрутизаторе, чтобы маршрутизатор, на котором только что инициализирован RIP, мог
сразу же получить маршрутную информацию от соседних с ним маршрутизаторов. Ответ
может быть послан в качестве реакции на запрос или являться обычным, периодически
генерируемым сообщением с маршрутной информацией. По умолчанию сообщения с
маршрутной информацией передаются RIP-маршрутизаторами каждые 30 секунд.
В поле версия указывается версия используемого протокола RIP. Для RIP версии 1 содержимое
этого поля – 1.
После поля версия следуют два нулевых байта.
В поле идентификатор семейства адресов указывается тип адреса, используемый в поле
адрес. При использовании семейства протоколов IP возможные значения этого поля – 0-2.
После поля идентификатор семейства адресов следуют два нулевых байта.
Поле адрес сообщения-ответа содержит IP-адрес сети назначения. В сообщении-запросе в этом
поле указывается 0.0.0.0.
После поля адрес следуют восемь нулевых байтов.
Поле метрика сообщения-ответа содержит значение от 1 до 15, указывающее расстояние от
передающего сообщение-ответ маршрутизатора до сети назначения в числе транзитных
участков, или значение 16, которое указывает, что сеть назначения недостижима. Из сказанного
следует, что RIP можно использовать только при наличии между любыми двумя узлами
составной сети не более 15 транзитных участков. Сети, удаленные на 16 и более транзитных
участков, считаются недостижимыми. Поле метрика сообщения-запроса содержит значение 16.
Как было указано в разделе 2 в отношении операционной системы Windows, протокол RIP
полностью поддерживается только серверной операционной системой, тогда как клиентская
операционная система (например, Windows XP) поддерживает только прием маршрутной
информации от других маршрутизаторов сети, а сама передавать маршрутную информацию не
может. Чтобы хост Notebook лабораторной сети (см. рис. 1) мог принимать маршрутную
информацию RIP от своего соседнего маршрутизатора Under-Server, на хосте Notebook нужно
установить и запустить службу “Listener RIP” (“Слушатель RIP”) (по умолчанию она не
19
устанавливается). Ниже предполагается, что это сделано. Что касается маршрутизаторов OverServer и Under-Server лабораторной сети, то на них настраивать RIP можно двумя способами – в
графическом режиме с помощью оснастки “Маршрутизация и удаленный доступ” и в режиме
командной строки с помощью утилиты netsh. Ниже рассматривается включение RIP версии 1
на интерфейсах маршрутизаторов Over-Server и Under-Server в режиме командной строки с
помощью утилиты netsh.
netsh – это утилита командной строки и средство выполнения сценариев для сетевых
компонентов Windows 2000 как на локальных, так и на удаленных компьютерах. netsh
представляет собой оболочку, способную поддерживать множество сетевых компонентов
Windows 2000 за счет добавления вспомогательных DLL-файлов. Такие DDL-файлы расширяют
функциональные возможности netsh, предоставляя дополнительные команды для мониторинга
или настройки конкретных сетевых компонентов Windows 2000. Например, Ippromon.dll –
вспомогательный файл для использования команд dhcp, dhcp relay, dnsproxy, igmp, nat, ospf и
rip. Каждый вспомогательный DLL-файл имеет свой контекст, т.е. набор команд для настройки
сетевого компонента. Внутри каждого контекста могут существовать подконтексты. Например,
в контексте routing существуют подконтексты ip и ipx, группирующие команды для IP- и IPXмаршрутизации соответственно. Ниже для включения RIP будет использоваться контекст
routing с подконтекстами ip и rip.
Администрирование серверов из командной строки имеет следующие преимущества:

Администрировать серверы маршрутизации в режиме командной строки быстрее, чем в
графическом режиме с помощью оснастки “Маршрутизация и удаленный доступ”. Эта
возможность особенно важна в сетевых соединениях с низкой скоростью передачи данных,
например, при подключении по глобальной сети (WAN; Wide Area Network).

Объединяя команды в сценарий, выполняемый на нескольких
администрировать серверы маршрутизации согласованно.
серверах, можно
Чтобы запустить команды netsh на удаленном сервере Windows 2000 Server, необходимо
сначала использовать подключение к удаленному рабочему столу для соединения с Windows
2000 Server, работающим под управлением сервера терминалов.
Рассмотрим использование контекстных команд на конкретном примере. Введем в командной
строке хоста Notebook команду netsh:
C:\>netsh
В результате появится следующее приглашение:
netsh>
В этой строке приглашения можно ввести знак ? и нажать клавишу Enter. В результате будет
выведен список доступных команд, среди которых будет команда routing, которая позволяет
перейти в контекст netsh routing:
netsh>routing
netsh routing>
В этой строке приглашения также можно ввести знак ? и нажать клавишу Enter. В результате
будет выведен список доступных команд, среди которых будет команда ip, которая позволяет
перейти в контекст netsh routing ip:
netsh routing>ip
netsh routing ip>
20
Наконец, если и в этой строке приглашения ввести знак ? и нажать клавишу Enter, то также
будет выведен список команд, среди которых будет команда rip, позволяющая перейти в
контекст netsh routing ip rip:
netsh routing ip>rip
netsh routing ip rip>
Среди доступных команд этого контекста есть команда add interface, позволяющая настроить
RIP на заданном интерфейсе. Простейший вариант этой команды – add interface “Имя
интерфейса”. Такая команда включает RIP с параметрами по умолчанию на заданном
интерфейсе. Здесь “Имя интерфейса” – имя интерфейса в окне “Network Connections”. В
соответствии с обозначениями на рис. 1 предположим, что администратор лабораторной сети
назначил интерфейсу хоста Notebook, подключенному к сети 1, имя “Сеть 1” (в окне “Network
Connections”), и введем в контексте netsh routing ip rip команду add interface “Сеть 1”:
netsh routing ip rip>add interface “Сеть 1”
RIP must be installed first.
Как видно, в ответ на ввод команды система вывела сообщение “RIP must be installed first”
(“Сначала нужно установить RIP”). Однако в клиентской системе Windows XP, используемой
на хосте Notebook, установка RIP не предусмотрена. Установить RIP можно только в серверной
операционной системе Windows 2000 Server в оснастке “Маршрутизация и удаленный доступ”
(Пуск  Программы  Администрирование  Маршрутизация и удаленный доступ). Таким
образом, включить RIP в лабораторной сети можно только на маршрутизаторах Over-Server и
Under-Server (как уже упоминалось выше, на хосте Notebook работает только служба “Listener
RIP”). Прежде, чем это сделать, удалим маршруты по умолчанию, сконфигурированные на трех
узлах лабораторной сети. Для этого выполним на каждом из узлов следующую команду:
C:\>route delete 0.0.0.0
После выполнения на всех узлах лабораторной сети этой команды на каждом из узлов будут
восстановлены таблицы маршрутизации по умолчанию, показанные на рис. 2, 3 и 4.
Как было указано выше, команда add interface “Имя интерфейса” включает на заданном
интерфейсе протокол RIP с параметрами по умолчанию. Один из параметров по умолчанию –
RIP версии 2. Чтобы включить RIP версии 1, нужно использовать дополнительные параметры.
Дополнительных параметров в команде add interface много, но чтобы включить RIP версии 1,
достаточно использовать первые четыре из них. В этом случае команда add interface должна
иметь следующий формат:
add interface [name=]“Имя интерфейса” [[metric=]Метрика]
[[updatemode=]demand|periodic] [[announce=]none|rip1|rip1compat|rip2]
Ниже описаны параметры данной команды и их значения (рассмотрены только значения,
которые будут использованы в представленных далее примерах):
name
Имя интерфейса, на котором включается RIP.
Имя интерфейса
Имя интерфейса в окне “Сеть и удаленный доступ к сети”.
21
metric
Добавочная стоимость для маршрутов на данном интерфейсе (при автоматическом
добавлении маршрутов в таблицу маршрутизации узла-получателя RIP-сообщения это
значение добавляется к указанному в RIP-сообщении значению метрики, отражающей
расстояние до сети назначения).
Mетрика
Значение метрики.
updatemode
Режим передачи RIP-сообщений (одно из двух значений: demand или periodic).
periodic
Периодическая передача RIP-сообщений (по умолчанию – каждые 30 секунд).
announce
Тип передаваемых RIP-сообщений (одно из четырех значений: none, rip1, rip1compat или
rip2)
rip1
Передача RIP-сообщений версии 1.
В соответствии с обозначениями на рис. 1 предположим, что администратор лабораторной сети
назначил интерфейсу маршрутизатора Over-Server, подключенному к сети 2, имя “Сеть 2” (в
окне “Сеть и удаленный доступ к сети”). Предположим также, что интерфейсу маршрутизатора
Under-Server, подключенному к сети 2, администратор назначил имя “Сеть 2”, а интерфейсу
этого же маршрутизатора, подключенному к сети 1, – имя “Сеть 1”. Наконец, предположим, что
администратор лабораторной сети установил на маршрутизаторах Over-Server и Under-Server
протокол RIP с помощью оснастки “Маршрутизация и удаленный доступ”. Тогда, чтобы
включить RIP версии 1 на интерфейсах маршрутизаторов Over-Server и Under-Server с
периодической передачей RIP-сообщений и добавочной стоимостью 1 для маршрутов на всех
интерфейсах, нужно выполнить перечисленные ниже команды.

На маршрутизаторе Over-Server

Включение RIP на интерфейсе с IP-адресом 192.168.0.1, подключенном к сети 2:
C:\>netsh routing ip rip add interface name=“Сеть 2” metric=1
updatemode=periodic announce=rip1

На маршрутизаторе Under-Server

Включение RIP на интерфейсе с IP-адресом 192.168.0.3, подключенном к сети 2:
C:\>netsh routing ip rip add interface name=“Сеть 2” metric=1
updatemode=periodic announce=rip1

Включение RIP на интерфейсе с IP-адресом 192.168.10.1, подключенном к сети 1:
C:\>netsh routing ip rip add interface name=“Сеть 1” metric=1
updatemode=periodic announce=rip1
Как видно, при использовании утилиты netsh необязательно последовательно входить в
соответствующие контексты, а можно сразу ввести в командной строке нужную команду.
На маршрутизаторе Over-Server протокол RIP включается только на интерфейсе 192.168.0.1
(“Сеть 2”), так как для выполнения задачи “прозвонки” лабораторной сети, т.е. для успешного
выполнения на хосте Notebook команды ping по адресу 192.168.15.75 интерфейса
маршрутизатора Over-Server, передавать RIP-сообщения в сеть 192.168.15.0 не нужно.
22
Теперь рассмотрим работу протокола RIP версии 1 с использованием результатов трассировки,
полученных с помощью анализатора протоколов EtherPeek (см. рис. 16 и 19). Трассировка
выполнялась только на двух интерфейсах маршрутизатора Under-Server, так как этого вполне
достаточно, чтобы отследить передачу всех RIP-сообщений в лабораторной сети сразу после
включения RIP на интерфейсах маршрутизаторов Over-Server и Under-Server (результаты,
представленные на рис. 19, соответствуют случаю запуска трассировки на интерфейсе сети 1
маршрутизатора Under-Server в момент, когда на хосте Notebook служба “Listener RIP” уже
работала, т.е. среди захваченных в окне захвата пакетов нет сообщения-запроса RIP от хоста
Notebook, передаваемого в момент запуска службы “Listener RIP” на этом хосте).
На рис. 16 представлены результаты трассировки RIP-сообщений на интерфейсе 192.168.0.3
маршрутизатора Under-Server.
Рис. 16. Окно захвата пакетов анализатора EtherPeek на интерфейсе 192.168.0.3 маршрутизатора
Under-Server
Пакеты 1 и 2 являются сообщениями-запросами RIP, передаваемыми с интерфейса 192.168.0.3
(“Сеть 2”) маршрутизатора Under-Server и с интерфейса 192.168.0.1 (“Сеть 2”) маршрутизатора
Over-Server соответственно в момент включения протокола RIP на этих интерфейсах
(обозначение C в столбце Summary является сокращением от Command – “Команда”). Пакеты 315 представляют собой сообщения-ответы RIP (обозначение R в столбце Summary является
сокращением от Reply – “Ответ”), причем пакет 3 является сообщением-ответом RIP на
сообщение-запрос RIP в пакете 2, что можно определить по значению в столбце Destination, где
указан конкретный адрес 192.168.0.1 узла назначения, а пакеты 4-15 являются обычными,
периодически генерируемыми RIP-сообщениями с маршрутной информацией, которые
передаются каждые 30 секунд (по умолчанию) по широковещательному адресу 192.168.0.255.
Сообщения-запросы служат для того, чтобы маршрутизаторы, на интерфейсах которых только
что включен RIP, могли сразу же получить маршрутную информацию RIP от соседних
маршрутизаторов. Как было указано при описании формата RIP-сообщения, в поле адрес
сообщения-запроса RIP указывается 0.0.0.0. Это видно из столбца Summary (1 networks: 0.0.0.0).
При описании формата RIP-сообщения было также указано, что поле метрика сообщениязапроса RIP содержит значение 16. Это тоже отражено в столбце Summary (metric 16).
По информации в столбце Absolute Time можно сделать вывод, что на интерфейсе 192.168.0.3
(“Сеть 2”) маршрутизатора Under-Server протокол RIP был включен (путем ввода
соответствующей команды) в 17:25:25 (см. строку 1), так как именно в этот момент времени с
данного интерфейса было послано сообщение-запрос RIP. На интерфейсе 192.168.0.1 (“Сеть 2”)
23
маршрутизатора Over-Server протокол RIP был включен в 17:25:27 (см. строку 2), т.е. на две
секунды позже. Этим объясняется тот факт, что никакого ответа на сообщение-запрос RIP от
маршрутизатора Under-Server не последовало, так как на маршрутизаторе Over-Server протокол
RIP в момент запроса еще включен не был. Получив RIP-запрос от маршрутизатора Over-Server
(пакет 2), маршрутизатор Under-Server сразу же послал RIP-ответ (пакет 3), в котором сообщил
о маршруте к сети 192.168.10.0 с метрикой 2 (см. столбец Summary).
Примечание. Сеть 192.168.10.0 непосредственно подключена к маршрутизатору Under-Server,
т.е. по логике в сообщении-ответе для этой сети должна быть указана метрика 1. Однако работа
маршрутизатора Windows 2000 имеет следующую особенность: когда маршрутизатор Windows
2000 оповещает о маршруте, о котором он узнал не из RIP-сообщений, маршрутизатор
объявляет такой маршрут с метрикой 2. К маршрутам, выявляемым не с помощью RIPсообщений, относятся статические маршруты, в том числе для непосредственно подключенных
сетей (как в данном случае), а также маршруты протокола маршрутизации OSPF.
Получив RIP-ответ, маршрутизатор Over-Server добавляет в свою таблицу маршрутизации
запись, в которой указывает, что для достижения сети 192.168.10.0 нужно передавать пакеты
через шлюз с адресом 192.168.0.3 (так как именно с этого адреса был получен RIP-ответ), и что
сеть 192.168.10.0 находится на расстоянии три транзитных участка (результат “три транзитных
участка” получается путем добавления единицы к значению метрики из полученного RIPответа, так как в команде включения RIP на интерфейсе “Сеть 2” маршрутизатора Over-Server
был использован параметр metric, равный 1). В результате добавления такой записи таблица
маршрутизации маршрутизатора Over-Server принимает вид, показанный на рис. 17
(добавленная запись выделена жирным шрифтом).
Сетевой адрес
127.0.0.0
192.168.0.0
192.168.0.1
192.168.0.255
192.168.10.0
192.168.15.0
192.168.15.75
192.168.15.255
224.0.0.0
224.0.0.0
255.255.255.255
255.255.255.255
Маска сети
255.0.0.0
255.255.255.0
255.255.255.255
255.255.255.255
255.255.255.0
255.255.255.0
255.255.255.255
255.255.255.255
240.0.0.0
240.0.0.0
255.255.255.255
255.255.255.255
Адрес шлюза
127.0.0.1
192.168.0.1
127.0.0.1
192.168.0.1
192.168.0.3
192.168.15.75
127.0.0.1
192.168.15.75
192.168.0.1
192.168.15.75
192.168.0.1
192.168.15.75
Интерфейс
127.0.0.1
192.168.0.1
127.0.0.1
192.168.0.1
192.168.0.1
192.168.15.75
127.0.0.1
192.168.15.75
192.168.0.1
192.168.15.75
192.168.0.1
192.168.15.75
Метрика
1
1
1
1
3
1
1
1
1
1
1
1
Рис. 17. Таблица маршрутизации маршрутизатора Over-Server после записи в нее информации о
новом маршруте, полученном с помощью RIP
Начиная с пакета 4, все оставшиеся пакеты представляют собой периодически генерируемые
маршрутизаторами RIP-сообщения с маршрутной информацией. На момент передачи пакета 4
маршрутизатор Under-Server еще не получил ни одного RIP-сообщения с маршрутной
информацией от маршрутизатора Over-Server. Поэтому содержимое пакета 4 идентично
содержимому пакета 3, за исключением адреса назначения (столбец Destination). Пакет 5
является первым RIP-сообщением с маршрутной информацией, переданным маршрутизатором
Over-Server. В этом сообщении маршрутизатор Over-Server объявляет о маршрутах к двум
сетям – к сети 192.168.15.0 с метрикой 2 и к сети 192.168.10.0 с метрикой 16. На самом деле в
таблице маршрутизации маршрутизатора Over-Server (см. рис. 17) имеется запись о маршруте к
сети 192.168.10.0 с метрикой 3, т.е. и объявлять о сети 192.168.10.0 маршрутизатор Over-Server
должен, казалось бы, с метрикой 3. Однако эту запись маршрутизатор Over-Server сделал на
24
основе маршрутной информации, полученной через свой интерфейс 192.168.0.1. Поэтому
сообщать через тот же интерфейс информацию о той же сети, о которой маршрутизатор OverServer узнал через него, не имеет смысла. В такой ситуации у маршрутизатора Over-Server, в
принципе, есть две возможности – либо вообще не сообщать через свой интерфейс 192.168.0.1 о
маршруте к сети 192.168.10.0, либо сообщить через этот интерфейс о том, что достичь сети
192.168.10.0 через маршрутизатор Over-Server нельзя. По умолчанию в маршрутизаторе
Windows 2000 используется вторая возможность. Она реализуется путем указания в
маршрутной информации о той или иной сети метрики 16, означающей, что данная сеть
недостижима.
Получив от маршрутизатора Over-Server RIP-сообщение с маршрутной информацией о двух
сетях (пакет 5), маршрутизатор Under-Server добавляет в свою таблицу маршрутизации только
запись о маршруте к сети 192.168.15.0, так как сеть 192.168.10.0 объявляется с помощью
метрики 16 как недостижимая (через шлюз 192.168.0.1). В результате добавления записи о
маршруте к сети 192.168.15.0 таблица маршрутизации маршрутизатора Under-Server принимает
вид, показанный на рис. 18 (добавленная запись выделена жирным шрифтом).
Сетевой адрес
127.0.0.0
192.168.0.0
192.168.0.3
192.168.0.255
192.168.10.0
192.168.10.1
192.168.10.255
192.168.15.0
224.0.0.0
224.0.0.0
255.255.255.255
255.255.255.255
Маска сети
255.0.0.0
255.255.255.0
255.255.255.255
255.255.255.255
255.255.255.0
255.255.255.255
255.255.255.255
255.255.255.0
240.0.0.0
240.0.0.0
255.255.255.255
255.255.255.255
Адрес шлюза
127.0.0.1
192.168.0.3
127.0.0.1
192.168.0.3
192.168.10.1
127.0.0.1
192.168.10.1
192.168.0.1
192.168.0.3
192.168.10.1
192.168.0.3
192.168.10.1
Интерфейс
127.0.0.1
192.168.0.3
127.0.0.1
192.168.0.3
192.168.10.1
127.0.0.1
192.168.10.1
192.168.0.3
192.168.0.3
192.168.10.1
192.168.0.3
192.168.10.1
Метрика
1
1
1
1
1
1
1
3
1
1
1
1
Рис. 18. Таблица маршрутизации маршрутизатора Under-Server после записи в нее информации о
новом маршруте, полученном с помощью RIP
Так как теперь в таблице маршрутизации маршрутизатора Under-Server появилась запись о
новом маршруте, в следующем посылаемом этим маршрутизатором RIP-сообщении новая
информация должна быть учтена. Следующим RIP-сообщением от маршрутизатора UnderServer является пакет 7. Запись о новом маршруте учтена в этом RIP-сообщении путем
передачи информации о маршруте к сети 192.168.15.0 с метрикой 16, так как информацию о
маршруте к этой сети маршрутизатор Under-Server получил через тот же интерфейс, через
который он передает данное RIP-сообщение. Когда маршрутизатор Over-Server принимает это
RIP-сообщение (пакет 7), он не вносит никаких изменений в свою таблицу маршрутизации, так
как запись о маршруте к сети 192.168.10.0 у него уже имеется, а сеть 192.168.15.0 объявляется в
этом RIP-сообщении как недостижимая (через шлюз 192.168.0.3). Последующие RIP-сообщения
(пакеты 8-15) также не приводят к изменениям в таблицах маршрутизации маршрутизаторов
Over-Server и Under-Server.
На рис. 19 представлены результаты трассировки RIP-сообщений на интерфейсе 192.168.10.1
маршрутизатора Under-Server.
25
Рис. 19. Окно захвата пакетов анализатора EtherPeek на интерфейсе 192.168.10.1 маршрутизатора
Under-Server
Пакет 1 – это сообщение-запрос RIP, передаваемый с интерфейса 192.168.10.1 (“Сеть 1”)
маршрутизатора Under-Server в момент включения протокола RIP на этом интерфейсе. Так как
этот RIP-запрос поступает на хост Notebook, клиентская операционная система которого не
поддерживает передачу сообщений-ответов RIP, RIP-запрос остается без ответа. Пакеты 2-8
представляют собой сообщения-ответы RIP. В RIP-сообщении пакета 2 содержится информация только о маршруте к сети 192.168.15.0 (с метрикой 3), а в RIP-сообщениях пакетов 3-8 –
информация о маршруте к сети 192.168.15.0 (с метрикой 3) и о маршруте к сети 192.168.0.0 (с
метрикой 2). Различие в содержимом названных RIP-сообщений связано с тем, что RIPсообщение пакета 2 является так называемым “инициируемым обновлением”, а RIP-сообщения
пакетов 3-8 – это обычные, периодически генерируемые RIP-сообщения с маршрутной
информацией, передаваемые каждые 30 секунд (по умолчанию).
“Инициируемые обновления” передаются почти сразу же после того, как RIP-маршрутизатор
получает информацию о новых маршрутах, т.е. для передачи новой маршрутной информации
RIP-маршрутизатор не дожидается следующего момента периодической передачи RIPсообщений. Как можно увидеть из рис. 16, маршрутизатор Under-Server впервые получает
информацию о маршруте к сети 192.168.15.0 с метрикой 2 в 17:26:01 (см. пакет 5 на рис. 16).
Через три секунды, т.е. в 17:26:04 (см. пакет 2 на рис. 19), он передает информацию о маршруте
к этой сети с метрикой 3 через свой другой интерфейс. “Инициируемые обновления” ускоряют
процесс сходимости протокола RIP.
Получив RIP-сообщение пакета 2 (см. рис. 19), хост Notebook добавляет в свою таблицу
маршрутизации запись, в которой указывает, что для достижения сети 192.168.15.0 нужно
передавать пакеты через шлюз с адресом 192.168.10.1 (так как именно с этого адреса было
получено RIP-сообщение), и что маршрут к сети 192.168.15.0 имеет метрику 4. Получив RIPсообщение пакета 3, хост Notebook добавляет в свою таблицу маршрутизации еще одну запись,
а именно, запись о маршруте к сети 192.168.0.0 через шлюз 192.168.10.1 с метрикой 3. В
результате добавления названных записей таблица маршрутизации хоста Notebook принимает
вид, показанный на рис. 20 (добавленные записи выделены жирным шрифтом).
Network Destination
127.0.0.0
192.168.0.0
192.168.10.0
192.168.10.4
192.168.10.255
192.168.15.0
224.0.0.0
255.255.255.255
Netmask
255.0.0.0
255.255.255.0
255.255.255.0
255.255.255.255
255.255.255.255
255.255.255.0
240.0.0.0
255.255.255.255
Gateway
127.0.0.1
192.168.10.1
192.168.10.4
127.0.0.1
192.168.10.4
192.168.10.1
192.168.10.4
192.168.10.4
Interface
127.0.0.1
192.168.10.4
192.168.10.4
127.0.0.1
192.168.10.4
192.168.10.4
192.168.10.4
192.168.10.4
Metric
1
3
1
1
1
4
1
1
Рис. 20. Таблица маршрутизации хоста Notebook после записи в нее информации о новых
маршрутах, полученных с помощью RIP
26
Выполним на хосте Notebook команду ping 192.168.15.75:
C:\>ping 192.168.15.75
Pinging 192.168.15.75 with 32 bytes of data:
Reply from 192.168.15.75: bytes=32 time<1ms TTL=127
Reply from 192.168.15.75: bytes=32 time<1ms TTL=127
Reply from 192.168.15.75: bytes=32 time<1ms TTL=127
Reply from 192.168.15.75: bytes=32 time<1ms TTL=127
Теперь сеть работает с использованием RIP.
На рис. 21 в качестве примера показано содержимое захваченного анализатором EtherPeek
кадра Ethernet, соответствующего пакету 3 на рис. 19.
Рис. 21. Кадр Ethernet, содержащий RIP-сообщение с маршрутной информацией, переданное с
интерфейса 192.168.10.1 маршрутизатора Under-Server
27
7. Создание фильтров для фильтрации трафика по IP-адресам и портам
(протоколам)
В контексте netsh routing ip имеется команда add filter, позволяющая создавать фильтры для
фильтрации трафика по IP-адресам и портам (протоколам). Она имеет следующий формат:
add filter [name=]“Имя интерфейса” [filtertype=]{input|output|dial
[srcaddr=]<IP-адрес источника> [srcmask=]<Маска источника>
[dstaddr=]<IP-адрес назначения> [dstmask=]<Маска назначения>
{ [proto=] any|
[proto=]{tcp|udp} [srcport=]<Порт> [dstport=]<Порт> |
[proto=] ICMP [type=]<Тип> [code=]<Код> }
Ниже описаны параметры данной команды и их значения (рассмотрены только параметры и
значения, которые будут использованы в представленных далее примерах):
name
Имя интерфейса, для которого добавляется данный фильтр.
Имя интерфейса
Имя интерфейса в окне “Сеть и удаленный доступ к сети”.
filtertype
Тип фильтра (одно из трех значений: input, output или dial).
input
Входной фильтр.
output
Выходной фильтр.
srcaddr
Адрес источника фильтруемых пакетов.
srcmask
Маска адреса источника фильтруемых пакетов (нулевые адрес и маска означают любой
адрес).
dstaddr
Адрес назначения фильтруемых пакетов.
dstmask
Маска адреса назначения фильтруемых пакетов (нулевые адрес и маска означают любой
адрес).
proto
Тип протокола фильтруемых пакетов (одно из ряда значений, например, any, tcp или udp).
any
Любой протокол.
tcp (udp)
Протокол из стека протоколов TCP (определяется номером порта; если в команде для
параметра proto задано значение tcp или udp, то должны быть обязательно заданы
значения для параметров srcport и dstport).
srcport
Номер порта источника фильтруемых пакетов (0 означает любой порт).
dstport
Номер порта назначения фильтруемых пакетов (0 означает любой порт).
28
По умолчанию фильтр, созданный с помощью команды add filter, запрещает прохождение
через заданный интерфейс пакетов для указанных в команде адресов и портов (порты задавать
необязательно; параметру proto можно присвоить значение any, в результате чего фильтр будет
действовать для всех портов). Чтобы фильтр, созданный с помощью команды add filter,
разрешал прохождение через заданный интерфейс пакетов для указанных адресов и портов,
нужно в контексте netsh routing ip ввести команду set filter, задав для ее параметра action
значение drop (“отбрасывать все пакеты, кроме пакетов, соответствующих условиям, заданным
в команде (командах) add filter”). Команда set filter имеет следующий формат:
set filter [name=]“Имя интерфейса”
[[filtertype=]input|output|dial [action=]drop|forward]
[[fragcheck=]enable|disable]
Ниже описаны параметры данной команды и их значения (рассмотрены только параметры и
значения, которые будут использованы в представленных далее примерах):
name
Имя интерфейса, для которого настраивается данный фильтр.
Имя интерфейса
Имя интерфейса в окне “Сеть и удаленный доступ к сети”.
filtertype
Тип фильтра (одно из трех значений: input, output или dial).
input
Входной фильтр.
output
Выходной фильтр.
action
Действие, выполняемое в случае, если пакет не соответствует заданным в фильтре
(фильтрах) условиям (одно из двух значений: drop или forward).
drop
Отбрасывание пакета.
forward
Пропускание пакета.
Вернемся к лабораторной сети, показанной на рис. 1, и рассмотрим несколько примеров
создания фильтров.
Сначала, не создавая никаких фильтров, введем на маршрутизаторе Under-Server команду netsh
routing ip show filter, отображающую все фильтры, имеющиеся на данном маршрутизаторе:
C:\>netsh routing ip show filter
Входящие
Исходящие
По требованию
------------------- ------------0 <Forward> 0 <Forward> 0 <Forward>
0 <Forward> 0 <Forward> 0 <Forward>
0 <Forward> 0 <Forward> 0 <Forward>
Фрагментирование
---------------Запрещено
Запрещено
Запрещено
Интерфейс
----------------Замыкание на себя
Сеть 2
Сеть 1
Как видно, по умолчанию никаких фильтров не создано. Forward означает, что все пакеты
пропускаются. В случае создания фильтра он будет отбрасывать пакеты, соответствующие
заданным в нем условиям.
29
Изменим настройку входного фильтра по умолчанию для интерфейса “Сеть 2”, введя на
маршрутизаторе Under-Server следующую команду:
C:\>netsh routing ip set filter name=“Сеть 2” filtertype=input action=drop
Проверим результат действия этой команды, отобразив фильтры маршрутизатора Under-Server:
C:\>netsh routing ip show filter
Входящие
Исходящие
По требованию
------------------- ------------0 <Forward> 0 <Forward> 0 <Forward>
0 <Drop>
0 <Forward> 0 <Forward>
0 <Forward> 0 <Forward> 0 <Forward>
Фрагментирование
---------------Запрещено
Запрещено
Запрещено
Интерфейс
----------------Замыкание на себя
Сеть 2
Сеть 1
в первом столбце означает, что все IP-пакеты, поступающие на интерфейс “Сеть 2”
маршрутизатора Under-Server, будут отбрасываться. Если создать на этом интерфейсе входной
фильтр, то все пакеты, соответствующие заданным в нем условиям, будут пропускаться.
Drop
Во всех представленных ниже примерах предполагается, что любой создаваемый фильтр
изначально имеет настройку по умолчанию, т.е. пропускает все пакеты, кроме пакетов,
соответствующих заданным в нем условиям.
Пример 1. Требуется запретить доступ к сети 3 (с адресом 192.168.15.0) из сети 1 (с адресом
192.168.10.0).
Создать соответствующий фильтр можно, в принципе, как на маршрутизаторе Over-Server, так
и на маршрутизаторе Under-Server. Однако рекомендуется создавать фильтры как можно ближе
к источнику запрещаемого трафика, чтобы запрещаемый трафик не занимал сетевые ресурсы на
своем пути к пункту назначения. Исходя из этого правила, фильтр (входной) нужно создать на
интерфейсе “Сеть 1” маршрутизатора Under-Server, введя на нем следующую команду:
C:\>netsh routing ip add filter name=“Сеть 1” filtertype=input
srcaddr=192.168.10.0 srcmask=255.255.255.0 dstaddr=192.168.15.0
dstmask=255.255.255.0 proto=any
При вводе команд можно не указывать названия параметров. Тогда данная команда будет иметь
следующий вид:
C:\>netsh routing ip add filter “Сеть 1” input 192.168.10.0 255.255.255.0
192.168.15.0 255.255.255.0 any
Пример 2. Требуется разрешить доступ к сети 2 (с адресом 192.168.0.0) только хосту Notebook
(с адресом 192.168.10.4).
В данном примере нужно создать выходной фильтр на интерфейсе “Сеть 2” маршрутизатора
Under-Server, введя на этом маршрутизаторе следующие команды:
C:\>netsh routing ip set filter “Сеть 2” output drop
C:\>netsh routing ip add filter “Сеть 2” output 192.168.10.4 255.255.255.255
192.168.0.0 255.255.255.0 any
Первая команда устанавливает интерфейс “Сеть 2” маршрутизатора Under-Server в режим
отбрасывания всех исходящих через этот интерфейс IP-пакетов, т.е. после ввода этой команды
маршрутизатор Under-Server не сможет передавать через свой интерфейс “Сеть 2” (с адресом
192.168.0.3) никаких IP-пакетов (как своих, так и от хоста Notebook). Вторая команда создает на
интерфейсе “Сеть 2” маршрутизатора Under-Server выходной фильтр, который будет
пропускать через этот интерфейс пакеты только от хоста Notebook (с адресом 192.168.10.4),
предназначенные только для узлов сети 192.168.0.0 (при рассмотрении лаборатной сети – для
30
узла Over-Server). Следовательно, хост Notebook не сможет передавать пакеты в сеть
192.168.15.0, а маршрутизатор Under-Server не сможет передавать через свой интерфейс “Сеть
2” вообще никаких IP-пакетов, источником которых он является. Таким образом, если в
лабораторной сети используется протокол маршрутизации RIP, то RIP-сообщения с
маршрутной информацией от маршрутизатора Under-Server пропускаться в сеть 192.168.0.0 не
будут, и в таблице маршрутизации маршрутизатора Over-Server не будет записи о маршруте к
сети 192.168.10.0. В результате при использовании протокола RIP успешное выполнение на
хосте Notebook команды ping 192.168.0.1 будет невозможно, так как маршрутизатор OverServer не сможет вернуть эхо-ответ из-за того, что не будет знать маршрута к сети 192.168.10.0.
Отсюда можно сделать следующий вывод: если в сети используется протокол маршрутизации
RIP, то при создании “разрешающих” фильтров (как в данном примере) нужно создать также
фильтр, который будет пропускать пакеты RIP-сообщений с маршрутной информацией. В
противном случае передача маршрутной информации будет невозможна. Как было указано
выше, RIP-сообщения помещаются в дейтаграммы UDP, которые посылаются с интерфейса
маршрутизатора и его UDP-порта 520 по широковещательному IP-адресу непосредственно
подключенной сети и предназначены для UDP-порта назначения 520. Таким образом, чтобы в
данном примере маршрутизатор Under-Server мог передавать RIP-сообщения в сеть 192.168.0.0,
нужно ввести на нем дополнительно следующую команду:
C:\>netsh routing ip add filter “Сеть 2” output 192.168.0.3 255.255.255.255
192.168.0.255 255.255.255.255 udp 520 520
Выше отмечалось, что для отображения всех фильтров, имеющихся на маршрутизаторе, можно
использовать команду netsh routing ip show filter. Если же нужно просмотреть содержимое
фильтра (фильтров) на конкретном интерфейсе маршрутизатора, то следует использовать
команду netsh routing ip show filter “Имя интерфейса”. Проверим результат действия этой
команды, введя ее на маршрутизаторе Under-Server после создания фильтров для примера 2:
C:\>netsh routing ip show filter “Сеть 2”
Сведения об интерфейсе для интерфейса Сеть 2
------------------------------------------------------Тип фильтра
: OUTPUT
Действие по умолчанию : DROP
Адрес
Маска
Адрес
Маска Протокол Исх.
Порт
источника
источника
назначения
назначения
порт
назн.
---------------------------------------------------------------------------------192.168.10.4 255.255.255.255
192.168.0.0
255.255.255.0
ANY
0
0
192.168.0.3 255.255.255.255 192.168.0.255 255.255.255.255
UDP
520
520
Если в условиях примера 2 требуется разрешить доступ к сети 192.168.15.0 узлам Under-Server
и Notebook, то следует добавить на интерфейсе “Сеть 2” маршрутизатора Under-Server еще два
соответствующих фильтра. В частности, чтобы разрешить доступ к сети 192.168.15.0 узлу
Under-Server, нужно дополнительно ввести на нем следующую команду:
C:\>netsh routing ip add filter “Сеть 2” output 192.168.0.3 255.255.255.255
192.168.15.0 255.255.255.0 any
Чтобы разрешить доступ к сети 192.168.15.0 узлу Notebook, нужно дополнительно ввести на
узле Under-Server следующую команду:
C:\>netsh routing ip add filter “Сеть 2” output 192.168.10.4 255.255.255.255
192.168.15.0 255.255.255.0 any
31
Пример 3. Требуется запретить доступ к службе Telnet узла Over-Server с узла Under-Server и
из сети 1 (с адресом 192.168.10.0).
При создании фильтров необходимо иметь в виду, что обращение к службе Telnet
осуществляется по протоколу Telnet, который использует на транспортном уровне протокол
TCP и порт назначения 23. Можно создать фильтры на маршрутизаторе Over-Server. Однако
лучше создать их на маршрутизаторе Under-Server, чтобы запрещаемый трафик не поступал
напрасно в сеть 2. Таким образом, нужно ввести на маршрутизаторе Under-Server следующие
команды:
C:\>netsh routing ip add filter “Сеть 1” input 192.168.10.0 255.255.255.0
192.168.0.1 255.255.255.255 tcp 0 23
C:\>netsh routing ip add filter “Сеть 1” input 192.168.10.0 255.255.255.0
192.168.15.75 255.255.255.255 tcp 0 23
C:\>netsh routing ip add filter “Сеть 2” output 192.168.0.3 255.255.255.255
192.168.0.1 255.255.255.255 tcp 0 23
C:\>netsh routing ip add filter “Сеть 2” output 192.168.0.3 255.255.255.255
192.168.15.75 255.255.255.255 tcp 0 23
Первая команда создает на интерфейсе “Сеть 1” маршрутизатора Under-Server входной фильтр,
запрещающий доступ к службе Telnet узла Over-Server через его интерфейс с адресом
192.168.0.1 из сети 192.168.10.0. Вторая команда создает на интерфейсе “Сеть 1”
маршрутизатора Under-Server входной фильтр, запрещающий доступ к службе Telnet узла OverServer через его интерфейс с адресом 192.168.15.75 из сети 192.168.10.0. Третья команда
создает на интерфейсе “Сеть 2” маршрутизатора Under-Server выходной фильтр, запрещающий
доступ к службе Telnet узла Over-Server через его интерфейс с адресом 192.168.0.1 от
интерфейса с адресом 192.168.0.3 маршрутизатора Under-Server. Четвертая команда создает на
интерфейсе “Сеть 2” маршрутизатора Under-Server выходной фильтр, запрещающий доступ к
службе Telnet узла Over-Server через его интерфейс с адресом 192.168.15.75 от интерфейса с
адресом 192.168.0.3 маршрутизатора Under-Server.
Пример 4. При предположении, что на компьютере узла Over-Server реализован сервер DNS,
требуется создать фильтр, который разрешал бы обращаться из лабораторной сети к узлу OverServer только при условии, что обращение осуществляется к серверу DNS этого узла и только
от хоста Notebook (с адресом 192.168.10.4).
При создании фильтра необходимо иметь в виду, что протокол DNS использует на
транспортном уровне протокол UDP и для него зарезервирован UDP-порт 53. В данном
примере нужно создать входной фильтр на интерфейсе “Сеть 2” маршрутизатора Over-Server,
введя на этом маршрутизаторе следующие команды:
C:\>netsh routing ip set filter “Сеть 2” input drop
C:\>netsh routing ip add filter “Сеть 2” input 192.168.10.4 255.255.255.255
192.168.0.1 255.255.255.255 udp 0 53
Первая команда устанавливает интерфейс “Сеть 2” маршрутизатора Over-Server в режим
отбрасывания всех входящих через этот интерфейс IP-пакетов, т.е. после ввода этой команды
маршрутизатор Over-Server не сможет принимать через свой интерфейс “Сеть 2” (с адресом
192.168.0.1) никаких IP-пакетов. Вторая команда создает на интерфейсе “Сеть 2”
маршрутизатора Over-Server входной фильтр, который будет пропускать через этот интерфейс
только пакеты протокола UDP от хоста Notebook (с адресом 192.168.10.4), предназначенные для
UDP-порта 53 узла с адресом 192.168.0.1, т.е. узла Over-Server.
32
Чтобы узел Over-Server мог ответить хосту Notebook на запрос DNS, он должен знать маршрут
к сети 192.168.10.0. Если в лабораторной сети используется протокол маршрутизации RIP, то
для выполнения названного требования нужно создать на интерфейсе “Сеть 2” маршрутизатора
Over-Server еще один фильтр, который будет пропускать на этот маршрутизатор пакеты RIPсообщений с маршрутной информацией от маршрутизатора Under-Server, т.е. нужно ввести на
узле Over-Server дополнительно следующую команду:
C:\>netsh routing ip add filter “Сеть 2” input 192.168.0.3 255.255.255.255
192.168.0.255 255.255.255.255 udp 520 520
Созданные на интерфейсе “Сеть 2” маршрутизатора Over-Server фильтры можно просмотреть,
введя на этом маршрутизаторе следующую команду:
C:\>netsh routing ip show filter “Сеть 2”
Сведения об интерфейсе для интерфейса Сеть 2
------------------------------------------------------Тип фильтра
: INPUT
Действие по умолчанию : DROP
Адрес
Маска
Адрес
Маска Протокол Исх.
Порт
источника
источника
назначения
назначения
порт
назн.
---------------------------------------------------------------------------------192.168.10.4 255.255.255.255
192.168.0.1 255.255.255.255
UDP
0
53
192.168.0.3 255.255.255.255 192.168.0.255 255.255.255.255
UDP
520
520
Следует иметь в виду, что после создания этих фильтров узел Over-Server не будет пропускать
в сеть 192.168.15.0 никаких IP-пакетов от узлов Under-Server и Notebook. Чтобы в условиях
примера 4 узел Over-Server предоставлял доступ в сеть 192.168.15.0 узлам Under-Server и
Notebook, нужно создать на интерфейсе “Сеть 2” узла Over-Server соответствующие фильтры. В
частности, чтобы разрешить доступ к сети 192.168.15.0 узлу Under-Server, нужно
дополнительно ввести на узле Over-Server следующую команду:
C:\>netsh routing ip add filter “Сеть 2” input 192.168.0.3 255.255.255.255
192.168.15.0 255.255.255.0 any
Чтобы разрешить доступ к сети 192.168.15.0 узлу Notebook, нужно дополнительно ввести на
узле Over-Server следующую команду:
C:\>netsh routing ip add filter “Сеть 2” input 192.168.10.4 255.255.255.255
192.168.15.0 255.255.255.0 any
В заключение отметим, что для того, чтобы создаваемые фильтры работали, в операционной
системе Windows должна быть запущена служба “Маршрутизация и удаленный доступ”. В
системе Windows 2000 Server эта служба по умолчанию запускается автоматически, а в системе
Windows XP по умолчанию ее нужно запустить вручную.
33
Download