Часть 2. Базовая настройка протокола OSPF на маршрутизаторе Cisco

Рассмотрение настройки протокола OSPF начнём со следующей топологии:

topol_3

Здесь 4 маршрутизатора находятся в area 0 (Backbone Area).

Настройка протокола OSPF на маршрутизаторах Cisco не представляет каких-либо сложностей. Достаточно в режиме глобальной конфигурирации выполнить следующие команды (начнём с маршрутизатора R1):

R1(config)# router ospf 1
R1(config-router)# router-id 1.1.1.1
R1(config-router)# network 192.168.12.1 0.0.0.0 area 0

Далее на R2:

R2(config)# router ospf 2
R2(config-router)# router-id 2.2.2.2
R2(config-router)# network 192.168.12.2 0.0.0.0 area 0

Разберёмся с каждой из трёх команд на маршрутизаторе R1:

  • router ospf 1 — команда для запуска процесса динамической маршрутизации OSPF на маршрутизаторе. Цифра 1 в конце команды указывает номер процесса OSPF (OSPF Process ID). Следует отметить, что этот номер не обязан быть одинаковым на всех маршрутизаторах в area (да и даже в автономной системе в целом), на которых запускаем OSPF. Я буду использовать OSPF Process ID равный номеру маршрутизатора в рассматриваемой топологии
  • router-id 1.1.1.1 — задаётся в режиме конфигурирования процесса маршрутизации (в который попадаем после ввода первой рассмотренной команды). Здесь указывается OSPF идентификатор (OSPF Router ID) данного маршрутизатора. OSPF идентификатор каждого маршрутизатора, который участвует в процессе маршрутизации OSPF в автономной системе, должен быть уникальным. Процесс выбора OSPF Router ID происходит следующим образом (по уменьшению приоритета):

1. Задаётся вручную командой router-id 1.1.1.1 (наиболее предпочтительный способ)
2. Выбирается наибольший IP адрес Loopback интерфейса, который в состоянии up/up
3. Выбирается наибольший IP адрес физического интерфейса, который в состоянии up/up

Без OSPF Router ID процесс маршрутизации не запустится. В этом случае в консоли будет сообщение:

*Sep 11 09:54:02.935: %OSPF-4-NORTRID: OSPF process 1 failed to allocate unique router-id and cannot start

OSPF Router ID играет одну из ключевых ролей при наполнении базы данных состояния каналов OSPF (OSPF LSDB), на основании которой и происходит расчёт кратчайших маршрутов к сетям в домене маршрутизации OSPF и занесение этих маршрутов в таблицу маршрутизации.

При смене OSPF Router ID на маршрутизаторе с запущенным процессом OSPF потребуется перезапуск процесса OSPF, который повлечёт переустановление отношений смежности OSPF с другими маршрутизаторами. В течение процесса преустановления смежности OSPF произойдёт исключение маршрутов, полученных посредством OSPF, из таблицы маршрутизации.

  • network 192.168.12.1 0.0.0.0 area 0 — указываем на каких интерфейсах маршрутизатора запускать процесс OSPF. Я предпочитаю указывать явно IP адрес каждого интерфейса, на котором необходимо запустить процесс OSPF, причём использовать при этом wildcard-маску «0.0.0.0». Такой подход позволяет явно контролировать, на каких интерфейсах будет запущен OSPF и какие сети будут анонсироваться OSPF соседям. «area 0» в конце команды говорит о том, что интерфейсы маршрутизатора с IP адресами, подпадающими под сеть, указанную после «network«, будут относиться к нулевой области (Backbone Area). В представленной топологии в area 0 «попадёт» интерфейс gi2/0 с IP адресом 192.168.12.1/24

Хочу немного подробнее рассмотреть третью команду (network 192.168.12.1 0.0.0.0 area 0), а именно варианты её использования.

Можно задать эту команду в виде:

network 0.0.0.0 0.0.0.0 area 0

и тогда все интерфейсы (с настроенными IP адресами и в состоянии up/up) маршрутизатора будут участвовать в процессе OSPF и пытаться найти OSPF «соседа», отсылая через каждый интерфейс OSPF сообщение «Hello». Некоторые интерфейсы маршрутизатора могут быть подключены к конечным сетям (с компьютерами, МФУ и т.п.), в которых не будет маршрутизатора с запущенным OSPF процессом. Такие интерфейсы можно сконфигурировать как «passive», и тогда маршрутизатор не будет на этом интерфейсе отсылать и принимать «Hello» сообщения с целью найти OSPF «соседа»:

