В данной статье пойдёт речь о настройке протокола динамической маршрутизации OSPF. Протокол разработан с целью упростить жизнь сетевым/системным администраторам, которые работают с большим количеством подсетей.
Рассмотрим пример. У вас есть двухэтажное здание, на каждом этаже есть две части помещений, каждая часть использует свою подсеть, маршрутизаторы расположены следующим образом:
RouterA и RouterC обслуживают сотрудников первого этажа, RouterB и RouterD - второго этажа. Связь между первым и вторым этажом осуществляется через маршрутизаторы RouterA и RouterB. Перед вами стоит задача – настроить динамическую маршрутизацию на каждом маршрутизаторе, чтобы не вносить маршруты подсетей на всех устройствах.
Предварительные условия
Предполагается что все устройства с заводскими установками. Используя приведённые ниже примеры, модифицируйте параметры сетевых интерфейсов под своё окружение (переходите к секции Настройка OSPF). Прежде чем использовать данные из статьи, сделайте резервную копию всех маршрутизаторов.
Первоначальные настройки устройств
Все действия выполняйте в привилегированном режиме.
RouterA
! Заходим в режим конфигурирования Router# conf t ! Присваиваем имя маршрутизатору Router(config)#hostname RouterA ! Смотрим доступные интерфейсы RouterA(config)#do sh ip int bri Interface IP-Address OK? Method Status Protocol FastEthernet0/0 unassigned YES unset administratively down down FastEthernet0/1 unassigned YES unset administratively down down Vlan1 unassigned YES unset administratively down down ! Настраиваем интерфейс который «смотрит» на RoutrB RouterA(config)#int fa 0/0 ! Задаём описание интерфейсу RouterA(config-if)#description RouterA to RouterB ! Задаём ip адрес RouterA(config-if)#ip addr 192.168.1.1 255.255.255.0 ! Если интерфейс был выключен (administratively down), включаем его RouterA(config-if)#no shut ! Настраиваем интерфейс, сосед у которого RouterC RouterA(config-if)#int fa 0/1 RouterA(config-if)#descr RouterA to RouterC RouterA(config-if)#ip addr 192.168.3.1 255.255.255.0 RouterA(config-if)#no shut ! Настройка OSPF ! Первой командой будет включение процесса на маршрутизаторе ! Где команда router ospf – включение процесса OSPF на маршрутизаторе ! а 1111 – произвольное id данного процесса RouterA(config)#router ospf 1111 ! Задаём подсети, которые будут участвовать в процессе OSPF ! командой network ! хочу обратить ваше внимание на то, что после подсети нужно указать её wildcard маску ! а в самом конце командой area зону действия OSPF RouterA(config-router)#network 192.168.1.0 0.0.0.255 area 0 RouterA(config-router)#network 192.168.3.0 0.0.0.255 area 0
Как вы, наверное, уже успели заметить, для маршрутизатора RouterA в процессе OSPF мы задали две подсети:
- 192.168.1.0 – подсеть, за которую отвечает маршрутизатор RouterA
- 192.168.3.0 – подсеть соседа (neighbour) за которую отвечает маршрутизатор RouterC
Данные подсети маршрутизатор RouterA в дальнейшем будет транслировать своим следующим соседям, в нашем случае это RouterB.
Настраиваем по аналогии остальные маршрутизаторы.
RouterB
Router#conf t Router(config)#hostname RouterB RouterB(config)#int fa 0/0 RouterB(config-if)#ip addr 192.168.1.2 255.255.255.0 RouterB(config-if)#no shut RouterB(config-if)#int fa 0/1 RouterB(config-if)#ip addr 192.168.4.2 255.255.255.0 RouterB(config-if)#no shut RouterB(config)#router ospf 2222 RouterB(config-router)#network 192.168.1.0 0.0.0.255 area 0 RouterB(config-router)#network 192.168.4.0 0.0.0.255 area 0
RouterC
Router#conf t Router(config)#hostname RouterC RouterC(config)#int fa 0/0 RouterC(config-if)#ip addr 192.168.3.3 255.255.255.0 RouterC(config-if)#no shut RouterC(config)#router ospf 3333 RouterC(config-router)#network 192.168.3.0 0.0.0.255 area 0
RouterD
Router#conf t Router(config)#hostname RouterD RouterD(config)#int fa 0/0 RouterD(config-if)#ip addr 192.168.3.3 255.255.255.0 RouterD(config-if)#no shut RouterD(config)#router ospf 4444 RouterD(config-router)#network 192.168.4.0 0.0.0.255 area 0
После настройки маршрутизатора RouterD должно появиться сообщение о том, что процесс OSPF загрузил таблицу маршрутизации. Пример:
00:38:13: %OSPF-5-ADJCHG: Process 4444, Nbr 192.168.4.2 on FastEthernet0/0 from LOADING to FULL, Loading Done
Проверка
Для проверки необходимо посмотреть таблицу маршрутизации на конечных устройствах. В нашем случае RouterD должен знать маршрут до RouterC и наоборот.
RouterD#sh ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set O 192.168.1.0/24 [110/2] via 192.168.4.2, 00:12:14, FastEthernet0/0 O 192.168.3.0/24 [110/3] via 192.168.4.2, 00:00:02, FastEthernet0/0 C 192.168.4.0/24 is directly connected, FastEthernet0/0 RouterC#sh ip route O 192.168.1.0/24 [110/2] via 192.168.3.1, 00:00:50, FastEthernet0/0 C 192.168.3.0/24 is directly connected, FastEthernet0/0 O 192.168.4.0/24 [110/3] via 192.168.3.1, 00:00:39, FastEthernet0/0 Так же они должны связываться друг с другом. RouterD#ping 192.168.3.3 Sending 5, 100-byte ICMP Echos to 192.168.3.3, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 60/60/60 ms RouterC#ping 192.168.4.4 Sending 5, 100-byte ICMP Echos to 192.168.4.4, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 50/60/70 ms
Полезные команды
Команда, которая отображает интерфейсы соседних маршрутизаторов:
RouterB#sh cdp neighbors Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone Device ID Local Intrfce Holdtme Capability Platform Port ID RouterA Fas 0/0 174 R C1841 Fas 0/0 RouterD Fas 0/1 166 R C1841 Fas 0/0
Команда, которая показывает соседей по OSPF:
RouterB#sh ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 192.168.4.4 1 FULL/DR 00:00:33 192.168.4.4 FastEthernet0/1
Поддержка OSPF в Microsoft Windows
Начиная с Microsoft Windows 2008 поддержка протокола OSPF была прекращена. Причины для этого достаточно просты – лицензии на сервер значительно дороже сетевого оборудования и задачи у операционной системы несколько иные.
Внешние ссылки
Информацию на русском языке о протоколе OSPF вы можете найти на этой странице сайта Cisco.