Урок 27. Настройка статической маршрутизации
Чтобы лучше понять принцип маршрутизации настроим статическую маршрутизацию на основе нескольких примеров. Для настройки подключимся к консоли маршрутизатора посредством консольного (rollover) кабеля, а после установки IP адреса можно подключаться через Telnet/SSH.
После включения питания оборудование проходит диагностику, называемую POST (Power On Self Testing). Если оборудование и система в порядке, то загружается операционная система IOS (Internetwork Operating System).
Если система не содержит конфигурацию, то система запустит мастера первоначальной настройки, с помощью которого можно настроить порты, пароль к системе и т.д.:
Рекомендую пропустить данный этап и настроить необходимые параметры самостоятельно.
Но прежде повторим какие режимы доступны для настройки:
Теперь настроим сеть, указанную на рисунке:
Необходимо настроить маршрутизацию так, чтобы все компьютеры были друг другу доступны.
Приведем настройки для маршрутизатора A_Router. Настройки для маршрутизатора B_Router аналогичны за исключением IP адресов.
Ввод в режим глобальной конфигурации:
Router# confgiure terminal
Меняем имя маршрутизатора:
Router(config)# hostname A_Router
A_Router(config)# — имя поменялось с Router на A_Router
Назначаем IP адрес и маску для интерфейса FastEthernet 0/0, подключенного к локальной сети:
A_Router(config)# interface fastethernet0/0
A_Router(config-if)# ip address 172.16.0.1 255.255.0.0
Затем включаем интерфейс:
A_Router(config-if)# no shutdown
Для информативности можно добавить комментарий к каждому интерфейсу:
A_Router(config-if)# description Connected to LAN as default gateway
То же самое проделаем и с другим интерфейсом, подключенному к маршрутизатору В. Настрой там сеть 10.1.1.0/30. Подобные интерфейсы еще называют WAN (Wide Area Network) интерфейсами.
Теперь настроим статическую маршрутизацию к сети 192.168.1.0/24:
A_Router(config)# ip route 192.168.1.0 255.255.255.0 fastethernet0/1 — через
этот интерфейс доступна сеть 192.168.1.0/24
либо можно ввести IP адрес интерфейса вместо его названия:
A_Router(config)# ip route 192.168.1.0 255.255.255.0 10.0.0.1
Подобные настройки с учетом IP адресов необходимо выполнить и на другом маршрутизаторе.
Вот как выглядит конфигурация на обоих маршрутизаторах:
Теперь выполни команду ping 192.168.1.100 с любого компьютера маршрутизатора A_Router. Если результат выглядит примерно так
то, все настроено правильно.
Поздравляю, статическая маршрутизация выполнена. Теперь каждый маршрутизатор будет доступен с любого компьютера.
Напомню, что данная конфигурация хранится в оперативной памяти, поэтому сохраним ее в энергонезависимой памяти для последующего использования:
A_Router# copy running-config startup-config
Destination filename [startup-config]?
Нажми Enter и конфигурация из оперативной памяти будет скопирована в энергонезависимую.
Running-config — текущая конфигурация в оперативной памяти
Startup-config — сохраненная конфигурация в энергонезависимой памяти NVRAM. Именно этот файл будет загружен в оперативную память маршрутизатора при включении питания.
Чтобы просмотреть текущую конфигурацию введи:
A_Router# show running-config
Чтобы увидеть таблицу маршрутизации введи:
A_Router# show ip route
Ты увидишь новый маршрут обозначенный буквой S, то есть статический (static):
Чтобы увидеть список всех интерфейсов введи:
A_Router# show ip interface brief
Теперь немного усложним задачу. Между маршрутизаторами поставим третий маршрутизатор:
Конфигурация маршрутизатора A_Router не изменилась, а в B_Router необходимо изменить адрес WAN интерфейса.
Вот как будет выглядеть конфигурация C_Router:
Таблицы маршрутизации A_Router и B_Router также не изменились. А в C_Router выглядит так:
А теперь еще больше усложним сеть, добавив четвертый маршрутизатор:
Теперь у нас имеется альтернативный маршрут через маршрутизатор D, который подключен к сети посредством серийных интерфейсов со скоростью передачи в 56 Кбит/с (настройку и принцип работы серийных интерфейсов мы рассмотрим в одном из последующих уроков).
Добавим новый маршрут в A_Router и B_Router. Настроем D_Router аналогично C_Router с учетом адресации.
Теперь таблицы маршрутизации будут выглядеть так:
Запустим утилиту Ping на одном из хостов, чтобы убедиться, что маршрутизация работает правильно.
По какому же маршруту передаются пакеты?
Пакеты передаются одновременно по двум маршрутам, так как по умолчанию на маршрутизаторах Cisco включена балансировка нагрузки.
С одной стороны все выглядит хорошо. Имеется запасной маршрут, повышающий надежность связи. Однако в этом кроется и потенциальная опасность.
В данном примере один маршрут является более медленным по сравнению с другим маршрутом, что может привести к значительным задержкам при передаче пакетов. Это крайне нежелательно при передаче медиатрафика (видео, голос). Для такого типа трафика необходим постоянный маршрут с минимальными задержками, то есть оптимальным решением является использовать быстрый маршрут для всего трафика, а второй — в качестве резервного на случай отказа первого.
Рассмотрим другую ситуацию. Подключим к сети коммутатор:
Конфигурация прежняя. Таблицы маршрутизации на A_Router и B_Router тоже не изменились. Пакеты свободно проходят по двум маршрутам.
Теперь отключим C_Router и проверим как будет работать связь:
В чем же дело? Ведь у нас же есть работающий маршрут.
Взглянем на таблицу маршрутизации A_Router:
Ничего не изменилось. Маршрутизатор считает, что C_Router все еще работает и продолжают передавать через него часть пакетов. Поэтому почти половина пакетов потеряна.
Если мы отключим интерфейс Fast Ethernet 1/0 на A_Router, то запись о маршруте исчезнет из таблицы маршрутизации и все пакеты будут приняты:
Здесь оптимальным решением было бы использовать более медленный маршрут в качестве основного либо изменить топологию сети (данный пример лишь показательный).
Это лишь частные случаи, которые необходимо учитывать в каждой сети.
Какое же решение существует в данных примерах?
Решение простое: в таблицу маршрутизации поместить один (основной) маршрут, который удаляется из таблицы в случае потери связи на канальном уровне. Альтернативный маршрут добавляется в таблицу сразу после удаления основного из таблицы.
Достигается это с помощью установки определенных приоритетов, которые называются административное расстояние (administrative distance).
Административное расстояние показывает насколько надежным является маршрут по сравнению с другими маршрутами и принимает значения от 1 до 255. Чем ниже значение, тем более надежен маршрут. Статические маршруты по умолчанию всегда имеют административное расстояние равным 1. При наличии двух и более маршрутов до одной и той же сети в таблицу маршрутизации помещается маршрут с наименьшим административным расстоянием. То же самое касается и маршрутов, вычисленных динамическими протоколами маршрутизации RIP, OSPF, EIGRP. Каждый из них имеет определенное значение административного расстояния:
Из этого следует, что если в маршрутизаторе работают одновременно 2 и более протоколов маршрутизации, то в таблицу маршрутизации попадут маршруты протокола с более низким административном расстоянием (EIGRP) при условии, что эти протоколы вычислили маршруты до одной и той же сети назначения.
Вот как настраивается административное расстояние для статических маршрутов:
Router(config)# ip route сеть маска исходящий_интерфейс (адрес следующего хопа) административное_расстояние
Следует быть внимательным и аккуратным при использовании статической маршрутизации.
Где используется статическая маршрутизация?
Чаще всего на маршрутизаторах клиентов, подключенных к провайдерам. В большинстве случаев такие маршрутизаторы имеют 2 интерфейса, поэтому достаточно пересылать пакеты до любых сетей через WAN интерфейс.
Неужели в этом случае для каждой сети нужно настраивать отдельный маршрут?
Нет, достаточно ввести такую команду:
Router(config)# ip route 0.0.0.0 0.0.0.0 интерфейс (адрес следующего хопа )
Данная запись означает все сети, то есть образуют единый маршрут для всех сетей. Поэтому нет необходимости настраивать маршруты для каждой отдельной сети.
Router(config)# ip route 82.23.56.1 255.255.255.255 fastethernet1/0
означает маршрут до конкретного хоста, а не сети. С помощью маски и технологии VLSM можно объединять несколько маршрутов в один общий, если они проходят через один и тот же интерфейс или маршрутизатор.
Источник
Не работает таблица маршрутизации
Маршрутизация в Windows
Маршрутизация – это процесс передачи IP-трафика адресатам в сети, то есть процесс передачи пакетов от хоста-источника к хосту-адресату через промежуточные маршрутизаторы. Изучая эту статью предполагается что вы изучили материал основы компьютерных сетей.
Изучим как работает маршрутизация в Windows, что бы понять как она работает, а не просто прочитать и забыть, вам необходимо несколько виртуальных машин, а именно:
- ВМ с Windows XP.
- 2 ВМ с Windows Server 2003.
Учтите, что при настройке виртуальных машин, в настройках сети нужно указать «Внутренняя сеть» и задать одинаковое имя сети для всех машин.
Если вы не поленитесь и установите три виртуальные машины, а так же изучите этот материал до конца, то у вас будет практическое понимание работы сети в операционных системах семейства Windows.
Для простоты передачи данных хост-источник и маршрутизатор принимают решения о передаче пакетов на основе своих таблиц IP-маршрутизации. Записи таблицы создаются при помощи:
- Программного обеспечения стека TCP/IP.
- Администратора, путем конфигурирования статических маршрутов.
- Протоколов маршрутизации, одним из которых является протокол передачи маршрутной информации – RIP.
По сути, таблица маршрутизации – это база данных, которая хранится в памяти всех IP-узлов. Цель таблицы IP-маршрутизации это предоставление IP-адреса назначения для каждого передаваемого пакета для следующего перехода в сети.
Пример маршрутизации в Windows
Допустим, у нас есть три узла:
- Windows XP.
- Windows Server 2003 – 1.
- Windows Server 2003 – 2.
Хост XP имеет один сетевой адаптер (интерфейс) с IP-адресом 192.168.0.2 и маской подсети 255.255.255.0. Маршрутизатор Server1 имеет два интерфейса с IP-адресами 192.168.0.1 и 192.168.1.1 и масками подсети 255.255.255.0. Маршрутизатор Server2 также имеет 2 сетевых адаптера с IPадресами 192.168.1.2 и 192.168.2.1 и масками подсети 255.255.255.0. Таким образом, мы имеем 3 сети: сеть с IP-адресом 192.168.0.0 (Net 1), сеть с IP-адресом 192.168.1.0 (Net 2), сеть с IP-адресом 192.168.2.0 (Net 3).
Таблица маршрутизации
Таблица маршрутизации по умолчанию создается на узле автоматически с помощью программного обеспечения стека TCP/IP.
При настройке сетевого подключения на хосте XP были статически заданы IP-адрес 192.168.0.2 и маска подсети 255.255.255.0, основной шлюз задан не был. Программное обеспечение стека TCP/IP автоматически создало таблицу маршрутизации по умолчанию.
Что бы просмотреть таблицы маршрутизации на узле XP выполним команду route print в командной строке (Пуск -> Выполнить -> cmd ).
Таблица маршрутизации содержит для каждой записи следующие поля: Сетевой адрес (Network Destination), Маска сети (Netmask), Адрес шлюза (Gateway), Интерфейс (Interface) и Метрика (Metric). Разберем каждое поле подробнее.
Сетевой адрес. Поле определяет диапазон IP-адресов достижимых с использованием данной таблицы.
Маска сети. Битовая маска, которая служит для определения значащих разрядов в поле Сетевой адрес. Маска состоит из непрерывных единиц и нулей, отображается в десятичном коде. Поля Сетевой адрес и Маска определяют один или несколько IP-адрес.
Адрес шлюза. В этом поле содержаться IP-адрес, по которому должен быть направлен пакет, если он соответствует данной записи таблицы маршрутизации.
Интерфейс. Данное поле содержит адрес логического или физического интерфейса, используемого для продвижения пакетов, соответствующих данной записи таблицы маршрутизации.
Метрика. Используется для выбора маршрута, в случае если имеется несколько записей, которые соответствуют одному адресу назначения с одной и той же маской, то есть в случае если одного адресата можно достичь разными путями, через разные маршруты. При этом, чем меньше значение метрики тем короче маршрут.
На начальном этапе работы (т.е. с таблицами маршрутизации по умолчанию) маршрутизатор (хост) знает только, как достичь сетей, с которыми он соединен непосредственно. Пути в другие сети могут быть «выяснены» следующими способами:
- с помощью статических маршрутов;
- с помощью маршрутов по умолчанию;
- с помощью маршрутов, определенных протоколами динамической маршрутизации.
Рассмотрим каждый из способов по порядку.
Статическая маршрутизация
Статические маршруты задаются вручную. Плюс статических маршрутов в том, что они не требуют рассылки широковещательных пакетов с маршрутной информацией, которые занимают полосу пропускания сети.
Минус статических маршрутов состоит в том, что при изменении топологии сети администратор должен вручную изменить все статические маршруты, что довольно трудоемко, в случае если сеть имеет сложную структуру с большим количеством узлов.
Второй минус заключается в том, что при отказе какого-либо канала статический маршрут перестанет работать, даже если будут доступны другие каналы передачи данных, так как для них не задан статический маршрут.
Но вернемся к нашему примеру. Наша задача, имя исходные данные, установить соединения между хостом XP и Server2 который находится в сети Net3, то есть нужно что бы проходил пинг на 192.168.2.1.
Начнем выполнять на хосте XP команды ping постепенно удаляясь от самого хоста. Выполните в Командной строке команды ping для адресов 192.168.0.2, 192.168.0.1, 192.168.1.1.
Мы видим, что команды ping по адресу собственного интерфейса хоста XP и по адресу ближайшего интерфейса соседнего маршрутизатора Server1 выполняются успешно.
Однако при попытке получить ответ от второго интерфейса маршрутизатора Server1 выводится сообщение «Заданный узел недоступен» или «Превышен интервал ожидания для запроса».
Это связано с тем, что в таблице маршрутизации по умолчанию хоста XP имеются записи о маршруте к хосту 192.168.0.2 и о маршруте к сети 192.168.0.0, к которой относится интерфейс маршрутизатора Server1 с адресом 192.168.0.1. Но в ней нет записей ни о маршруте к узлу 192.168.1.1, ни о маршруте к сети 192.168.1.0.
Добавим в таблицу маршрутизации XP запись о маршруте к сети 192.168.1.0. Для этого введем команду route add с необходимыми параметрами:
route add [адресат] [mask маска] [шлюз] [metric метрика] [if интерфейс]
Параметры команды имеют следующие значения:
- адресат — адрес сети или хоста, для которого добавляется маршрут;
- mask — если вводится это ключевое слово, то следующий параметр интерпретируется как маска подсети, соответственно маска — значение маски;
- шлюз — адрес шлюза;
- metric — после этого ключевого слова указывается метрика маршрута до адресата (метрика);
- if — после этого ключевого слова указывается индекс интерфейса, через который будут направляться пакеты заданному адресату.
Индекс интерфейса можно определить из секции Список интерфейсов (Interface List) выходных данных команды route print.
Выполним команду route print .
Теперь мы видим , что хост XP имеет два интерфейса: логический интерфейс замыкания на себя (Loopback) и физический интерфейс с сетевым адаптером Intel(R) PRO/1000. Индекс физического интерфейса – 0x2.
Теперь, зная индекс физического интерфейса, на хосте добавьте нужный маршрут, выполнив следующую команду:
route add 192.168.1.0 mask 255.255.255.0 192.168.0.1 metric 2 if 0x2
Данная команда сообщает хосту XP о том, что для того, чтобы достичь сети 192.168.1.0 с маской 255.255.255.0, необходимо использовать шлюз 192.168.0.1 и интерфейс с индексом 0x2, причем сеть 192.168.1.0 находится на расстоянии двух транзитных участка от хоста XP.
Выполним пинг на 192.168.1.1 и убедимся, что связь есть.
Продолжим пинговать серверы, теперь проверьте отклик от второго маршрутизатора, присоединенного к сети Net2 (Server2). Он имеет IP-адрес 192.168.1.2.
Получаем сообщение «Превышен интервал ожидания запроса». В данном случае это означает что наш хост XP знает как отправлять данные адресату, но он не получает ответа.
Это происходит по тому, что хост Server2 не имеет информации о маршруте до хоста 192.168.0.1 и до сети 192.168.0.0 соответственно, поэтому он не может отправить ответ.
Для этого необходимо выполнить команду route add с соответствующими параметрами, однако сначала необходимо узнать индекс интерфейса с адресом 192.168.1.2.
На Server2 выполним команду route print и посмотрим индекс первого физического интерфейса. Далее, с помощью команды route add добавьте на Server2 маршрут до сети Net1, аналогично тому, как мы добавляли маршрут хосту XP.
В моем случае это команда:
route add 192.168.0.0 mask 255.255.255.0 192.168.1.1 metric 2 if 0x10003
0x10003 — это индекс физического интерфейса сервера 2.
Индекс физического интерфейса может быть разным, обязательно обращайте на него внимание.
После того, как удостоверитесь в наличии связи между узлами XP и Server2, выполните команду ping 192.168.2.1, т.е. проверьте наличие маршрута узла XP до сети Net3 (192.168.2.1 – IP-адрес маршрутизатора Server2 в сети Net3).
Вместо ответа вы получите сообщение «Заданный узел недоступен». С этой проблемой мы сталкивались еще в самом начале лабораторной работы, машина XP не знает путей до сети 192.168.2.0.
Добавьте в таблицу маршрутизации хоста XP запись о маршруте к сети 192.168.2.0. Это можно сделать путем ввода в командной строке хоста XP команды route add с соответствующими параметрами:
route add 192.168.2.0 mask 255.255.255.0 192.168.0.1 metric 3 if 0x2
Я не буду подробно описывать как полностью настроить статическую маршрутизацию между узлами, думаю что суть ясна. Если у вас появились вопросы — задавайте их в комментариях.
Маршрутизация по умолчанию
Второй способ настройки маршрутизации в Windows — то маршрутизация по умолчанию.
Для маршрутизации по умолчанию необходимо задать на всех узлах сети маршруты по умолчанию.
Для добавления такого маршрута на хосте XP выполните следующую команду:
route add 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 2 if 0x10003
Эта команда сообщает хосту XP о том, что для того, чтобы достичь любой сети, маршрут к которой отсутствует в таблице маршрутизации, необходимо использовать шлюз 192.168.0.1 и интерфейс с индексом 0x10003 .
Это так называемый маршрут по умолчанию.
Проверьте работоспособность с помощью команды ping.
Динамическая маршрутизация, протокол RIP
Протокол RIP (Routing Information Protocol или Протокол передачи маршрутной информации) является одним из самых распространенных протоколов динамической маршрутизации.
Его суть заключается в том, что маршрутизатор использующий RIP передает во все подключенные к нему сети содержимое своей таблицы маршрутизации и получает от соседних маршрутизаторов их таблицы.
Есть две версии протокола RIP. Версия 1 не поддерживает маски, поэтому между сетями распространяется только информация о сетях и расстояниях до них. При этом для корректной работы RIP на всех интерфейсах всех маршрутизаторов составной сети должна быть задана одна и та же маска.
Протокол RIP полностью поддерживается только серверной операционной системой, тогда как клиентская операционная система (например, Windows XP) поддерживает только прием маршрутной информации от других маршрутизаторов сети, а сама передавать маршрутную информацию не может.
Настраивать RIP можно двумя способами:
- В графическом режиме с помощью оснастки “Маршрутизация и удаленный доступ”.
- В режиме командной строки с помощью утилиты netsh.
Рассмотрим настройку в режиме командной строки с помощью утилиты netsh.
Netsh – это утилита командной строки и средство выполнения сценариев для сетевых компонентов операционных систем семейства Windows (начиная с Windows 2000).
Введите в командной строке команду netsh, после появления netsh> введите знак вопроса и нажмите Enter, появиться справка по команде.
Введите последовательно команды:
Вы увидите, что среди доступных команд этого контекста есть команда add interface, позволяющая настроить RIP на заданном интерфейсе. Простейший вариант этой команды – add interface «Имя интерфейса».
Если ввести в Windows XP в контексте netsh routing ip rip команду add interface «Net1» , то получим сообщение «RIP должен быть установлен первым». Дело в том, что Установить RIP можно только в серверной операционной системе. В Windows Server 2003 в RIP включается в оснастке «Маршрутизация и удаленный доступ» (Пуск –> Программы –> Администрирование –> Маршрутизация и удаленный доступ). Таким образом, включить RIP в нашем случае можно только на маршрутизаторах Server1 и Server2.
Настроим RIP на Server1. Но сначала нужно выключит брандмауэр.
Теперь в оснастке «Маршрутизация и удаленный доступ» в контекстном меню пункта SERVER1 (локально) выберите пункт «Настроить и включить Маршрутизация ЛВС
В появившемся окне мастера нажмите «Далее».
На следующем этапе выберите «Особая конфигурация» и нажмите «Далее».
После чего нужно выбрать «Маршрутизация ЛВС» и завершить работу мастера.
То же самое нужно выполнить на Server2.
Настройка через оснастку
В контекстном меню вкладки «Общие» (SERVER1 –> IP-маршрутизация –> Общие) нужно выбрать пункт «Новый протокол маршрутизации».
Затем выделяем строку «RIP версии 2 для IP».
В контекстном меню появившейся вкладки «RIP» выберите «Новый интерфейс». Выделите строку «Подключение по локальной сети» и нажмите ОК.
Перед вами появиться окно.
В появившемся окне необходимо задать следующие настройки:
- Режим работы –> Режим периодического обновления.
- Протокол для исходящих пакетов –> Для RIP версии 1.
- Протокол входящих пакетов –> Только для RIP версии 1.
Оставьте оставшиеся настройки по умолчанию и нажмите ОК.
Далее необходимо выполнить эти действия для второго сетевого интерфейса.
После выполните те же действия для Sever2.
Проверьте, с помощью команды ping, работу сети.
Поздравляю! Маршрутизация в Windows изучена.
Обучаю HTML, CSS, PHP. Создаю и продвигаю сайты, скрипты и программы. Занимаюсь информационной безопасностью. Рассмотрю различные виды сотрудничества.
Источник