Время на прочтение
9 мин
Количество просмотров 137K
В прошлой статье мы рассмотрели основные моменты настройки сетевого оборудования HUAWEI и остановились на статической маршрутизации. В сегодняшнем топике речь пойдёт о динамической маршрутизации по протоколу OSPF совместно с маршрутизаторами Cisco. Добро пожаловать под кат.
Теория
Итак, в нашей супер сети присутствуют 4 маршрутизатора: два HUAWEI и два Cisco. Роутер R2 будет являться ASBR, R3 — ABR.
Напомню, что в OSPF маршрутизаторы делятся на несколько типов:
- Внутренний маршрутизатор (internal router) — маршрутизатор, все интерфейсы которого принадлежат одной зоне. У таких маршрутизаторов только одна база данных состояния каналов.
- Пограничный маршрутизатор (area border router, ABR) — соединяет одну или больше зон с магистральной зоной и выполняет функции шлюза для межзонального трафика. У пограничного маршрутизатора всегда хотя бы один интерфейс принадлежит магистральной зоне. Для каждой присоединенной зоны маршрутизатор поддерживает отдельную базу данных состояния каналов.
- Магистральный маршрутизатор (backbone router) — маршрутизатор, у которого всегда хотя бы один интерфейс принадлежит магистральной зоне. Определение похоже на пограничный маршрутизатор, однако магистральный маршрутизатор не всегда является пограничным. Внутренний маршрутизатор интерфейсы которого принадлежат нулевой зоне, также является магистральным.
- Пограничный маршрутизатор автономной системы (AS boundary router, ASBR) — обменивается информацией с маршрутизаторами, принадлежащими другим автономным системам или не-OSPF маршрутизаторами. Пограничный маршрутизатор автономной системы может находиться в любом месте автономной системы и быть внутренним, пограничным или магистральным маршрутизатором.[1]
Area 0 — магистральная (backbone) зона, area 1 — тупиковая зона (stub).
- Магистральная (транзитная) зона (backbone (transit) area) — зона используемая для подключения других зон.
- Тупиковая зона (stub area) — зона, не принимающая информацию о маршрутах, являющихся внешними для данной автономной системы.
- Полностью тупиковая зона (totally stub area) — зона, не принимающая информацию о внешних маршрутах и маршрутах из других автономных систем.
Итак, приступим к настройке.
Первоначальная настройка:
Для начала нам необходимо создать vlan интерфейс, назначить ему соответствующий ip адрес и разрешить прохождение трафика через физический интерфейс, таким образом добиться ip коннективити между девайсами.
После этого включим процесс OSPF на маршрутизаторах:
Cisco:
R1(config)#router ospf 1
R1(config-router)#network 172.16.1.0 0.0.0.255 area 0
R1(config-router)#network 1.1.1.1 0.0.0.0 area 0
R1(config-router)#router
R1(config-router)#router-id 1.1.1.1
HUAWEI:
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]
Естественно, при настройке необходимо изменить значения router-id и анонсируемые сети для разных зон. Таким образом, первоначальная конфигурация OSPF будет выглядеть так:
R1 [Cisco]:
router ospf 1
router-id 1.1.1.1
log-adjacency-changes
redistribute static
network 1.1.1.1 0.0.0.0 area 0
network 172.16.1.0 0.0.0.255 area 0
!
R2 [HUAWEI]:
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 172.16.1.0 0.0.0.255
network 2.2.2.2 0.0.0.0
#
R3 [HUAWEI]:
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 3.3.3.0 0.0.0.3
network 172.16.1.0 0.0.0.255
area 0.0.0.1
network 172.16.2.0 0.0.0.3
#
R4: [Cisco]
router ospf 1
log-adjacency-changes
area 1 stub
network 4.4.4.4 0.0.0.0 area 1
network 172.16.2.0 0.0.0.3 area 1
!
Маршрутизатор R4 является ABR, поэтому в нём описываются несколько зон. Пока мы не будем переводить зону 1 в состояние stub. Посмотрим, что у нас получилось:
Switch#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 1 FULL/BDR 00:00:39 172.16.1.2 Vlan100
3.3.3.3 1 FULL/DR 00:00:31 172.16.1.3 Vlan100
Switch#
DR, BDR, DROTHER
Мы видим, что маршрутизаторы R2 и R3 выбрались BDR и DR, соответственно. Напомню что это означает. Так как познать всю теорию OSPF не является целью нашего повествования, опишем эти понятия вкратце.
- DR, designated router (выделенный маршрутизатор) — маршрутизатор который управляет процессом обмена сообщениями в сети OSPF.
- BDR, backup designated router (резервный выделенный маршрутизатор) — маршрутизатор, который заменяет DR в случае выбывания последнего.
Выбор BDR и DR осуществляется на основе приоритета маршрутизатора, но по умолчанию приоритеты всех устройств равны 1. В этом случае процесс выбора проходит по идентификатору маршрутизатора, что мы и наблюдаем. Но есть одно НО. Если DR и BDR уже выбраны, перевыборы не происходят. Действует принцип: кто первый встал того и тапки. Проверим. Для этого исключим из процесса маршрутизатор R2.
[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]undo network 172.16.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]
Теперь R1 стал BDR, R3 же остался DR:
R1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
3.3.3.3 1 FULL/DR 00:00:33 172.16.1.3 Vlan100
R1#
[R3]display ospf peer
OSPF Process 1 with Router ID 3.3.3.3
Neighbors
Area 0.0.0.0 interface 172.16.1.3(Vlanif100)'s neighbors
Router ID: 1.1.1.1 Address: 172.16.1.1
State: Full Mode:Nbr is Slave Priority: 1
!!!!!DR: 172.16.1.3 BDR: 172.16.1.1!!!!! MTU: 1500
Dead timer due in 35 sec
Retrans timer interval: 4
Neighbor is up for 00:35:59
Authentication Sequence: [ 0 ]
Neighbors
Area 0.0.0.1 interface 172.16.2.1(Vlanif101)'s neighbors
Router ID: 4.4.4.4 Address: 172.16.2.2
State: Full Mode:Nbr is Master Priority: 1
DR: 172.16.2.2 BDR: 172.16.2.1 MTU: 1500
Dead timer due in 33 sec
Retrans timer interval: 5
Neighbor is up for 00:56:48
Authentication Sequence: [ 0 ]
[R3]
Сейчас мы снова включим в процесс OSPF на роутере R2 сеть 172.16.1.0/24.
[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]
Теперь посмотрим состояние маршрутизаторов:
R1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 1 FULL/DROTHER 00:00:36 172.16.1.2 Vlan100
3.3.3.3 1 FULL/DR 00:00:39 172.16.1.3 Vlan100
R1#
Второй маршрутизатор перешёл в состояние DROTHER, т. е. он не является ни DR, ни BDR. Да будет так.
Межзональный обмен маршрутами
Теперь посмотрим, что мы имеем в таблицах маршрутизации.
R1#show ip route
Codes: C - connected, S - static, 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, su - IS-IS summary, 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
1.0.0.0/32 is subnetted, 1 subnets
C 1.1.1.1 is directly connected, Loopback0
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/1] via 172.16.1.2, 00:05:59, Vlan100
3.0.0.0/32 is subnetted, 1 subnets
O 3.3.3.3 [110/1] via 172.16.1.3, 00:05:59, Vlan100
4.0.0.0/32 is subnetted, 1 subnets
O IA 4.4.4.4 [110/3] via 172.16.1.3, 00:05:59, Vlan100
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.1.0/24 is directly connected, Vlan100
O IA 172.16.2.0/30 [110/2] via 172.16.1.3, 00:05:59, Vlan100
R1#
Флаги IA означают, что маршрут пришёл из другой зоны OSPF.
То же самое на HUAWEI.
[R2]disp ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 OSPF 10 2 D 172.16.1.1 Vlanif100
2.2.2.2/32 Direct 0 0 D 127.0.0.1 LoopBack0
3.3.3.3/32 OSPF 10 1 D 172.16.1.3 Vlanif100
4.4.4.4/32 OSPF 10 3 D 172.16.1.3 Vlanif100
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
172.16.1.0/24 Direct 0 0 D 172.16.1.2 Vlanif100
172.16.1.2/32 Direct 0 0 D 127.0.0.1 Vlanif100
172.16.2.0/30 OSPF 10 2 D 172.16.1.3 Vlanif100
[R2]
В глобальной таблице маршрутизации явно не видно, что маршрут 4.4.4.4/32 пришёл из другой зоны. Посмотрим более детально маршруты по протоколу OSPF.
[R2]dis ospf routing
OSPF Process 1 with Router ID 2.2.2.2
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
2.2.2.2/32 0 Stub 2.2.2.2 2.2.2.2 0.0.0.0
172.16.1.0/24 1 Transit 172.16.1.2 2.2.2.2 0.0.0.0
1.1.1.1/32 2 Stub 172.16.1.1 1.1.1.1 0.0.0.0
3.3.3.3/32 1 Stub 172.16.1.3 3.3.3.3 0.0.0.0
4.4.4.4/32 3 Inter-area 172.16.1.3 3.3.3.3 0.0.0.0
172.16.2.0/30 2 Inter-area 172.16.1.3 3.3.3.3 0.0.0.0
Total Nets: 6
Intra Area: 4 Inter Area: 2 ASE: 0 NSSA: 0
[R2]
Здесь мы видим, что маршруты 4.4.4.4/32 и 172.16.2.0/30 пришли из другой зоны (Inter-area).
Редистрибьюция маршрутов
Усложним ситуацию. Вспомним, что маршрутизатор R2 по совместительству является пограничным маршрутизатором автономной системы, т. е. за ним потенциально могут быть другие маршрутизаторы. Добавим парочку статических маршрутов в рай, т. е. туда, откуда не возвращаются, да простят меня DNS’ы гугла.
[R2]ip route-static 8.8.8.8 32 NULL0
[R2]ip route-static 8.8.4.4 32 NULL0
И добавим редистрибьюцию статических маршрутов:
[R2]ospf 1
[R2-ospf-1]import-route static
Т. о. образом конфиг секции OSPF на маршрутизаторе R2:
[R2-ospf-1]di th
#
ospf 1 router-id 2.2.2.2
import-route static
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 172.16.1.0 0.0.0.255
#
return
[R2-ospf-1]
Посмотрим таблицы маршрутизации.
R1#show ip route
Codes: C - connected, S - static, 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, su - IS-IS summary, 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
1.0.0.0/32 is subnetted, 1 subnets
C 1.1.1.1 is directly connected, Loopback0
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/1] via 172.16.1.2, 00:01:49, Vlan100
3.0.0.0/32 is subnetted, 1 subnets
O 3.3.3.3 [110/1] via 172.16.1.3, 00:01:49, Vlan100
4.0.0.0/32 is subnetted, 1 subnets
O IA 4.4.4.4 [110/3] via 172.16.1.3, 00:01:49, Vlan100
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.1.0/24 is directly connected, Vlan100
O IA 172.16.2.0/30 [110/2] via 172.16.1.3, 00:01:50, Vlan100
8.0.0.0/32 is subnetted, 2 subnets
O E2 8.8.8.8 [110/1] via 172.16.1.2, 00:01:50, Vlan100
O E2 8.8.4.4 [110/1] via 172.16.1.2, 00:01:52, Vlan100
9.0.0.0/32 is subnetted, 1 subnets
O E2 9.9.9.9 [110/1] via 172.16.1.2, 00:01:52, Vlan100
R1#
Флаг E означает, что маршруты импортировались из другого протокола маршрутизации.
То же самое на HUAWEI:
[R3]disp ospf routing
OSPF Process 1 with Router ID 3.3.3.3
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
3.3.3.3/32 0 Stub 3.3.3.3 3.3.3.3 0.0.0.0
172.16.1.0/24 1 Transit 172.16.1.3 3.3.3.3 0.0.0.0
172.16.2.0/30 1 Transit 172.16.2.1 3.3.3.3 0.0.0.1
1.1.1.1/32 2 Stub 172.16.1.1 1.1.1.1 0.0.0.0
2.2.2.2/32 1 Stub 172.16.1.2 2.2.2.2 0.0.0.0
4.4.4.4/32 2 Stub 172.16.2.2 4.4.4.4 0.0.0.1
Routing for ASEs
Destination Cost Type Tag NextHop AdvRouter
8.8.4.4/32 1 Type2 1 172.16.1.2 2.2.2.2
8.8.8.8/32 1 Type2 1 172.16.1.2 2.2.2.2
Total Nets: 8
Intra Area: 6 Inter Area: 0 ASE: 2 NSSA: 0
[R3]
Настройка тупиковых зон
Переходим к заключительному этапу — настройке тупиковой зоны area 1. Предварительно посмотрим какие маршруты пришли на несправедливо забытый маршрутизатор R4.
R4#show ip route
Codes: C - connected, S - static, 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, su - IS-IS summary, 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
1.0.0.0/32 is subnetted, 1 subnets
O IA 1.1.1.1 [110/3] via 172.16.2.1, 00:02:18, Vlan101
2.0.0.0/32 is subnetted, 1 subnets
S 2.2.2.2 [1/0] via 172.16.2.1
3.0.0.0/32 is subnetted, 1 subnets
O IA 3.3.3.3 [110/1] via 172.16.2.1, 00:02:18, Vlan101
4.0.0.0/32 is subnetted, 1 subnets
C 4.4.4.4 is directly connected, Loopback0
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
O IA 172.16.1.0/24 [110/2] via 172.16.2.1, 00:02:18, Vlan101
C 172.16.2.0/30 is directly connected, Vlan101
8.0.0.0/32 is subnetted, 2 subnets
O E2 8.8.8.8 [110/1] via 172.16.2.1, 00:02:19, Vlan101
O E2 8.8.4.4 [110/1] via 172.16.2.1, 00:02:21, Vlan101
C 192.168.254.0/24 is directly connected, Vlan96
R4#
Видим, что пришли абсолютно все маршруты. Переведём зону 1 в тупиковую.
[R3]ospf 1
[R3-ospf-1]area 1
[R3-ospf-1-area-0.0.0.1]stub
[R3-ospf-1-area-0.0.0.1]
R4(config)#router ospf 1
R4(config-router)#area 1 stub
R4(config-router)#
Смотрим таблицу маршрутизации:
R4#show ip route
Codes: C - connected, S - static, 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, su - IS-IS summary, 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 172.16.2.1 to network 0.0.0.0
1.0.0.0/32 is subnetted, 1 subnets
O IA 1.1.1.1 [110/3] via 172.16.2.1, 00:01:54, Vlan101
2.0.0.0/32 is subnetted, 1 subnets
O IA 2.2.2.2 [110/2] via 172.16.2.1, 00:00:04, Vlan101
3.0.0.0/32 is subnetted, 1 subnets
O IA 3.3.3.3 [110/1] via 172.16.2.1, 00:01:54, Vlan101
4.0.0.0/32 is subnetted, 1 subnets
C 4.4.4.4 is directly connected, Loopback0
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
O IA 172.16.1.0/24 [110/2] via 172.16.2.1, 00:01:54, Vlan101
C 172.16.2.0/30 is directly connected, Vlan101
C 192.168.254.0/24 is directly connected, Vlan96
O*IA 0.0.0.0/0 [110/2] via 172.16.2.1, 00:01:54, Vlan101
R4#
Видим, что пришли все маршруты, кроме маршрутов из других автономных систем. На все остальные адреса пакеты будут маршрутизироваться по вновь пришедшему дефолтному маршруту.
Переведём зону 1 в абсолютно тупиковую. Это можно сделать только на ABR маршрутизаторе.
[R3]ospf 1
[R3-ospf-1]area 1
[R3-ospf-1-area-0.0.0.1]stub no-summary
[R3-ospf-1-area-0.0.0.1]
Посмотрим таблицу маршрутизации:
R4#show ip route
Codes: C - connected, S - static, 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, su - IS-IS summary, 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 172.16.2.1 to network 0.0.0.0
4.0.0.0/32 is subnetted, 1 subnets
C 4.4.4.4 is directly connected, Loopback0
172.16.0.0/30 is subnetted, 1 subnets
C 172.16.2.0 is directly connected, Vlan101
C 192.168.254.0/24 is directly connected, Vlan96
O*IA 0.0.0.0/0 [110/2] via 172.16.2.1, 00:00:03, Vlan101
R4#
Видим, что теперь все пакеты, кроме подключенных напрямую сетей будут маршрутизироваться по дефолтному маршруту.
На этом всё. Спасибо за внимание.
Список использованных источников
1. OSPF xgu.ru — xgu.ru/wiki/OSPF
2. К. Пакет, Д. Тир: Создание масштабируемых сетей Cisco
3. HedEx Lite — документация по оборудованию HUAWEI.
OSPF (англ. Open Shortest Path First) — протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала (link-state technology) и использующий для нахождения кратчайшего пути алгоритм Дейкстры. В статье подробно рассмотрены различные настройки OSPF на маршрутизаторах Mikrotik. Вся конфигурация будет производится через GUI Winbox.
Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.
Содержание
- НастройкаOSPFc одной областью
- Настройкаrouter-id
- Настройка областиOSPF
- Настройка Сети
- многозонная конфигурацияOSPF
- Настройка маршрутов
- НастройкаOSPF вNBMA сетях
Рассмотрим, как настроить сеть OSPF c одной областью. Предположим, у нас есть следующая схема.
В примере сеть состоит из трех маршрутизаторов mikrotik, соединенных вместе одним адресным пространством 10.10.1.0/24, и каждый маршрутизатор имеет еще по одной подключенной сети.
В этом примере на маршрутизаторах настроены следующие IP-адреса:
R1
Ether1-10.10.1.1/30
Ether2-10.10.1.5/30
Ether3-210.13.1.0/28
R2
Ether1-10.10.1.6/30
Ether2-10.10.1.9/30
Ether3-172.16.1.0/16
R3
Ether1-10.10.1.2/30
Ether2-10.10.1.10/30
Ether3-192.168.1.0/24
Конфигурация OSPF осуществляется следующими основными шагами
- Настроить router-id
- Конфигурация области
- Конфигурация сети
Настройка router-id
Настраиваем маршрутизатор Микротик R1
Переходим в меню Routing – OSPF вкладка Instances. Здесь должен быть уже созданный экземпляр default , если его нет, то создаем.
Аналогично создаем экземпляры на всех остальных маршрутизаторах.
В консоли эти команды такие
R1: [admin@MikroTikR1] /routing ospf instance> add name=default R2: [admin@MikroTikR2] /routing ospf instance> add name=default R3: [admin@MikroTikR3] /routing ospf instance> add name=default
Как видно, router-id равен 0.0.0.0, это означает, что маршрутизатор будет использовать один из IP-адресов роутера в качестве идентификатора маршрутизатора. В большинстве случаев рекомендуется настроить loopback интерфейс как идентификатор маршрутизатора. IP-адрес Loopback интерфейса является виртуальным, программным адресом, который используется для идентификации маршрутизатора в сети. Преимущества в том, что loopback-адрес всегда активен и не может быть недоступен как физический интерфейс. Протокол OSPF использует его для связи между маршрутизаторами, идентифицированными router-id.
Настроим loopback, для этого заходим в меню interfaces т добавляем новый интерфейс, выбираем bridge
Делаем настройки как показаны на рисунке.
Напишем только имя loopback после чего нажимаем OK.
Следующим шагом, настраиваем ip адрес на интерфейсе. Для роутера R1 настроим ip 10.255.255.1/32
Настраиваем router-id как loopback. Для этого идем в routing — ospf, вкладка instance/ Выбираем наш экземпляр default, В поле router-id, вписываем ip адрес loopback интерфейса, 10.255.255.1
Аналогичные настройки делаем на остальных маршрутизаторах R2 и R3
Консоль
[admin@MikroTikR1] /interface bridge> add name=loopbackip address add address=10.255.255.1/32 interface=loopback /routing ospf instance> set 0 router-id=10.255.255.1
Настройка области OSPF
Переходим к конфигурации области. Область backbone уже создана и дополнительной настройки не требуется.
«Обратите внимание что область backbone area-id должна быть 0.0.0.0»
Настройка Сети
Открываем меню Routing-OSPF вкладка Network, Нажимаем кнопку добавить
В поле Network, прописываем сеть, Area выбираем backbone. Для роутера R1 прописываем адресацию в соответствии со схемой 10.10.1.0/30, 210.13.1.0/28 и 10.10.1.4/30. В результате должна получиться следующая картина
Консоль
[admin@MikroTikR1] /routing ospf network> add network=210.13.1.0/28 area=backbone [admin@MikroTikR1] /routing ospf network> add network=10.10.1.0/30 area=backbone [admin@MikroTikR1] /routing ospf network> add network=10.10.1.4/30 area=backbone
В принципе, для префиксов 10.10.1.0/30 и 10.10.1.4.30 можно было прописать 10.10.1.0/24, тогда получилось бы так
Аналогично настраиваем R2
R3
Консоль
R2: [admin@MikroTikR2] /routing ospf network> add network=172.16.1.0/16 area=backbone [admin@MikroTikR2] /routing ospf network> add network=10.10.1.0/24 area=backbone R3: [admin@MikroTikR3] /routing ospf network> add network=192.168.1.0/24 area=backbone [admin@MikroTikR3] /routing ospf network> add network=10.10.1.0/24 area=backbone
На этом конфигурация OSPF завершена. Если все сделано правильно, то на вкладке OSPF Interfaces должны появиться интерфейсы, а на вкладке Routes маршруты.
многозонная конфигурация OSPF
Настроим OSPF c несколькими областями как показано на рисунке.
Главной считается корневая (backbone area), имеющая номер 0 именно с ней мы работаем, когда настраиваем OSPF для одной зоны. В случае использования нескольких зон, использование корневой зоны обязательно, остальные же зоны подключаются к ней и называются regular area. Это означает, что мы имеем двухуровневую иерархию: корневая зона и все остальные.
Настраиваем экземпляры и ip адреса как делали это выше. Дальше нам нужно создать области.
Для маршрутизатора R1. Заходим в Routing-OSPF вкладка Areas, нажимаем кнопку добавить и добавляем новую область area1 c Area ID 0.0.0.1
Настраиваем префиксы в соответствии с нашей схемой
Область backbone
Область Area1
Должно получиться следующее
Консоль
/routing ospf area> add name=area1 area-id=0.0.0.1 /routing ospf area> .. /routing ospf> network /routing ospf network> add network=10.0.1.0/24 area=backbone /routing ospf network> add network=10.1.1.0/30 area=area1
Конфигурация маршрутизатора R2
По такой же схеме настраиваем R3,R4.
Консоль
R2: /routing ospf area> add name=area2 area-id=0.0.0.2 /routing ospf area>.. /routing ospf> network /routing ospf network> add network=10.0.1.0/24 area=backbone /routing ospf network> add network=10.1.2.0/30 area=area2 R3: /routing ospf area> add name=area1 area-id=0.0.0.1 /routing ospf area> .. /routing ospf> network /routing ospf network> add network=10.1.1.0/30 area=area1 R4: /routing ospf area> add name=area2 area-id=0.0.0.2 /routing ospf area> .. /routing ospf> network /routing ospf network> add network=10.1.2.0/30 area=area2
Настройка маршрутов
После настройки всех роутеров проверим таблицу маршрутизации. Подключимся к роутеру R3 и дадим команду в консоли
ip route print
Вывод будет
[admin@R3] > ip route print Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit # DST-ADDRESS PREF-SRC GATEWAY DISTANCE 1 ADo 10.0.1.0/24 10.1.1.1 110 2 ADC 10.1.1.0/30 10.1.1.2 ether1 110 3 ADo 10.1.2.0/30 10.1.1.1 110 4 ADC 192.168.1.0/24 192.168.1.1 ether2 0
Как видно, удаленные сети 172.16.0.0/16 и 192.168.2.0/24 не входят в таблицу маршрутизации, поскольку они не распространяются OSPF. Функция перераспределения позволяет различным протоколам маршрутизации обмениваться информацией о маршрутизации, что позволяет, например, перераспределять статические или связанные маршруты в OSPF. В нашей настройке нам необходимо перераспределить подключенную сеть. Нам нужно добавить следующую конфигурацию на маршрутизаторах R1, R2 и R3.
Заходим в меню Routing – OSPF, вкладка instance, кликаем 2 раза экземпляру default b меняем Redistribute Connected Routes на as type 1
Или даем команду в консоли
[admin@R3] /routing ospf instance> set 0 redistribute-connected=as-type-1
Теперь проверьте маршрутизатор R3, чтобы узнать, установлены ли в таблице маршрутизации маршруты 192.168.2.0/24 и 172.16.0.0/16.
[admin@R3] > ip route print Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit # DST-ADDRESS PREF-SRC GATEWAY DISTANCE 1 ADo 10.0.1.0/24 10.1.1.1 110 2 ADC 10.1.1.0/30 10.1.1.2 ether1 110 3 ADo 10.1.2.0/30 10.1.1.1 110 4 ADo 172.16.0.0/16 10.1.1.1 110 5 ADC 192.168.1.0/24 192.168.1.1 ether2 0 6 ADo 192.168.2.0/24 10.1.1.1 110
Настройка OSPF в NBMA сетях
NBMA ( Non-Broadcast Multiple Access) сеть с множеством (больше двух) устройств без широковещания, в которой не работает протокол ARP, так как в ней отключена широковещательная передача данных. В таких сетях вместо протокола ARP используется протокол NARP. Примером таких сетей является NBMA — Frame Relay.
Бывают ситуации когда для настройки OSPF предпочтительными являются сети NMBA например
- в беспроводных сетях доставка мультикастовых пакетов не всегда надежна и использование multicast здесь может создать проблемы стабильности OSPF;
- использование мультикастовой передачи может быть неэффективным в сетях с мостовой или ячеистой топологии (т. е. широковещательных доменах с большим уровнем 2)
Приступим к настройки по данной схеме
R1. Создаем экземпляр
Настраиваем ip адрес на интерфейсе
По аналогии делаем настройки на R2,R3,R4. Только router-id и ip адрес у каждого будет свой.
На R2
router-id=0.0.0.2
ip=10.1.1.2/24
На R3
router-id=0.0.0.3
ip=10.1.1.3/24
На R4
router-id=0.0.0.4
ip=10.1.1.4/24
В консоли
На R1 /routing ospf instance add name=ospf1 router-id=0.0.0.1 /ip address add address=10.1.1.1/24 interface=ether1 network=10.1.1.0 На R2 /routing ospf instance add name=ospf1 router-id=0.0.0.2 /ip address add address=10.1.1.2/24 interface=ether1 network=10.1.1.0 На R3 /routing ospf instance add name=ospf1 router-id=0.0.0.3 /ip address add address=10.1.1.3/24 interface=ether1 network=10.1.1.0 На R4 /routing ospf instance add name=ospf1 router-id=0.0.0.4 /ip address add address=10.1.1.4/24 interface=ether1 network=10.1.1.0
В примере только маршрутизаторам C и D разрешено назначать маршруты.
Следующим шагом настраиваем префикс 10.1.1.0/24 в backbone. Заходим на вкладку Networks и нажимаем кнопку добавить, добавляем сеть.
Далее заходим на вкладку NBMA neighbor жмем добавить, и создаем четыре правила
Делаем аналогично для адреса 10.1.1.1 и 10.1.1.2 priority=0, а для адресов 10.1.1.3 и 10.1.1.4 priority=1
В итоге должно получиться следующее
Обратите внимание, что у адресов 10.1.1.3 и 10.1.1.4, т.е маршрутизаторов R3 и R4 Priority = 1.
То же самое через консоль
routing ospf network add network=10.1.1.0/24 area=backbone routing ospf nbma-neighbor add address=10.1.1.1 priority=0 routing ospf nbma-neighbor add address=10.1.1.2 priority=0 routing ospf nbma-neighbor add address=10.1.1.3 priority=1 routing ospf nbma-neighbor add address=10.1.1.4 priority=1
Эти же настройки делаем на остальных трех роутерах.
Настраиваем приоритеты на роутерах A и B. Добавляем новый интерфейс
Interface – интерфейс для OSPF
Priority = 0
Network Type ставим nbma
Консоль
routing ospf interface add interface=ether1 network-type=nbma priority=0
На маршрутизаторах C, D (они могут стать назначенным маршрутизатором):
Консоль
routing ospf interface add interface=ether1 network-type=nbma priority=1
На этом настройка OSPF завершена.
Обучающий курс по настройке MikroTik
Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Материал из Xgu.ru
Перейти к: навигация, поиск
Данная страница находится в разработке. Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной. Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом. |
- Автор: Наташа Самойленко
На этой странице описывается настройка OSPF на маршрутизаторах Cisco.
Тут описываются не только те настройки, которые наиболее часто встречаются в реальной жизни, то и более редкие.
Кратко основные принципы работы OSPF и основные настройки можно просмотреть в презентации Настройка OSPF на маршрутизаторах Cisco
Содержание
- 1 Описание работы протокола
- 2 Базовые настройки
- 2.1 Выбор идентификатора маршрутизатора (Router ID)
- 2.2 Включение OSPF
- 3 Настройка OSPF для сетей различных типов
- 3.1 OSPF в сетях точка-точка (point-to-point)
- 3.2 OSPF в широковещательных сетях со множественным доступом
- 3.2.1 Выбор DR и BDR
- 3.3 OSPF в NBMA сетях
- 3.3.1 Broadcast mode (Cisco extension)
- 3.3.2 Nonbroadcast mode (RFC 2328 compliant)
- 3.3.2.1 Статическое задание соседей (команда neighbor)
- 3.3.3 Point-to-multipoint mode (RFC 2328 compliant)
- 3.3.4 Point-to-multipoint Nonbroadcast mode (Cisco extension)
- 3.3.5 Point-to-point mode (Cisco extension)
- 4 Изменения параметров протокола
- 4.1 Изменение cost и reference bandwidth
- 4.2 Изменение hello и dead-интервалов
- 4.2.1 Fast Hello
- 4.3 Отключение проверки значения MTU
- 4.4 Изменение administrative distance
- 4.5 Изменение таймеров
- 4.5.1 Вычисления SPF
- 5 Управление информацией о маршрутах
- 5.1 Фильтрация маршрутов
- 5.1.1 ABR type 3 LSA filtering
- 5.2 Суммирование маршрутов
- 5.2.1 Пример настройки
- 5.3 Маршрут по умолчанию
- 5.4 Настройка разных тупиковых зон
- 5.5 Stub router
- 5.1 Фильтрация маршрутов
- 6 Перераспределение маршрутов
- 6.1 Перераспределение статических маршрутов
- 7 База данных состояния каналов (LSDB)
- 8 Просмотр информации OSPF
- 8.1 Таймеры, статистика, общая информация
- 8.2 Дополнительная информация о маршрутах OSPF
- 8.3 Таблица маршрутизации
- 8.4 Информация об интерфейсах
- 8.5 База данных состояния каналов
- 8.5.1 Пример
- 8.6 Информация о ABR
- 8.7 Соседи, установленные отношения соседства
- 8.8 SPF
- 8.9 Virtual link
- 9 Дополнительные возможности
- 9.1 Virtual link
- 9.2 Аутентификация
- 9.2.1 Настройка типа аутентификации для зоны
- 9.2.2 Настройка типа аутентификации и пароля на интерфейсах
- 9.2.3 Аутентификация для virtual link
- 9.3 Защита LSDB от перегрузки
- 9.4 Graceful restart (nonstop forwarding)
- 9.5 OSPF LSA Group Pacing
- 9.6 LSA flooding
- 9.6.1 Блокирование LSA flooding
- 9.6.2 Уменьшение LSA flooding
- 10 Разное
- 10.1 Indication LSA
- 11 Дополнительная информация
[править] Описание работы протокола
Тут описаны кратко основные этапы настройки/работы протокола, а также команды настройки и просмотра, которые используются для каждого этапа (подробнее этапы работы на странице OSPF).
№ | Описание этапа | Команды настройки | Команды просмотра |
---|---|---|---|
1 | Включить OSPF на маршрутизаторе | router ospf 1 | sh ip protocol |
2 | Маршрутизатор выбирает Router ID | router-id 1.1.1.1 | sh ip protocol |
3 | Включить OSPF на интерфейсах | network 10.0.1.0 0.0.0.0 area 0
(-if)# ip ospf 1 area 0 |
sh ip protocol
sh ip ospf int br |
4 | Обнаружение соседей с помощью Hello-пакетов | — | sh ip ospf interface |
5 | Установка отношений соседства | — | sh ip ospf neighbor |
6 | Синхронизация LSDB | — | sh ip ospf database |
7 | Вычисление SPF | — | sh ip ospf |
8 | Помещение лучших маршрутов в таблицу маршрутизации | — | sh ip ospf rib
sh ip route |
[править] Базовые настройки
Пример топологии
[править] Выбор идентификатора маршрутизатора (Router ID)
Router ID можно назначить административно выполнив команду:
dyn3(config-router)#router-id <ip-address>
Если RID не был назначен административно, то он выбирается автоматически, в зависимости от настроек маршрутизатора, по таким правилам:
- Настроен один loopback-интерфейс и несколько интерфейсов с различными адресами:
- Адрес присвоенный loopback-интерфейсу будет Router ID.
- Настроены несколько loopback-интерфейсов с несколькими IP-адресами в каждом:
- Наибольший IP-адрес присвоенный любому из loopback-интерфейсов будет Router ID.
- Настроены несколько интерфейсов с IP-адресом на каждом:
- Наибольший IP-адрес из всех активных интерфейсов будет Router ID.
Перезапустить процесс OSPF можно командой:
dyn3# clear ip ospf process
[править] Включение OSPF
Включить OSPF на интерфейсах в соответствующих сетях:
dyn3(config)# router ospf <process-id> dyn3(config-router)# network <network> <wildcard mask> area <area-id>
Параметры команды network:
- <network> — непосредственно присоединенная сеть к маршрутизатору.
- <wildcard mask> — маска, которая указывает с помощью 0 какая часть из указанной сети должна совпадать, а с помощью 1 какая часть сети может быть произвольной.
- <area-id> — идентификатор зоны, в которой будет работать интерфейс маршрутизатора. Интерфейс попадет в эту зону при условии, что его IP-адрес совпадает с сетью указанной с помощью network и wildcard mask. Для небольших сетей этот параметр можно указывать равным 0, но для больших сетей необходимо соблюдать иерархический дизайн зон в OSPF. Все обновления OSPF, которые передаются между различными зонами, должны проходить через зону 0.
Команда network делает следующее:
- включает OSPF на интерфейсе, IP-адрес которого совпадает с указанной сетью и маской,
- анонсирует сеть этого интерфейса через другие интерфейсы, на которых включен OSPF.
|
В процессе OSPF могут быть настроены команды network с перекрывающимися сетями. Интерфейс будет назначен в зону команды network, которая соответствует максимально IP-адресу этого интерфейса.
То интерфейс с адресом 192.168.1.1 будет в зоне 1, интерфейс с адресом 192.168.1.3 — в зоне 2, а интерфейс с адресом 192.168.2.5 — в зоне 3. |
На маршрутизаторах можно использовать другой вариант включения OSPF, непосредственно на интерфейсе.
Включение OSPF на интерфейсах:
dyn3(config-if)# ip ospf <process-id> area <area-id>
Отличия включения OSPF с помощью команд network и ip ospf area проявляется при использовании secondary адресов:
- При использовании команды network, анонсируются сети любых secondary адресов, которые попадают в сеть;
- Команда ip ospf area по умолчанию анонсирует сети secondary адресов, но эта возможность может быть отключена.
Не анонсировать сети secondary адресов:
dyn3(config-if)# ip ospf <process-id> area <area-id> secondaries none
|
При использовании unnumbered интерфейсов, отличается влияние команд ip ospf area и network. Если настроить команду network 192.168.1.1 0.0.0.0 area 1, то и на lo0 и s0/0 будет включен OSPF и они будут в зоне 1. Для того чтобы включить OSPF командой ip ospf area на обоих интерфейсах, необходимо дать команду и на lo0 и на s0/0. |
[править] Настройка OSPF для сетей различных типов
[править] OSPF в сетях точка-точка (point-to-point)
Примеры сетей point-to-point:
- serial-интерфейс, использующий на канальном уровне протоколы PPP или HDLC
- point-to-point подынтерфейс, использующий на канальном уровне протокол Frame Relay
- Туннельный интерфейс
- Тип point-to-point может быть задан и для Ethernet, как правило, если это транзитный линк, который соединяет два устройства
Характеристики работы OSPF в сетях point-to-point:
- По умолчанию Hello Interval равен 10 секундам, Router Dead Interval — 40 секундам
- OSPF автоматически определяет этот тип интерфейса
- Так как на интерфейсах point-to-point есть только два соседа, то нет необходимости выбирать DR и BDR
- Пакеты OSPF отправляются на адрес 224.0.0.5
Обычно в качестве IP-адреса отправителя в пакетах OSPF указывается адрес исходящего интерфейса маршрутизатора.
Однако возможно использование IP unnumbered интерфейсов с OSPF.
Если интерфейс unnumbered и OSPF на primary интерфейсе включается командой network, тогда процесс запускается на обоих интерфейсах. Если OSPF на primary интерфейсе включается через ip ospf [id] area [area], тогда процесс запускается только на нем.
|
OSPF не проверяет сеть и маску сети при установке отношений соседства в point-to-point сетях. |
[править] OSPF в широковещательных сетях со множественным доступом
Характеристики работы OSPF в широковещательных сетях:
- Необходимо выбирать DR и BDR.
- Все пакеты предназначенные DR и BDR отправляются на адрес 224.0.0.6.
- Пакеты предназначенные другим маршрутизаторам отправляются на адрес 224.0.0.5.
- Все соседние маршрутизаторы устанавливают полные отношения соседства (full adjacencies) только с DR и BDR.
[править] Выбор DR и BDR
Для того чтобы выбрать для сети DR и BDR, маршрутизаторы просматривают значение приоритета в hello-сообщениях и следуют таким условиям для того чтобы определить какой маршрутизатор выбрать:
- Маршрутизатор с наивысшим значением приоритета становится DR.
- Маршрутизатор со вторым наивысшим значением приоритета становится BDR.
- По умолчанию приоритет интерфейса равен 1. Если у маршрутизаторов одинаковые приоритеты, то DR и BDR выбираются по значению Router ID. Маршрутизатор с наивысшим Router ID становится DR, а маршрутизатор со вторым наивысшим Router ID — BDR.
- Маршрутизатор с приоритетом равным 0 не может стать DR или BDR. Маршрутизатор не ставший DR или BDR называется DROTHER.
- Если в сети появляется новый маршрутизатор с более высоким приоритетом чем у текущего DR, то это не влияет на выбранных DR и BDR, переизбрание их не происходит. DR и BDR меняются только тогда, когда один из них вышел из строя. Если из строя вышел DR, то его заменяет BDR и происходят выборы нового BDR. Если из строя выходит BDR, то выбирается новый BDR.
Для того чтобы определить, что DR вышел из строя BDR использует Wait Timer.
Если в течение этого таймера BDR не получает подтверждения того, что DR отправляет LSA, то он считает, что DR вышел из строя.
Присвоить интерфейсу приоритет:
dyn3(config-if)#ip ospf priority <1-255>
[править] OSPF в NBMA сетях
Общая таблица сравнения различных режимов работы OSPF:
Режим работы OSPF | Отношения соседства | Выбор DR/BDR | Соответствие RFC | HelloInterval | Адреса подсетей |
---|---|---|---|---|---|
Broadcast | Автоматически | Выбирается | Cisco | 10 секунд | Одна подсеть |
Nonbroadcast | Настраиваются | Выбирается | RFC 2328 | 30 секунд | Одна подсеть |
Point-to-multipoint | Автоматически | Не выбирается | RFC 2328 | 30 секунд | Одна подсеть |
Point-to-multipoint nonbroadcast | Настраиваются | Не выбирается | Cisco | 30 секунд | Одна подсеть |
Point-to-point | Автоматически | Не выбирается | Cisco | 10 секунд | Разные для каждого подынтерфейса |
В сетях NBMA по умолчанию HelloInterval равен 30 секундам, RouterDeadInterval — 120 секундам.
Существует несколько режимов работы OSPF в NBMA сетях.
Выбор режима работы влияет на то, как будет работать hello-протокол:
- каким образом будут передаваться пакеты протокола по нешироковещательной сети,
- будут ли выбираться DR и BDR,
- как будут устанавливаться отношения соседства.
Настройка режима работы OSPF:
dyn3(config-if)#ip ospf network <broadcast | non-broadcast | point-to-multipoint [non-broadcast] | point-to-point >
По умолчанию на интерфейсах настроены такие режимы:
- на подынтерфейсе point-to-point Frame Relay — режим point-to-point;
- на подынтерфейсе point-to-multipoint Frame Relay — режим nonbroadcast;
- на основном (физическом) интерфейсе Frame Relay — режим broadcast.
[править] Broadcast mode (Cisco extension)
Пример настройки интерфейса для работы в broadcast режиме:
dyn3(config)# interface serial 0/0 dyn3(config-if)#encapsulation frame-relay dyn3(config-if)#ip ospf network broadcast
[править] Nonbroadcast mode (RFC 2328 compliant)
В Nonbroadcast режиме работы:
- эмулируется работа OSPF в широковещательных сетях,
- соседи должны быть настроены вручную,
- hello отправляются unicast,
- требуется выбор DR и BDR,
- как правило, используется в сетях с топологией full mesh.
[править] Статическое задание соседей (команда neighbor)
Статическое задание соседа для установления отношения соседства:
dyn3(config-router)# neighbor <ip-address> [priority <number>] [poll-interval <number>] [cost <number>] [database-filter all]
Опции команды neighbor:
- <ip-address> — IP-адрес соседнего маршрутизатора
- priority <number> — приоритет соседа. По умолчанию 0. Диапазон значений от 0 до 255.
- poll-interval <number> — интервал времени в течение которого NBMA-интерфейс ждет, прежде чем отправить hello-пакет соседу, даже в том случае, если сосед неактивен. Диапазон значений от 0 до 4294967295 секунд.
- cost <number> — задает cost соседа. Диапазон значений от 1 до 65535. Соседи, для которых не указан cost используют значение назначенное на интерфейсе (командой ip ospf cost). Эта опция не используется для сетей NBMA.
- database-filter all — фильтрует исходящие LSA, которые отправляются этому соседу.
Если в команде neighbor не задан приоритет соседа, то по умолчанию он будет равен 0.
Но задание приоритета в команде neighbor не гарантирует, что такой приоритет и будет использоваться для соседа.
Маршрутизатор будет сравнивать приоритет, который указан в команде neighbor, и приоритет, который пришел в hello-пакете.
И выберет больший их двух приоритетов.
Если, например, на маршрутизаторе dyn1 задан приоритет соседа dyn3 равный 1, а от dyn3 приходит hello-пакет, в котором указан приоритет равный 3, то dyn1 будет использовать высший приоритет — 3.
Эти изменения автоматически появятся в конфигурационном файле, где вместо строки neighbor 3.3.3.3 priority 1, появится строка neighbor 3.3.3.3 priority 3.
При статическом задании соседей, достаточно указать соседей только на одном маршрутизаторе.
[править] Point-to-multipoint mode (RFC 2328 compliant)
В режиме Point-to-multipoint:
- сеть рассматривается как несколько соединений point-to-point,
- point-to-multipoint virtual circuit должны поддерживать multicast и broadcast,
- маршрутизаторы автоматически обнаруживают соседей,
- не выбираются DR и BDR,
- Type 2 LSA не отправляются соседям,
- LSA дублируются. Маршрутизатор должен скопировать LSU каждому соседу,
- как правило, используется в сетях с топологией частичный mesh (partial mesh).
[править] Point-to-multipoint Nonbroadcast mode (Cisco extension)
Если point-to-multipoint virtual circuit не поддерживают multicast и broadcast, то режим Point-to-multipoint не может использоваться, так как тогда нельзя автоматически обнаружить соседей.
В таких случаях используется проприетарный режим Point-to-multipoint nonbroadcast.
В режиме Point-to-multipoint nonbroadcast:
- сеть рассматривается как несколько соединений point-to-point,
- соседи должны быть настроены вручную,
- не выбираются DR и BDR.
[править] Point-to-point mode (Cisco extension)
В режиме Point-to-multipoint:
- маршрутизаторы автоматически обнаруживают соседей,
- не выбираются DR и BDR,
- каждому подынтерфейсу выделяется своя подсеть,
- как правило, используется в сетях с топологией частичный mesh (partial mesh).
[править] Изменения параметров протокола
[править] Изменение cost и reference bandwidth
Изменение значения cost на интерфейсе:
dyn3(config-if)# ip ospf cost <1 - 65535>
Для тех режимов работы OSPF, в которых соседи задаются с помощью команды neighbor, cost можно указать так:
dyn3(config-router)# neighbor <neighbor> cost <1 - 65535>
Изменение формулы подсчета cost, значение задается в Mbps и по умолчанию 100 Mbps:
dyn3(config-router)# auto-cost reference-bandwidth <ref-bw>
|
Так как стоимость интерфейса высчитывается на основании пропускной способности интерфейса, один из вариантов поменять стоимость это изменить параметр bandwidth на соответствующем интерфейсе. |
[править] Изменение hello и dead-интервалов
Изменение hello-интервала:
router(config-if)# ip ospf hello-interval <sec>
Изменение dead-интервала:
router(config-if)# ip ospf dead-interval <sec>
[править] Fast Hello
OSPF fast hello-пакеты — это hello-пакеты, которые отправляются с интервалом менее 1 секунды. Это достигается установкой dead-интервала равным 1 секунде (множитель равен 4 по умолчанию).
Более частая отправка hello-пакетов позволяет увеличить скорость сходимости сети и скорость обнаружения соседей.
Когда на интерфейсе настроена отправка hello-пакетов, с интервалом менее 1 секунды, то в hello-пакете, который отправляется с этого интерфейса, hello-интервал будет равен 0.
Hello-интервал полученный в hello-пакетах, которые приходят на этот интерфейс, игнорируется.
Dead-интервал должен быть одинаковым.
Настройка dead-интервала равным 1 и изменение множителя:
router(config-if)# ip ospf dead-interval minimal hello-multiplier 5
Посмотреть установленные значения:
router# show ip ospf interface
[править] Отключение проверки значения MTU
Для того чтобы маршрутизаторы установили отношения соседства у них должны совпадать значения MTU на интерфейсах.
Информация о значении MTU передается в DD-пакетах и сравнивается в начале обмена DD-пакетами.
Отключение проверки MTU:
router(config-if)# ip ospf mtu-ignore
[править] Изменение administrative distance
По умолчанию administrative distance для всех типов маршрутов OSPF 110.
Однако можно изменить AD и настроить различные значения для разных типов маршрутов.
Изменение administrative distance:
dyn3(config-router)# distance ospf <[external <dist1>] [inter-area <dist2>] [intra-area <dist3>]>
[править] Изменение таймеров
[1]
dyn3(config-router)# timers lsa arrival
dyn3(config-router)# timers pacing flood
dyn3(config-router)# timers pacing lsa-group
dyn3(config-router)# timers pacing retransmission
dyn3(config-router)# timers throttle lsa all
[править] Вычисления SPF
dyn3(config-router)# timers throttle spf <spf-start> <spf-hold> <spf-max-wait>
Параметры команды:
- spf-start — Initial delay to schedule an SFP calculation after a change, in milliseconds. Range is from 1 to 600000.
- spf-hold — Minimum hold time between two consecutive SPF calculations, in milliseconds. Range is from 1 to 600000.
- spf-max-wait — Maximum wait time between two consecutive SPF calculations, in milliseconds. Range is 1 to 600000.
[править] Управление информацией о маршрутах
[править] Фильтрация маршрутов
Для OSPF фильтрация маршрутов отличается от остальных протоколов, так как OSPF не анонсирует маршруты в сети, а анонсирует информацию о топологии с помощью LSA. Фильтрация LSA будет означать, что у маршрутизаторов в зоне будут отличаться LSDB и это приведет к сбоям в маршрутизации трафика.
IOS поддерживает три варианта фильтрации, которые можно считать фильтрацией маршрутов для OSPF:
- Фильтрация маршрутов с использованием команды distribute-list in (настройка distribute-list описана на странице Маршрутизация в Cisco). Маршрутизатор фильтрует маршруты, которые помещаются в таблицу маршрутизации, но LSDB остается неизменной.
- ABR type 3 LSA filtering — предотвращение создания конкретных type 3 LSA на ABR.
- Использование параметра area range no-advertise — вариант управления type 3 LSA, которые создаёт ABR.
[править] ABR type 3 LSA filtering
Настройка ABR type 3 LSA filtering:
router(config-router)# area <area-id> filter-list prefix <prefix-name> <in | out>
ABR type 3 LSA фильтрация применённая в различных направлениях:
- in — фильтрация сетей, которые передаются в указанную зону,
- out — фильтрация сетей, которые передаются из указанной зоны.
Посмотреть применённые фильтры на ABR:
router# show ip ospf
[править] Суммирование маршрутов
Суммарный маршрут для зоны (настраивается на ABR):
dyn3(config-router)# area <area-id> range <address> <mask> [advertise|not-advertise] [cost <cost>]
Параметры команды:
- area-id — зона в которой находятся компоненты суммарного маршрута
- not-advertise — позволяет фильтровать маршруты
Суммарный внешний маршрут (настраивается на ASBR):
dyn3(config-router)# summary-address <ip-address> <mask> [not-advertise] [tag <tag>]
На маршрутизаторе, на котором настроено суммирование маршрутов, автоматически создается суммарный маршрут на интерфейс null0.
Это позволяет отбрасывать пакеты, которые идут в не использующиеся сети суммарного маршрута.
Иначе, эти пакеты были бы отправлены на default gateway, а это может привести к петле.
При необходимости, можно отключить автоматическую вставку суммарного маршрута на null0:
dyn(config-router)# no discard-route [internal] [external]
Суммарные маршруты, которые автоматически вставляются OSPF получают значение AD 110.
С помощью команды discard-route можно поменять значение AD суммарного маршрута на null0:
dyn(config-router)# discard-route [internal] [AD] [external] [AD]
|
Если трафик идёт в сети, которых нет на ABR, но они попадают в суммарный маршрут в Null 0, то ABR отбрасывает его и генерирует ICMP unreachable.
|
[править] Пример настройки
Настройка суммирования маршрутов:
router ospf 1 area 0 range 192.0.0.0 255.255.0.0 area 4 range 192.4.0.0 255.255.0.0 network 192.0.1.0 0.0.0.255 area 0 network 192.4.1.0 0.0.0.255 area 4
Суммарные маршруты в таблице маршрутизации маршрутизатора, на котором они настроены:
O 192.4.4.0/24 [110/11] via 192.4.1.11, 00:00:04, FastEthernet2/0 192.0.0.0/32 is subnetted, 4 subnets C 192.0.0.1 is directly connected, Loopback0 O 192.0.0.2 [110/2] via 192.0.2.2, 00:00:04, FastEthernet1/0 O 192.0.0.3 [110/2] via 192.0.1.3, 00:00:04, FastEthernet0/0 O 192.0.0.4 [110/2] via 192.0.1.4, 00:00:04, FastEthernet0/0 C 192.0.1.0/24 is directly connected, FastEthernet0/0 C 192.4.1.0/24 is directly connected, FastEthernet2/0 C 192.0.2.0/24 is directly connected, FastEthernet1/0 O 192.4.2.0/24 [110/11] via 192.4.1.9, 00:00:04, FastEthernet2/0 O 192.4.3.0/24 [110/11] via 192.4.1.10, 00:00:04, FastEthernet2/0 O 192.0.0.0/16 is a summary, 00:00:04, Null0 O IA 192.1.0.0/16 [110/2] via 192.0.1.3, 00:00:04, FastEthernet0/0 O IA 192.2.0.0/16 [110/2] via 192.0.1.4, 00:00:05, FastEthernet0/0 O IA 192.3.0.0/16 [110/21] via 192.0.1.12, 00:00:05, FastEthernet0/0 O 192.4.0.0/16 is a summary, 00:00:05, Null0
Значение AD у суммарного маршрута:
dyn1(config)#do sh ip route 192.4.0.0 Routing entry for 192.4.0.0/16, supernet Known via "ospf 1", distance 110, metric 1, type intra area Routing Descriptor Blocks: * directly connected, via Null0 Route metric is 1, traffic share count is 1
После отключения автоматической вставки суммарного маршрута:
O 192.4.4.0/24 [110/11] via 192.4.1.11, 00:00:06, FastEthernet2/0 192.0.0.0/32 is subnetted, 4 subnets C 192.0.0.1 is directly connected, Loopback0 O 192.0.0.2 [110/2] via 192.0.2.2, 00:00:06, FastEthernet1/0 O 192.0.0.3 [110/2] via 192.0.1.3, 00:00:06, FastEthernet0/0 O 192.0.0.4 [110/2] via 192.0.1.4, 00:00:06, FastEthernet0/0 C 192.0.1.0/24 is directly connected, FastEthernet0/0 C 192.4.1.0/24 is directly connected, FastEthernet2/0 C 192.0.2.0/24 is directly connected, FastEthernet1/0 O 192.4.2.0/24 [110/11] via 192.4.1.9, 00:00:07, FastEthernet2/0 O 192.4.3.0/24 [110/11] via 192.4.1.10, 00:00:07, FastEthernet2/0 O IA 192.1.0.0/16 [110/2] via 192.0.1.3, 00:00:07, FastEthernet0/0 O IA 192.2.0.0/16 [110/2] via 192.0.1.4, 00:00:07, FastEthernet0/0 O IA 192.3.0.0/16 [110/21] via 192.0.1.12, 00:00:07, FastEthernet0/0
Включение вставки суммарного маршрута со значением AD 250:
dyn1(config-router)#discard-route internal 250
Проверка значения AD:
dyn1#sh ip route 192.4.0.0 Routing entry for 192.4.0.0/16, supernet Known via "ospf 1", distance 250, metric 1, type intra area Routing Descriptor Blocks: * directly connected, via Null0 Route metric is 1, traffic share count is 1
[править] Маршрут по умолчанию
dyn3(config-router)# default-information originate [always] [metric <metric-value>] [metric-type <type-value>] [route-map <map-name>]
Информация распространяется только если маршрут по умолчанию присутствует в таблице маршрутизации (это можно обойти с помощью параметра always).
Команда default-information originate говорит OSPF перераспределить любой маршрут по умолчанию найденный в таблице маршрутизации (статический или полученный по другому протоколу маршрутизации).
По умолчанию метрика маршрута будет 1, а тип маршрута — E2.
[править] Настройка разных тупиковых зон
Тупиковая зона (stub area):
router(config-router)# area 1 stub
Стоимость, которая будет присвоена маршруту по умолчанию, при анонсировании его в stub или NSSA зону (по умолчанию 1):
router(config-router)# area 1 default-cost 20
Totally stubby area (no-summary нужно настраивать только на ABR):
router(config-router)# area 1 stub no-summary
Not-so-stubby area (NSSA):
router(config-router)# area 1 nssa
Генерация маршрута по умолчанию на ABR для NSSA зоны (маршрут будет с типом N2):
router(config-router)# area 1 nssa default-information-originate
Totally not-so-stubby area (Totally NSSA) автоматически генерирует маршрут по умолчанию как межзональный:
router(config-router)# area 1 nssa no-summary
Если ABR, является ASBR и к нему присоединена NSSA зона, можно отключить генерацию Type 7 LSA в NSSA зону (type 5 LSA в зону 0 генерируется):
router(config-router)# area 1 nssa no-redistribution
На ABR, который соединяет NSSA зону с нулевой, происходит преобразование Type 7 LSA в Type 5 LSA. Когда ABR несколько, то фактически преобразованием занимается только один из них. Выбирается тот ABR, у которого больше Router ID.
Однако, это не значит, что данные могут передаваться только через одного из ABR.
При преобразовании Type 7 LSA в Type 5, в LSA сохраняется информация о ASBR от которого был получен внешний маршрут, в виде Forwarding address.
Остальные маршрутизаторы передают трафик по кратчайшему пути к ASBR, который указан в поле Forwarding address, независимо от того какой ABR выполнял преобразование.
Если на ABR настроена фильтрация маршрутов и отфильтрован маршрут к ASBR, который анонсировал внешний маршрут в NSSA зоне, то внешний маршрут будет в LSDB, но его не будет в таблице маршрутизации (так как нет пути к ASBR).
Можно настроить на ABR обнуление forwarding address. Тогда передачу трафика к внешним маршрутам NSSA зоны будет выполнять именно тот ABR, который выполняет трансляцию Type 7 LSA в Type 5 (так как если forwarding address равен нулю, то трафик передается на тот маршрутизатор, который анонсировал маршрут).
Обнуление forwarding address:
router(config-router)# area 1 nssa translate type7 suppress-fa
[править] Stub router
Stub router — функция, которая позволяет указать, что маршрутизатор, временно или постоянно, не будет транзитным маршрутизатором.
Эта функциональность описана в RFC 3137.
router(config-router)# max-metric router-lsa on-startup <announce-time | wait-for-bgp>
Опции команды:
- announce-time — время в секундах, в течение которого маршрутизатор будет анонсировать infinite метрику для всех транзитных маршрутов,
- wait-for-bgp — маршрутизатор перестанет быть тупиковым, когда BGP просигнализирует о том, что convergence complete или по истечению 10 минут (по первому из этих событий).
[править] Перераспределение маршрутов
Перераспределение маршрутов (route redistribution) — обмен маршрутной информацией между двумя различными маршрутизирующими протоколами
[править] Перераспределение статических маршрутов
redistribute static
пример:
R2(config)# router ospf 100 router-id 10.xx.243.3 log-adjacency-changes redistribute static route-map POS network 10.xx.0.0 0.0.255.255 area 84 ! route-map POS permit 100 match ip address 10 ! access-list 10 permit 192.168.84.0 0.0.0.255 ! ip route 192.168.84.0 255.255.255.0 Tunnel0
при этом статический маршрут 192.168.84.0 255.255.255.0 передается по OSPF маршрутизатору R3:
R3#sh ip route ospf 10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks O 10.xx.246.0/30 [110/11112] via 10.xx.243.3, 00:54:54, FastEthernet0/0 O 10.xx.238.0/24 [110/2] via 10.xx.243.3, 00:54:54, FastEthernet0/0 O E2 192.168.xx.0/24 [110/20] via 10.xx.243.3, 00:20:54, FastEthernet0/0
редистрибуция всех статических и директ-коннектед маршрутов, описанных в акцесс листе 53:
router ospf 84 router-id 10.250.84.200 log-adjacency-changes redistribute connected metric-type 1 subnets redistribute static metric-type 1 subnets network 10.84.0.0 0.0.255.255 area 84 distribute-list 53 out ! access-list 53 remark *** redistribute static route *** access-list 53 permit 10.250.84.200 access-list 53 permit 10.xx.0.0 0.0.255.255
просмотр переданных маршрутов:
asa-sm# sh route dmz-out | i 10.xx.243.3 O E1 10.xx.129.158 255.255.255.255 [110/31] via 10.xx.243.3, 0:15:09, dmz-out O E1 10.xx.129.157 255.255.255.255 [110/31] via 10.xx.243.3, 0:15:09, dmz-out O 10.xx.246.248 255.255.255.248 [110/11] via 10.xx.243.3, 0:15:09, dmz-out [110/11121] via 10.84.243.3, 0:15:09, dmz-out O 10.xx.253.96 255.255.255.248 [110/11] via 10.xx.243.3, 0:15:09, dmz-out O E1 10.xx.129.2 255.255.255.255 [110/31] via 10.xx.243.3, 0:07:08, dmz-out O E1 10.xx.249.120 255.255.255.252 [110/30] via 10.xx.243.3, 0:03:33, dmz-out O E1 10.xx.236.64 255.255.255.224 [110/30] via 10.xx.243.3, 0:03:13, dmz-out O E1 10.xx.252.80 255.255.255.240 [110/31] via 10.xx.243.3, 0:05:59, dmz-out
[править] База данных состояния каналов (LSDB)
[править] Просмотр информации OSPF
[править] Таймеры, статистика, общая информация
Параметры, статистика протоколов маршрутизации запущенных на маршрутизаторе:
dyn3# show ip protocols
Информация о Router ID, таймерах и статистика:
dyn3# show ip ospf
Просмотр RIB OSPF (команда доступна с версии 12.4(15)T):
show ip ospf <process-id> rib
[править] Дополнительная информация о маршрутах OSPF
show ip ospf rib <>
[править] Таблица маршрутизации
Маршруты полученные по протоколу OSPF:
dyn3# show ip route ospf
Обозначения маршрутов OSPF:
- O — OSPF intra-area (router LSA) и network LSA — сети в зоне маршрутизатора.
- O IA — OSPF interarea (summary LSA) — сети вне зоны маршрутизатора, но в той же автономной системе.
- O E1 — Type 1 external routes — сети вне автономной системы маршрутизатора. К метрике внешнего маршрута добавляется cost всех линков по которым передавался маршрут. Используется когда несколько маршрутизаторов анонсируют внешнюю сеть.
- O E2 — Type 2 external routes (по умолчанию) — сети вне автономной системы маршрутизатора. Используется только cost внешнего маршрута.
- O N1 — Type 1 NSSA external routes
- O N2 — Type 2 NSSA external routes
[править] Информация об интерфейсах
Информация о настройках OSPF на интерфейсах:
dyn3# show ip ospf interface
Краткий вывод информации об интерфейсах:
dyn2#sh ip ospf interface brief Interface PID Area IP Address/Mask Cost State Nbrs F/C Lo3 1 0 199.2.2.2/24 1 LOOP 0/0 Fa1/0 1 0 192.168.1.5/30 1 BDR 1/1 Fa0/0 1 0 192.168.1.2/30 1 BDR 1/1
[править] База данных состояния каналов
База данных состояния каналов (link state database):
dyn3# show ip ospf database
Дополнительные параметры команды show ip ospf database позволяют выводить информацию о конкретных LSA:
- adv-router Advertising Router link states
- asbr-summary ASBR summary link states
- database-summary Summary of database
- external External link states
- network Network link states
- nssa-external NSSA External link states
- opaque-area Opaque Area link states
- opaque-as Opaque AS link states
- opaque-link Opaque Link-Local link states
- router Router link states
- self-originate Self-originated link states
- summary Network summary link states
|
При просмотре LSDB с дополнительными параметрами, вывод некоторых полей LSA более очевиден. |
dyn3# show ip ospf database database-summary
[править] Пример
Настройки маршрутизатора dyn2:
dyn2# sh ip int br Interface IP-Address OK? Method Status Protocol FastEthernet0/0 192.168.1.2 YES NVRAM up up FastEthernet1/0 192.168.1.5 YES NVRAM up up Loopback0 197.1.2.1 YES NVRAM up up Loopback1 197.1.3.1 YES NVRAM up up Loopback3 199.2.2.2 YES manual up up dyn2# sh run | sec router ospf router ospf 1 log-adjacency-changes network 192.168.0.0 0.0.255.255 area 0 network 199.0.0.0 0.255.255.255 area 0
База данных состояния каналов:
dyn2# show ip ospf database OSPF Router with ID (199.2.2.2) (Process ID 1) Router Link States (Area 0) Link ID ADV Router Age Seq# Checksum Link count 199.1.1.1 199.1.1.1 1692 0x80000288 0x00A7A3 4 199.2.2.2 199.2.2.2 1496 0x80000287 0x000B5D 3 199.3.3.3 199.3.3.3 1122 0x80000288 0x00F15B 3 199.4.4.4 199.4.4.4 399 0x80000287 0x0082A1 4 Net Link States (Area 0) Link ID ADV Router Age Seq# Checksum 192.168.1.1 199.1.1.1 1692 0x80000286 0x0010D6 192.168.1.6 199.3.3.3 1122 0x80000286 0x00E9EB 192.168.1.10 199.4.4.4 399 0x80000286 0x00EED9
LSA 1, которые анонсирует локальный маршрутизатор:
dyn2# show ip ospf database router self-originate OSPF Router with ID (199.2.2.2) (Process ID 1) Router Link States (Area 0) LS age: 951 Options: (No TOS-capability, DC) LS Type: Router Links Link State ID: 199.2.2.2 Advertising Router: 199.2.2.2 LS Seq Number: 80000287 Checksum: 0xB5D Length: 60 Number of Links: 3 Link connected to: a Stub Network (Link ID) Network/subnet number: 199.2.2.2 (Link Data) Network Mask: 255.255.255.255 Number of TOS metrics: 0 TOS 0 Metrics: 1 Link connected to: a Transit Network (Link ID) Designated Router address: 192.168.1.6 (Link Data) Router Interface address: 192.168.1.5 Number of TOS metrics: 0 TOS 0 Metrics: 1 Link connected to: a Transit Network (Link ID) Designated Router address: 192.168.1.1 (Link Data) Router Interface address: 192.168.1.2 Number of TOS metrics: 0 TOS 0 Metrics: 1
Все LSA type 2 в LSDB:
dyn2#show ip ospf database network OSPF Router with ID (199.2.2.2) (Process ID 1) Net Link States (Area 0) Routing Bit Set on this LSA LS age: 1866 Options: (No TOS-capability, DC) LS Type: Network Links Link State ID: 192.168.1.1 (address of Designated Router) Advertising Router: 199.1.1.1 LS Seq Number: 80000286 Checksum: 0x10D6 Length: 32 Network Mask: /30 Attached Router: 199.1.1.1 Attached Router: 199.2.2.2 Routing Bit Set on this LSA LS age: 1295 Options: (No TOS-capability, DC) LS Type: Network Links Link State ID: 192.168.1.6 (address of Designated Router) Advertising Router: 199.3.3.3 LS Seq Number: 80000286 Checksum: 0xE9EB Length: 32 Network Mask: /30 Attached Router: 199.3.3.3 Attached Router: 199.2.2.2 Routing Bit Set on this LSA LS age: 590 Options: (No TOS-capability, DC) LS Type: Network Links Link State ID: 192.168.1.10 (address of Designated Router) Advertising Router: 199.4.4.4 LS Seq Number: 80000286 Checksum: 0xEED9 Length: 32 Network Mask: /30 Attached Router: 199.4.4.4 Attached Router: 199.3.3.3
[править] Информация о ABR
Информация о ABR (например, стоимость пути к ABR):
dyn3# show ip ospf border-routers
[править] Соседи, установленные отношения соседства
Информация о соседях:
dyn3# show ip ospf neighbor
Более подробная информация об изменениях отношений соседства (каждое изменение состояния):
router(config-router)# log-adjacency-changes detail
[править] SPF
Информация о том как часто маршрутизатор запускал алгоритм SPF:
dyn2# sh ip ospf statistics OSPF process ID 1 ------------------------------------------ Area 0: SPF algorithm executed 7 times Summary OSPF SPF statistic SPF calculation time Delta T Intra D-Intra Summ D-Summ Ext D-Ext Total Reason 2w2d 8 0 0 0 0 0 8 R, N, X 2w2d 8 0 0 0 0 0 8 R, 2w1d 4 4 0 0 0 0 8 R, N, 2w1d 0 0 0 0 0 0 0 R, 2w1d 4 0 0 0 0 0 4 R, N, 2w1d 4 0 0 0 0 0 4 R, N, 2w1d 8 0 0 0 0 0 8 R, N, 1d15h 8 0 0 0 0 0 16 R, N, SN, SA, X 1d15h 0 0 0 0 0 0 0 R, N, SN, SA, X 1d15h 0 0 0 0 0 0 0 R, N, SN, SA, X
Причины запуска алгоритма:
- N — возникли изменения в network LSA (type 2).
- R — возникли изменения в router LSA (type 1).
- SA — возникли изменения в Summary autonomous system boundary router (ASBR) (SA) LSA.
- SN — возникли изменения в Summary Network (SN) LSA.
- X — возникли изменения в External Type-7 (X7) LSA.
[править] Virtual link
show ip ospf virtual-links
[править] Дополнительные возможности
[править] Virtual link
Virtual link — специальное соединение, которое позволяет соединять, например, разорванную на части зону или присоединить зону к магистральной, через другую зону. Настраивается между двумя ABR.
Для того, чтобы маршрутизаторы могли передать пакеты OSPF через virtual link, они инкапсулируют их в IP-пакеты.
Этот механизм используется как временное решение или как backup на случай выхода из строя основных соединений.
Некоторые характеристики virtual link:
- Работа hello-протокола в virtual link не отличается от его работы при обычных соединениях.
- Через virtual link маршрутизаторы могут установить отношения соседства также как и в случае, если они непосредственно присоединены друг к другу.
- В LSA, которые отправляются через virtual link, устанавливается опция DoNotAge (DNA).
- Virtual link находится в area 0.
Настройка virtual link:
dyn3(config-router)# area <area-id> virtual-link <router-id>
Параметры команды virtual link:
- <area-id> — транзитная зона, через которую идет virtual link (транзитная зона не может быть тупиковой),
- <router-id> — Router ID соседа, с которым устанавливается соединение с помощью virtual link.
Просмотр информации о virtual link:
dyn3# show ip ospf virtual-links
[править] Аутентификация
OSPF поддерживает три типа аутентификации:
- type 0 (none)
- type 1 (clear text)
- type 2 (MD5)
|
Фактически OSPF позволяет указать только тип аутентификации, без указания пароля. При такой ситуации отношения соседства установятся (если у соседей указан одинаковый тип аутентификации), но сама аутентификация не будет выполняться. |
Тип аутентификации может быть настроен на интерфейсе или для всей зоны. А сам пароль только на интерфейсах.
|
Тип аутентификации может быть настроен на интерфейсе и для всей зоны. Настройки на интерфейсе являются более приоритетными. |
[править] Настройка типа аутентификации для зоны
Настройка аутентификации type 1 для зоны 1 (пароль надо задавать на интерфейсах):
router(config-router)# area 1 authentication
Настройка аутентификации type 2 для зоны 0 (пароль надо задавать на интерфейсах):
router(config-router)# area 0 authentication message-digest
[править] Настройка типа аутентификации и пароля на интерфейсах
Настройка аутентификации type 0:
router(config-if)# ip ospf authentication null
Настройка аутентификации type 1:
router(config-if)# ip ospf authentication router(config-if)# ip ospf authentication-key <key-value>
Настройка аутентификации type 2:
router(config-if)# ip ospf authentication message-digest router(config-if)# ip ospf message-digest-key <key-number> md5 <key-value>
[править] Аутентификация для virtual link
Аутентификация type 1 (plaintext) для virtual link:
router(config-router)# area <id> virtual-link <router-id> authentication-key <key-value>
Аутентификация type 2 (MD5) для virtual link:
router(config-router)# area <id> virtual-link <router-id> message-digest-key <key-number> md5 <key-value>
[править] Защита LSDB от перегрузки
dyn3(config-router)# max-lsa <maximum-number> [<threshold-percentage>] [warning-only] [ignore-time <minutes>] [ignore-count <count-number>] [reset-time <minutes>]
Параметры команды max-lsa:
- max-lsa <maximum-number> — максимальное количество LSA, которое маршрутизатор может хранить в LSDB (сгенерированных не локальным маршрутизатором);
- <threshold-percentage> — процент от максимального количества LSA при достижении которого будет сгенерировано log-сообщение. По умолчанию 75%;
- warning-only — указывает, что при достижении максимума LSA будет только сгенерировано сообщение. Выключено по умолчанию;
- ignore-time <minutes> — время, в течение которого будут игнорироваться LSA полученные от соседей после достижения максимума LSA. По умолчанию 5 минут;
- ignore-count <count-number> — количество раз, которое OSPF процесс может попадать в состояние игнорирования LSA. Если количество будет превышено, то процесс OSPF надо будет поднимать вручную. По умолчанию 5 раз;
- reset-time <minutes> — время, после которого счетчик включения состояния игнорирования собьется в ноль. В течение этого диапазона времени количество LSA не должно превышать максимума. По умолчанию 10 минут.
Состояние игнорирования — наступает если включена защита от перегрузки. В этом состоянии процесс OSPF разрывает все отношения соседства и очищает свою базу данных.
[править] Graceful restart (nonstop forwarding)
Graceful restart позволяет маршрутизатору, при перезагрузке процесса OSPF, передавать трафик и избегать появления петель в сети.
Описан в RFC 3623. В RFC этот функционал называется nonstop forwarding (NSF).
Cisco реализовала функционал аналогичный RFC, до появления стандартной процедуры graceful restart, поэтому маршрутизаторы Cisco поддерживают два варианта выполнения это процедуры.
Для того чтобы трафик передавался без петель во время перезагрузки процесса OSPF, должны выполняться такие условия:
- Маршрутизатор, на котором выполняется NSF, должен оповестить соседей, что будет выполняться перезагрузка с помощью отправки «grace LSA»;
- База данных LSA остается неизменной во время перезагрузки;
- Все соседи маршрутизатора поддерживают NSF и соответствующим образом настроены;
- Перезагрузка выполняется в пределах «grace period»;
- Во время перезагрузки маршрутизаторы, с которыми установлены отношения соседства, должны работать в режиме «helper».
По умолчанию оба варианта graceful restart включены (начиная с IOS 12.4(6)T).
Отключить graceful restart:
router(config-router)# nsf [cisco | ietf] helper disable
[править] OSPF LSA Group Pacing
[2]
dyn3(config-router)# timers pacing lsa-group
[править] LSA flooding
[править] Блокирование LSA flooding
По умолчанию маршрутизатор анонсирует LSA через все интерфейсы.
Можно указать через какие интерфейсы или какому соседу не анонсировать LSA.
Для broadcast, nonbroadcast, point-to-point сетей:
dyn1(config-if)# ip ospf database-filter all out
Для point-to-multipoint сетей:
dyn1(config-router)# neighbor <ip-address> database-filter all out
[править] Уменьшение LSA flooding
dyn1(config-if)# ip ospf flood-reduction
[править] Разное
[править] Indication LSA
Если в сети где работает OSPF есть не только маршрутизаторы Cisco, но и маршрутизаторы других производителей, которые не поддерживают demand circuit, то в LSDB может появится Indication LSA.
При использовании DC не отправляются периодические обновления LSA, поэтому в LSA устанавливается бит Do Not Age (DNA). При установке отношений соседства маршрутизаторы договариваются между собой о поддержке DC.
Indication LSA это специальный тип LSA, который отправляет пограничный маршрутизатор (ABR) для того чтобы оповестить маршрутизаторы в своей зоне о том, что в сети есть маршрутизаторы, которые не поддерживают DC (demand circuit).
Маршрутизатор dyn4 это ABR и он сообщает маршрутизаторам в своей зоне о том, что в сети есть маршрутизаторы, которые не поддерживают DC.
Сообщает он это с помощью специального Indication LSA.
Indication LSA это LSA type 4 в котором Link-state ID это ABR, а не ASBR.
Даже если в сети не используется перераспределение маршрутов в OSPF и нет ASBR, это LSA будет в LSDB.
LSDB на dyn4:
dyn4#show ip ospf database OSPF Router with ID (192.0.0.4) (Process ID 1) ..... Summary ASB Link States (Area 2) Link ID ADV Router Age Seq# Checksum 192.0.0.4 192.0.0.4 1263 0x80000005 0x00844A
Подробная информация о LSA:
dyn4#show ip ospf database asbr-summary OSPF Router with ID (192.0.0.4) (Process ID 1) Summary ASB Link States (Area 2) LS age: 1323 Options: (No TOS-capability, No DC, Upward) LS Type: Summary Links(AS Boundary Router) Link State ID: 192.0.0.4 (AS Boundary Router address) Advertising Router: 192.0.0.4 LS Seq Number: 80000005 Checksum: 0x844A Length: 28 Network Mask: /0 TOS: 0 Metric: 16777215
Маршрутизаторы внутри зоны, за dyn4 получают это LSA:
dyn7#sh ip ospf da asbr-summary OSPF Router with ID (192.2.0.7) (Process ID 1) Summary ASB Link States (Area 2) Adv Router is not-reachable LS age: 1441 Options: (No TOS-capability, No DC, Upward) LS Type: Summary Links(AS Boundary Router) Link State ID: 192.0.0.4 (AS Boundary Router address) Advertising Router: 192.0.0.4 LS Seq Number: 80000005 Checksum: 0x844A Length: 28 Network Mask: /0 TOS: 0 Metric: 16777215
В Indication LSA метрика устанавливается в максимальное значение: 16777215.
Подробнее об Indication LSA [3].
[править] Дополнительная информация
- OSPF Neighbor States
- OSPF down bit and domain tag
- Настройка OSPF на маршрутизаторах Cisco (презентация)
|
|
---|---|
Устройства | Cisco 871 • Cisco Router • Cisco Switch • Сisco Сatalyst • Cisco IPS • Cisco ASA • PIX • Dynamips |
Безопасность (коммутаторы и маршрутизаторы) |
Cisco Security • Port security • DHCP snooping • Dynamic ARP Protection • IP Source Guard • Аутентификация при доступе к сети • 802.1X в Cisco • Zone-Based Policy Firewall • Cisco NAT • NAT в Cisco • Cisco SSH |
Cisco ASA | Cisco ASA/NAT • Cisco ASA/Troubleshooting • Cisco ASA/IPS • Cisco ASA failover • Cisco ASA/Transparent firewall • Cisco ASA/Site-to-Site_VPN • Cisco ASA/Easy_VPN • Cisco ASA/WebVPN • Объединение OSPF-сетей туннелем между двумя системами ASA (без GRE) • Центр сертификатов на Cisco ASA |
VPN | IPsec в Cisco • Cisco IOS Site-to-Site VPN • DMVPN • Cisco Easy VPN • Cisco Web VPN • Cisco ipsec preshared |
Канальный уровень | CDP • VLAN в Cisco • ISL • VTP • STP в Cisco • Cisco Express Forwarding • Агрегирование каналов • Зеркалирование трафика • QinQ • Frame Relay |
Сетевой уровень | Маршрутизация в Cisco • RIP • EIGRP • IS-IS • OSPF • BGP • PIM • Multicast • GLBP • VRRP • HSRP • DHCP • IPv6 • IPv6 vs IPv4 • Резервирование Интернет-каналов без использования BGP • Использование BGP для резервирования Интернет-каналов |
Разное | Режим ROMMON в Cisco • Опция 82 DHCP • 802.1X и RADIUS • SNMP в Cisco • QoS в Cisco • EEM • Troubleshooting • Автоматизация работы устройств Cisco • Cisco NTP • Cisco IP SLA • Cisco Enhanced Object Tracking |
В данной статье описывается процесс настройки протокола динамической маршрутизации OSPF на маршрутизаторах Cisco. Перед прочтением статьи рекомендуется ознакомиться с общими принципами работы OSPF и основными понятиями. Кроме того, существует отдельная статья по настройке OSPF для работы с несколькими зонами.
Описание топологии и задач
Для демонстрации работы OSPF будем использовать следующий стенд. Подразумевается, что в начале, у нас подняты все необходимые интерфейсы и на них настроены ip адреса, у провайдера настроены статические маршруты в нашу сеть, соседние маршрутизаторы могут пинговать друг друга. Требуется настроить OSPF.
- ISP – маршрутизатор провайдера, он не входит в зону нашей ответственности и в OSPF процессе не участвует
- R1 – наш пограничный маршрутизатор, он должен обеспечить пропуск трафика из внутренних сетей к провайдеру и обратно. На нём следует настроить статический маршрут по умолчанию и передать его остальным маршрутизаторам с помощью OSPF
- R2, R3 и R4 – внутренние маршрутизаторы каждый из них отвечает за некую локальную сеть (192.168.2.0, 192.168.3.0 и 192.168.4.0), к которым подключаются клиенты. Чтобы не усложнять топологию, эти интерфейсы сети представлены в виде loopback, которые имитируют реальные интерфейсы.
Коммутатор не сконфигурирован, то есть, все маршрутизаторы находятся в одном VLAN и видят друг друга. В данном примере нет никакой необходимость его как-то настраивать. Приведём основные моменты конфигурации маршрутизаторов на начальный момент времени.
ISP
hostname ISP interface FastEthernet0/0 description TO-CLIENT ip address 10.10.10.1 255.255.255.252 ip route 192.168.0.0 255.255.0.0 FastEthernet0/0 ip route 10.0.0.0 255.0.0.0 FastEthernet0/0
R1
hostname R1 interface FastEthernet0/0 description TO-INTERNAL-NETWORK ip address 192.168.0.1 255.255.255.252 interface FastEthernet0/1 description TO-ISP ip address 10.10.10.2 255.255.255.252
R2
hostname R2 interface Loopback0 description TO-R2-LAN ip address 192.168.2.1 255.255.255.0 interface FastEthernet0/0 description TO-BORDER-ROUTER ip address 192.168.0.2 255.255.255.252 interface FastEthernet0/1 description TO-ROUTER-EXCHANGE-NETWORK ip address 192.168.1.2 255.255.255.0
R3
hostname R3 interface Loopback0 description TO-R3-LAN ip address 192.168.3.1 255.255.255.0 interface FastEthernet0/0 description TO-ROUTER-EXCHANGE-NETWORK ip address 192.168.1.3 255.255.255.0
R4
hostname R4 interface Loopback0 description TO-R4-LAN ip address 192.168.4.1 255.255.255.0 interface FastEthernet0/0 description TO-ROUTER-EXCHANGE-NETWORK ip address 192.168.1.4 255.255.255.0 duplex auto speed auto
Базовая настройка OSPF
На каждом маршрутизаторе необходимо создать процесс OSPF командой router ospf номер-процесса, какой именно номер мы укажем – не имеет значения, для простоты будем везде использовать 1, далее надо описать все сети, входящие в процесс маршрутизации с помощью команды network. Когда мы указываем некоторую сеть, это приводит к двум последствиям:
- Информация об этой сети начинает передаваться другим маршрутизаторам (при условии, что на маршрутизаторе есть рабочий интерфейс в данной сети)
- Через интерфейс, находящийся в этой сети маршрутизатор начинает общаться с соседями.
Таким образом, необходимо указывать на каждом маршрутизаторе все сети, непосредственно подключенные к нему. Исключением является R1 – на нём не надо указывать сеть 10.10.10.0, так как, во-первых, с той стороны находится провайдер, который ничего не знает про наш внутренний OSPF и с ним не надо устанавливать соседских отношений (он просто прописывает статический маршрут в наши сети), с другой стороны к провайдеру итак пойдёт маршрут по умолчанию, поэтому именно про сеть 10.10.10.0 никому из внутренних маршрутизаторов знать не обязательно. Настроим маршрутизацию.
R1
R1(config)#router ospf 1 R1(config-router)#network 192.168.0.0 0.0.0.3 area 0
При добавлении сетей используется wildcard маска, обратная к маске подсети. В данном случае 255.255.255.255-255.255.255.252=0.0.0.3.
R2
R2(config)#router ospf 1 R2(config-router)#network 192.168.0.0 0.0.0.3 area 0 00:37:37: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.0.1 on FastEthernet0/0 from LOADING to FULL, Loading Done R2(config-router)#network 192.168.1.0 0.0.0.255 area 0
Видно, что как только мы прописали с двух сторон одну и ту же сеть, маршрутизаторы сразу же установили соседские отношения. Так же мы прописали нашу «локальную» сеть 192.168.1.0 – чтобы сообщить маршрутизаторам о ней. Список соседей можно увидеть:
R2#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 192.168.0.1 1 FULL/BDR 00:00:36 192.168.0.1 FastEthernet0/0
Пока у R2 только один сосед – R1, так как на R3 и R4 – ещё не включен OSPF и не добавлена сеть 192.168.1.0
R3
R3(config)#router ospf 1 R3(config-router)#network 192.168.1.0 0.0.0.255 area 0 00:43:23: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.2.1 on FastEthernet0/0 from LOADING to FULL, Loading Done R3(config-router)#network 192.168.3.0 0.0.0.255 area 0
R4
R4(config)#router ospf 1 R4(config-router)#network 192.168.4.0 0.0.0.255 area 0 R4(config-router)#network 192.168.1.0 0.0.0.255 area 0 R4(config-router)# 00:44:43: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.3.1 on FastEthernet0/0 from LOADING to FULL, Loading Done 00:44:43: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.2.1 on FastEthernet0/0 from LOADING to FULL, Loading Done
Диагностика OSPF
Как видно, маршрутизаторы установили друг с другом соседские отношения. Посмотрим снова таблицу соседей на R2:
R2#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 192.168.0.1 1 FULL/BDR 00:00:37 192.168.0.1 FastEthernet0/0 192.168.3.1 1 FULL/BDR 00:00:37 192.168.1.3 FastEthernet0/1 192.168.4.1 1 FULL/DROTHER 00:00:37 192.168.1.4 FastEthernet0/1
Видно, что:
- Все соседи выбрали себе Router ID – в данном случае это наибольший из адресов их loopback интерфейсов
- Маршрутизатор R3 – стал BDR, R4 – не стал ни DR ни BDR, таким образом, в сети со множественным доступом 192.168.1.0/24, DR-ом стал сам R2.
- Все соседские отношения установились, в последнем столбце таблицы видно, через какой именно интерфейс доступны соседи.
Эта команда важна для диагностики OSPF и именно с неё надо начинать диагностику, так как, если маршрутизатор отсутствует в таблице соседей, то это один класс проблем (перепутали ip адреса, не включили нужную сеть командой network, не включили интерфейс командой no shutdown, не совпадают значения Hello-интервалов с двух сторон линка). Если же маршрутизатор есть в таблице соседей, значит, скорее всего, сам OSPF работает нормально и надо проверить таблицу маршрутизации.
R2#show 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 192.168.0.0/30 is subnetted, 1 subnets C 192.168.0.0 is directly connected, FastEthernet0/0 C 192.168.1.0/24 is directly connected, FastEthernet0/1 C 192.168.2.0/24 is directly connected, Loopback0 192.168.3.0/32 is subnetted, 1 subnets O 192.168.3.1 [110/2] via 192.168.1.3, 00:07:48, FastEthernet0/1 192.168.4.0/32 is subnetted, 1 subnets O 192.168.4.1 [110/2] via 192.168.1.4, 00:06:36, FastEthernet0/1
Как мы видим, все маршруты появились в таблицу с буквой «O», что означает работоспособность OSPF нам не хватает только маршрута по умолчанию, но об этом позже.
Ещё одна полезная команда позволяет нам посмотреть содержимое LSDB – то есть, кто где с кем связан. По сути, это и есть полная карта сети:
R2#show ip ospf database OSPF Router with ID (192.168.2.1) (Process ID 1) Router Link States (Area 0) Link ID ADV Router Age Seq# Checksum Link count 192.168.0.1 192.168.0.1 895 0x80000005 0x00f2b3 1 192.168.2.1 192.168.2.1 554 0x80000004 0x007c3d 2 192.168.3.1 192.168.3.1 540 0x80000003 0x0051ce 2 192.168.4.1 192.168.4.1 468 0x80000003 0x006bb0 2 Net Link States (Area 0) Link ID ADV Router Age Seq# Checksum 192.168.0.2 192.168.2.1 901 0x80000001 0x00f340 192.168.1.2 192.168.2.1 468 0x80000003 0x00a384
Passive-interface
Появляется одна неочевидная проблема с безопасностью. Когда мы включаем некоторую сеть в процесс ospf, мы не только рассказываем про неё всем маршрутизаторам, но и начинаем слать в неё hello пакеты. Для клиентских сетей (в нашем примере – loopback) этого делать не нужно, так как там не должно быть маршрутизаторов. В то же время, если мы исключим такую сеть – то про неё никто не узнает и трафик в неё доставляться не будет. Решение – включать такую сеть, но прописывать команду passive-interface, которая запрещает слать на некоторые интерфейсы апдейты. Подробнее с ней можно ознакомиться в отдельной статье.
R2(config-router)#passive-interface loopback 0 R3(config-router)#passive-interface loopback 0 R4(config-router)#passive-interface loopback 0
Передача статического маршрута по умолчанию средствами OSPF
Последняя задача, которую необходимо решить – сообщить всем внутренним маршрутизаторам о том, что у нас есть маршрут по умолчанию, смотрящий на провайдера. Задача эта решается достаточно просто на R1:
R1(config)#ip route 0.0.0.0 0.0.0.0 10.10.10.1 R1(config)#router ospf 1 R1(config-router)#default-information originate
Первая строчка добавляет статический маршрут по умолчанию в направлении ISP, но этот маршрут пока локальный, то есть он известен только на R1. Команда default-information originate заставляет OSPF передавать этот маршрут остальным маршрутизаторам.
R1#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 10.10.10.1 to network 0.0.0.0 10.0.0.0/30 is subnetted, 1 subnets C 10.10.10.0 is directly connected, FastEthernet0/1 192.168.0.0/30 is subnetted, 1 subnets C 192.168.0.0 is directly connected, FastEthernet0/0 O 192.168.1.0/24 [110/2] via 192.168.0.2, 00:53:25, FastEthernet0/0 192.168.3.0/32 is subnetted, 1 subnets O 192.168.3.1 [110/3] via 192.168.0.2, 00:53:15, FastEthernet0/0 192.168.4.0/32 is subnetted, 1 subnets O 192.168.4.1 [110/3] via 192.168.0.2, 00:51:54, FastEthernet0/0 S* 0.0.0.0/0 [1/0] via 10.10.10.1
Как видно, на R1 маршрут статический (с буквой «S»). Если посмотреть таблицу маршрутизации на R4, то она выглядит следующим образом:
R4#show 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 192.168.1.2 to network 0.0.0.0 192.168.0.0/30 is subnetted, 1 subnets O 192.168.0.0 [110/2] via 192.168.1.2, 00:53:21, FastEthernet0/0 C 192.168.1.0/24 is directly connected, FastEthernet0/0 192.168.3.0/32 is subnetted, 1 subnets O 192.168.3.1 [110/2] via 192.168.1.3, 00:53:21, FastEthernet0/0 C 192.168.4.0/24 is directly connected, Loopback0 O*E2 0.0.0.0/0 [110/1] via 192.168.1.2, 00:05:49, FastEthernet0/0
В последней строчке «O» означает, что маршрут получат с помощью OSPF, «*» – что он является маршрутом по умолчанию, а «E2» – что маршрут является внешним по отношению к OSPF, то есть изначально он получен не от OSPF (в данном случае был статическим), а OSPF используется только для передачи этого маршрута. Конфигурация из данной статьи доступна в формате Packet Tracer
Как настроить динамическую маршрутизацию. OSPF на Cisco IOS
Хотите узнать, для чего нужна динамическая маршрутизация cisco, как настроить OSPF на Cisco? Погрузитесь в эту статью!
Давайте рассмотрим следующую топологию сети:
Допустим, в этой сети мы используем статическую маршрутизацию, и появилась необходимость добавить новый роутер (R4). Роутеры «знают» только про подключенные к ним сети напрямую (directly connected). В таком случае нам придется вручную добавить все маршруты к подсетям на R4, а на остальных роутерах добавить маршруты к подсетям, которые обслуживает R4:
С ростом сети это становится достаточно трудоемкой задачей. Протоколы динамической маршрутизации позволяют обмениваться маршрутами автоматически, упрощая обслуживание сети. Также динамические протоколы маршрутизации сами определяют оптимальный маршрут для отправки пакетов (мы можем влиять на это в случае необходимости) и выбирать альтернативный маршрут в случае падения какого-то канала.
Например, R3 может связаться с R1 через несколько маршрутов: через 10.5.0.4/30, через 10.5.0.8/30 -> 10.5.0.0/30 и 10.5.0.16/30 -> 10.5.0.12/30 -> 10.5.0.0/30. При использовании OSPF роутеры будут постоянно обмениваться информацией про известные маршруты и состояние соединений. В случае падения прямого канала между R1 и R3 трафик пойдет через роутер R2.
Вот так будет выглядеть топология нашей сети с добавленным новым роутером R4:
Начнем с настройки роутера R1. Представляю Ваше вниманию непосредственно сам пример настройки.
Запустим процесс ospf:
R1(config)# router ospf 1
Последнее число — это PID процесса, может отличаться на разных роутерах, но исключительно для удобства лучше задавать одно и тоже число.
Теперь отключим отправку hello пакетов на всех интерфейсах. Из соображений безопасности мы будем явно задавать интерфейсы, на которых будут устанавливаться neighbour отношения.
R1(config-router)#passive-interface default
Теперь укажем интерфейсы, на которых мы будем отправлять hello пакеты. Для R1 это fa0/0 и fa0/1:
R1(config-router)#no passive-interface fa0/0 R1(config-router)#no passive-interface fa0/1
С помощью команды network мы можем сделать 2 вещи — сообщить, какие сети мы хотим анонсировать по OSPF другим роутерам и на каких интерфейсах мы будем отправлять hello пакеты. Именно поэтому ранее мы указали конкретные интерфейсы для hello пакетов. К примеру, на роутере R1 нам нужны 3 сети: 10.5.0.0/30, 10.5.0.4/30 и 172.16.0.0/26. Но в последней сети будут исключительно пользовательские устройства и нам бы совсем не хотелось, чтобы кто-то имел возможность с нее влиять на таблицы маршрутизации роутеров.
Формат команды network:
network 0.0.0.0 255.255.255.255 area 0
Первым параметром идет номер сети, вторым — wildcart маска и последним номер зоны.
Проще говоря, это команда сообщает роутеру, c каких интерфейсов будут анонсироваться подсети по OSPF. В примере выше мы разрешили анонсировать любые подсети, с любых интерфейсов. Данный способ, конечно, упрощает настройку, но не рекомендован Cisco. Потому что любой интерфейс, который вы настроили на роутере, сразу уйдет в таблицы маршрутизации других роутеров. Cisco рекомендует подключать каждую сеть отдельно, для нашей конфигурации сети на R1 это будет выглядеть так:
R1(config-router)#network 10.5.0.1 0.0.0.0 area 0 R1(config-router)#network 10.5.0.5 0.0.0.0 area 0 R1(config-router)#network 172.16.0.1 0.0.0.0 area 0
Для понимания синтаксиса приведу пример, который позволит анонсировать обе служебные сети(10.5.0.0/30 и 10.5.0.4/30):
R1(config-router)#network 10.5.0.0 0.0.0.255 area 0
Дословно это означает: «анонсировать подсети с интерфейсов, которые начинаются на 10.5.0»
Теперь настроим R2:
router ospf 1 passive-interface default no passive-interface FastEthernet0/0 no passive-interface FastEthernet0/1 no passive-interface Vlan30 network 10.5.0.2 0.0.0.0 area 0 network 10.5.0.9 0.0.0.0 area 0 network 10.5.0.13 0.0.0.0 area 0 network 172.16.0.129 0.0.0.0 area 0
После этого мы получим уведомление:
*Mar 1 00:05:29.875: %OSPF-5-ADJCHG: Process 1, Nbr 172.16.0.1 on FastEthernet0/0 from LOADING to FULL, Loading Done
Это означает, что R1 и R2 установили neighbour отношения и обменялись информацией о известных маршрутах.
Теперь на R2 должен быть один «сосед»:
R2#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 172.16.0.1 1 FULL/DR 00:00:35 10.5.0.1 FastEthernet0/0
Посмотрим таблицу маршрутизации на R2:
R2#show ip route Codes: C - connected, S - static, 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 i - IS-IS, su - IS-IS summary, 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 172.16.0.0/26 is subnetted, 2 subnets C 172.16.0.128 is directly connected, Vlan20 O 172.16.0.0 [110/11] via 10.5.0.1, 00:06:39, FastEthernet0/0 10.0.0.0/30 is subnetted, 3 subnets C 10.5.0.8 is directly connected, Vlan30 O 10.5.0.4 [110/20] via 10.5.0.1, 00:06:39, FastEthernet0/0 C 10.5.0.0 is directly connected, FastEthernet0/0
От R1 мы получили 2 маршрута по OSPF, о чем и говорит буква O в начале записи о маршруте.
Конфигурация R3:
router ospf 1 passive-interface default no passive-interface FastEthernet0/0 no passive-interface FastEthernet0/1 no passive-interface Vlan20 network 10.5.0.6 0.0.0.0 area 0 network 10.5.0.10 0.0.0.0 area 0 network 10.5.0.17 0.0.0.0 area 0 network 172.16.0.65 0.0.0.0 area 0
И для R4:
router ospf 1 passive-interface default no passive-interface FastEthernet0/0 no passive-interface FastEthernet0/1 network 10.5.0.14 0.0.0.0 area 0 network 10.5.0.18 0.0.0.0 area 0 network 172.16.1.1 0.0.0.0 area 0 network 172.16.1.65 0.0.0.0 area 0 network 172.16.1.129 0.0.0.0 area 0 network 172.16.1.193 0.0.0.0 area 0
Теперь наша таблица маршрутизации выглядит так:
R1#show ip route ... 172.16.0.0/26 is subnetted, 6 subnets O 172.16.1.128 [110/21] via 10.5.0.6, 00:11:05, FastEthernet0/1 [110/21] via 10.5.0.2, 00:11:05, FastEthernet0/0 O 172.16.1.192 [110/21] via 10.5.0.6, 00:11:05, FastEthernet0/1 [110/21] via 10.5.0.2, 00:11:05, FastEthernet0/0 C 172.16.0.0 is directly connected, Vlan10 O 172.16.1.0 [110/21] via 10.5.0.6, 00:11:05, FastEthernet0/1 [110/21] via 10.5.0.2, 00:11:05, FastEthernet0/0 O 172.16.0.64 [110/11] via 10.5.0.6, 00:11:07, FastEthernet0/1 O 172.16.1.64 [110/21] via 10.5.0.6, 00:11:07, FastEthernet0/1 [110/21] via 10.5.0.2, 00:11:07, FastEthernet0/0 10.0.0.0/30 is subnetted, 5 subnets O 10.5.0.12 [110/20] via 10.5.0.2, 00:11:07, FastEthernet0/0 O 10.5.0.8 [110/11] via 10.5.0.6, 00:11:08, FastEthernet0/1 [110/11] via 10.5.0.2, 00:11:08, FastEthernet0/0 C 10.5.0.4 is directly connected, FastEthernet0/1 C 10.5.0.0 is directly connected, FastEthernet0/0 O 10.5.0.16 [110/20] via 10.5.0.6, 00:11:11, FastEthernet0/1
Теперь можно попробовать сымитировать падения аплинка. Проведем трассировку маршрута с роутера R3 к клиентскому ПК с IP 172.16.0.2:
R3#traceroute 172.16.0.2 Type escape sequence to abort. Tracing the route to 172.16.0.2 1 10.5.0.5 16 msec 16 msec 16 msec 2 172.16.0.2 24 msec 36 msec 44 msec
Из трассировки видно, что трафик пойдет напрямую к R1. Отключим интерфейс на R1, к которому подключен R3:
R1#conf t Enter configuration commands, one per line. End with CNTL/Z. R1(config)#interface fa0/1 R1(config-if)#shutdown R1(config-if)#end
R3 заметил падение канала с R1:
*Mar 1 03:32:41.567: %OSPF-5-ADJCHG: Process 1, Nbr 172.16.0.1 on FastEthernet0/0 from FULL to DOWN, Neighbor Down: Dead timer expired
Теперь трафик пойдет через альтернативный канал (R3 -> R2 — R1):
R3#traceroute 172.16.0.2 Type escape sequence to abort. Tracing the route to 172.16.0.2 1 10.5.0.9 16 msec 16 msec 16 msec 2 10.5.0.1 40 msec 32 msec 40 msec 3 172.16.0.2 44 msec 48 msec 68 msec
На этом настройка OSPF с одной зоной (area 0) закончена. Теперь наша сеть использует OSPF для динамической маршрутизации.
Multi Area OSPF
Для чего нам может понадобиться разделить нашу сеть на несколько зон? В первую очередь, для агрегации маршрутов. Например, в нашей топологии роутер R4 анонсирует в сеть 4 маршрута, но все сети из диапазона 172.16.1.0-172.16.1.255 будут принадлежать исключительно ему, и мы хотим анонсировать один маршрут — 172.16.1.0/24. Это особенно актуально в больших сетях с большой таблицей маршрутизации. Так же, в силу специфики всех link-state протоколов динамической маршрутизации, в OSPF каждый роутер узнает о падении любого канала в сети. Это, конечно, повышает качество выбора оптимального маршрута, но и заметно повышает нагрузку. Допустим, у нас есть 15 офисов в Хмельницком и 10 в Виннице — роутерам в Виннице совершенно не обязательно знать о том, что какой-то роутер в Хмельницком упал. Разделение сети на разные зоны решает данный вопрос.
Для начала уберем анонс подсетей с R4:
router ospf 1 no network 172.16.1.1 0.0.0.0 area 0 no network 172.16.1.65 0.0.0.0 area 0 no network 172.16.1.129 0.0.0.0 area 0 no network 172.16.1.193 0.0.0.0 area 0
И добавим их с area 1:
router ospf 1 network 172.16.1.1 0.0.0.0 area 1 network 172.16.1.65 0.0.0.0 area 1 network 172.16.1.129 0.0.0.0 area 1 network 172.16.1.193 0.0.0.0 area 1
И объявим диапазон для зоны:
R4(config-router)#area 1 range 172.16.1.0 255.255.255.0
Теперь на роутерах с area 0 появился только один маршрут:
R1#show ip route Codes: C - connected, S - static, 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 i - IS-IS, su - IS-IS summary, 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 ... O IA 172.16.1.0/24 [110/21] via 10.5.0.6, 00:00:30, FastEthernet0/1 [110/21] via 10.5.0.2, 00:00:30, FastEthernet0/0 ...