Настройка ospf для одного роутера

Время на прочтение
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 не является целью нашего повествования, опишем эти понятия вкратце.

  1. DR, designated router (выделенный маршрутизатор) — маршрутизатор который управляет процессом обмена сообщениями в сети OSPF.
  2. 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 уроков бесплатно, заказать их можно на странице курса.

Содержание

  1. НастройкаOSPFc одной областью
  2. Настройкаrouter-id
  3. Настройка областиOSPF
  4. Настройка Сети
  5. многозонная конфигурацияOSPF
  6. Настройка маршрутов
  7. Настройка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 осуществляется следующими основными шагами

  1. Настроить router-id
  2. Конфигурация области
  3. Конфигурация сети

Настройка 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

Перейти к: навигация, поиск

stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.

Автор: Наташа Самойленко

На этой странице описывается настройка 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
  • 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 не был назначен административно, то он выбирается автоматически, в зависимости от настроек маршрутизатора, по таким правилам:

  1. Настроен один loopback-интерфейс и несколько интерфейсов с различными адресами:
    • Адрес присвоенный loopback-интерфейсу будет Router ID.
  2. Настроены несколько loopback-интерфейсов с несколькими IP-адресами в каждом:
    • Наибольший IP-адрес присвоенный любому из loopback-интерфейсов будет Router ID.
  3. Настроены несколько интерфейсов с 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.

Note-icon.gif

В процессе OSPF могут быть настроены команды network с перекрывающимися сетями. Интерфейс будет назначен в зону команды network, которая соответствует максимально IP-адресу этого интерфейса.
Например, если есть такие настройки OSPF:

network 192.168.1.1 0.0.0.0 area 1
network 192.168.1.0 0.0.0.255 area 2
network 192.168.0.0 0.0.255.255 area 3

То интерфейс с адресом 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

Note-icon.gif

При использовании unnumbered интерфейсов, отличается влияние команд ip ospf area и network.
Например, есть lo0 с адресом 192.168.1.1 и unnumbered интерфейс s0/0.

Если настроить команду 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], тогда процесс запускается только на нем.

Note-icon.gif

OSPF не проверяет сеть и маску сети при установке отношений соседства в point-to-point сетях.
Поэтому можно использовать IP unnumbered интерфейсы.

[править] 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>

Note-icon.gif

Так как стоимость интерфейса высчитывается на основании пропускной способности интерфейса, один из вариантов поменять стоимость это изменить параметр 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]

Note-icon.gif

Если трафик идёт в сети, которых нет на ABR, но они попадают в суммарный маршрут в Null 0, то ABR отбрасывает его и генерирует ICMP unreachable.
Можно отключить отправку ICMP unreachable:

interface Null0

no ip unreachables

[править] Пример настройки

Настройка суммирования маршрутов:

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

Note-icon.gif

При просмотре LSDB с дополнительными параметрами, вывод некоторых полей LSA более очевиден.
Например, дополнительно указано, что в конкретном LSA используется в роли Link ID.

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)

Note-icon.gif

Фактически OSPF позволяет указать только тип аутентификации, без указания пароля. При такой ситуации отношения соседства установятся (если у соседей указан одинаковый тип аутентификации), но сама аутентификация не будет выполняться.

Тип аутентификации может быть настроен на интерфейсе или для всей зоны. А сам пароль только на интерфейсах.

Note-icon.gif

Тип аутентификации может быть настроен на интерфейсе и для всей зоны. Настройки на интерфейсе являются более приоритетными.

[править] Настройка типа аутентификации для зоны

Настройка аутентификации 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 Systems, Inc.
Устройства 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.

Топология для настройки 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. Когда мы указываем некоторую сеть, это приводит к двум последствиям:

  1. Информация об этой сети начинает передаваться другим маршрутизаторам (при условии, что на маршрутизаторе есть рабочий интерфейс в данной сети)
  2. Через интерфейс, находящийся в этой сети маршрутизатор начинает общаться с соседями.

Таким образом, необходимо указывать на каждом маршрутизаторе все сети, непосредственно подключенные к нему. Исключением является 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

Видно, что:

  1. Все соседи выбрали себе Router ID – в данном случае это наибольший из адресов их loopback интерфейсов
  2. Маршрутизатор R3 – стал BDR, R4 – не стал ни DR ни BDR, таким образом, в сети со множественным доступом 192.168.1.0/24, DR-ом стал сам R2.
  3. Все соседские отношения установились, в последнем столбце таблицы видно, через какой именно интерфейс доступны соседи.

Эта команда важна для диагностики 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

Динамическая маршрутизация. Настройка OSPF на Cisco IOS

Хотите узнать, для чего нужна динамическая маршрутизация cisco, как настроить OSPF на Cisco? Погрузитесь в эту статью!

Давайте рассмотрим следующую топологию сети:

Динамическая маршрутизация. Настройка OSPF на Cisco IOS

Допустим, в этой сети мы используем статическую маршрутизацию, и появилась необходимость добавить новый роутер (R4). Роутеры «знают» только про подключенные к ним сети напрямую (directly connected). В таком случае нам придется вручную добавить все маршруты к подсетям на R4, а на остальных роутерах добавить маршруты к подсетям, которые обслуживает R4:

Динамическая маршрутизация. Настройка OSPF на Cisco IOS

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

Например, 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:

Динамическая маршрутизация. Настройка OSPF на Cisco IOS

Начнем с настройки роутера 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 в Виннице — роутерам в Виннице совершенно не обязательно знать о том, что какой-то роутер в Хмельницком упал. Разделение сети на разные зоны решает данный вопрос.

Динамическая маршрутизация. Настройка OSPF на Cisco IOS

Для начала уберем анонс подсетей с 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
...

  • Настройка pppoe на роутере кинетик
  • Настройка openwrt на роутере tp link
  • Настройка pppoe на роутере xiaomi
  • Настройка openvpn сервера на роутере mikrotik
  • Настройка openvpn на роутере dd wrt