R1(config)# router ospf 1
R1(config-router)# passive-interface gi4/0

Здесь на интерфейсе gi4/0 маршрутизатор никогда не установит отношений соседства/смежности OSPF.

Кроме того, задание интерфейсов, на которых не должен появиться OSPF «сосед» как «passive», предотвратит появление в сети несанкционированного маршрутизатора, который, установив OSPF соседство с одним из наших маршрутизаторов, сможет распространить в сети «фальшивые» маршруты и таким образом «завернуть» пользовательский трафик через машину со снифером; либо исказить маршрутную информацию в сети с целью вызвать отказ в обслуживании (DoS).

После ввода этих команд на маршрутизаторах R1 и R2, если на них включён режим вывода log-сообщений в терминал (кстати включается этот режим командой «router# terminal monitor»), то на экране увидим следующее сообщение (сообщение с R2):

*Sep 11 09:59:34.435: %OSPF-5-ADJCHG: Process 2, Nbr 1.1.1.1 on GigabitEthernet1/0 from LOADING to FULL, Loading Done

говорящее о том, что маршрутизатор R2 установил отношение смежности с соседом (Nbr — от слова Neighbor), идентификатор OSPF (OSPF Router Id) которого 1.1.1.1, и находится этот сосед за интерфейсом GigabitEthernet1/0 и перешёл в состояние Full (об этом детально будет позже).

Чтобы посмотреть, на каких интерфейсах запущен процесс OSPF, воспользуемся командой «show ip ospf interface» на маршрутизаторе R1 (на данном этапе OSPF настроен только на R1 и R2):

R1#show ip ospf interface

GigabitEthernet2/0 is up, line protocol is up
интерфейс GigabitEthernet2/0 с IP адресом 192.168.12.1/24 находится в Area 0
Internet Address 192.168.12.1/24, Area 0
идентификатор процесса OSPF (OSPF Process ID), который мы задали первой командой — 1, OSPF Router ID (задали второй командой) — 1.1.1.1
Process ID 1, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 1
…………………………………………………
количество соседей — 1, отношения соседства установлены с одним маршрутизатором
Neighbor Count is 1, Adjacent neighbor count is 1
OSPF Router ID соседа, с которым установлены отношения соседства — 2.2.2.2 (задавали на маршрутизаторе R2)
Adjacent with neighbor 2.2.2.2 (Designated Router)
…………………………………………………

Настроив все 4 маршрутизатора мы получим рабочий OSPF домен маршрутизации с одной областью — area 0 (Backbone Area).

Просмотреть соседей OSPF можно командой «show ip ospf neighbor»:

R1#show ip ospf neighbor

Neighbor ID      Pri       State         Dead Time         Address              Interface
3.3.3.3             1      FULL/BDR        00:00:33     192.168.13.3    GigabitEthernet3/0
2.2.2.2             1      FULL/DR          00:00:34     192.168.12.2    GigabitEthernet2/0

Видим, что у R1 есть 2 OSPF-соседа. Так же видим OSPF Router ID, IP Address соседей и через какие интерфейсы маршрутизатора R1 эти соседи достижимы.

Ну и таблица маршрутизации на R1:

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

Gateway of last resort is not set

C 192.168.12.0/24 is directly connected, GigabitEthernet2/0
C 192.168.13.0/24 is directly connected, GigabitEthernet3/0
O 192.168.24.0/24 [110/2] via 192.168.12.2, 00:02:54, GigabitEthernet2/0
O 192.168.34.0/24 [110/2] via 192.168.13.3, 00:04:23, GigabitEthernet3/0

Две последние подсети были установлены в таблицу маршрутизации при помощи протокола динамической маршрутизации OSPF, о чём свидетельствует буква O в начале последних двух строк вывода команды «show ip route».

В данной статье не проведена грань между понятиями «соседство» и «смежность» при рассмотрении отношений между маршрутизаторами с запущенным процессом OSPF. В дальнейших статьях будет приведено отличие между этими двумя терминами.

Добавить комментарий