ѕодпишитесь на наш Telegram-канал Ѕудьте в курсе последних новостей 👇 😉 ѕодписатьс€
ѕоддержим в трудное врем€ —пециальное предложение на техническую поддержку вашей »“ - инфраструктуры силами наших экспертов ѕодобрать тариф
ѕоставка оборудовани€ √аранти€ и помощь с настройкой. —кидка дл€ наших читателей по промокоду WIKIMERIONET  упить
»нтерфейс статистики Merion Mertics показывает ключевые диаграммы и графики по звонкам, а также историю звонков в формате, который легко поймет менеджер ѕопробовать бесплатно
¬недрение
офисной телефонии
Ўаг на пути к созданию доступных унифицированных коммуникаций в вашей компании ¬недрить
»нтеграци€ с CRM ѕомогаем навести пор€док с данными
и хранить их в единой экосистеме
ѕодключить
»“ Ѕезопасность ”мна€ информационна€ безопасность дл€ вашего бизнеса «аказать
ћерион Ќетворкс

12 минут чтени€

¬ этой статье рассматриваютс€ OSPF и все проблемы, которые могут возникнуть с этим протоколом. OSPF отличаетс€ от EIGRP протоколом состо€ни€ канала, но общим дл€ них €вл€етс€ то, что оба протокола маршрутизации устанавливают соседство до обмена информацией о маршрутизации. ¬ случае OSPF мы обмениваемс€ LSA (объ€вление о состо€нии канала), чтобы создать LSDB (база данных о состо€нии канала). Ќаилучша€ информаци€ из LSDB будет скопирована в таблицу маршрутизации.

¬ этой части мы начнем с устранени€ неполадок соседей OSPF.  ак только у нас есть рабочее соседство OSPF, мы рассмотрим другие проблемы, такие как отсутствующие маршруты.

Full просмотр соседства OSPF

ѕри просмотре соседства OSPF, мы видим, что оно сообщает нам Full. Ќеобходимо больше информации дл€ понимани€ состо€ни€ Full.

≈сли смежность соседства OSPF не полна€, мы рассматриваем одно из следующих состо€ний:

  • —оседей нет вообще
  • ќно "залипло" в ATTEMPT.
  • ќно "залипло" в INIT.
  • ќно "залипло" в 2-WAY.
  • ќно "залипло" в EXSTART/EXCHANGE.
  • ќно "залипло" в LOADING.

ƒавайте начнем и рассмотрим разные ситуации, которые могут возникнуть с соседством OSPF!


”рок 1

у нас есть 2 маршрутизатора

ћы начнем со сценариев, когда OSPF вообще не имеет соседства. ¬ приведенном выше примере у нас есть 2 маршрутизатора.

нет никакого OSPF соседства

 ак вы можете видеть у нас нет никакого OSPF соседства, что может быть не так?

show ip ospf interface show ip ospf interface

ћожно было просто посмотреть на текущую конфигурацию и посмотреть, что не так, но мы не ищем простых путей. ћы используем другие полезные команды OSPF. —начала используем команду show ip ospf interface. ћы видим, что OSPF не включен на интерфейсе FastEthernet 0/0 R1, но он работает на R2.

 то-то допустил ошибку с командой network и набрал неверный сетевой адрес

 то-то допустил ошибку с командой network и набрал неверный сетевой адрес ... проста€ ошибка, но такие вещи случаютс€.

R1(config)#router ospf 1
R1(config-router)#no network 192.168.21.0 0.0.0.255 area 0
R1(config-router)#network 192.168.12.0 0.0.0.255 area 0

Ќастройка правильного сетевого адреса и обратной маски устран€ет эту ошибку.

Ќастройка правильного сетевого адреса
ѕроблема решена. —оседство OSPF установлено. Ёто было легкое начало ...»тог урока: проверьте правильность настройки сетевого адреса, обратной маски и области.

”рок 2

2 маршрутизатора, но проблема друга€

ќчередна€ проблема. —хема аналогична€: 2 маршрутизатора, но проблема друга€.

нет никакого соседства OSPF

 ак вы видите, нет никакого соседства OSPF.

ѕротокол OSPF был включен на интерфейсе обоих маршрутизаторов

ѕротокол OSPF был включен на интерфейсе обоих маршрутизаторов, поэтому мы знаем, что был использован правильный тип сети. ќднако если вы внимательно посмотрите на R1, то увидите, что на нем написано "No Hellos (ѕассивный интерфейс)". ≈сли вы настроите пассивный интерфейс, то сеть на интерфейсе все равно будет объ€влена, но она не будет отправл€ть приветственные пакеты OSPF. “аким образом, невозможно создать соседство OSPF.

невозможно создать соседство OSPF

¬от она проблема.

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

”далим пассивный интерфейс.

”далим пассивный интерфейс

—оседство OSPF работает ... проблема устранена!

»тог урока: проверьте, что OSPF отправл€ет приветственные пакеты на интерфейс, поскольку в противном случае вы не сможете создать соседство.

”рок 3

те же маршрутизаторы, друга€ проблема

—ледующий сценарий ... те же маршрутизаторы, друга€ проблема.

R1 показывает, что наш сосед OSPF находитс€ в состо€нии INIT R2 ничего не показывает

»нтересно... R1 показывает, что наш сосед OSPF находитс€ в состо€нии INIT, а R2 ничего не показывает.

OSPF был правильно настроен на обоих интерфейсах OSPF был правильно настроен на обоих интерфейсах

 ак мы видим, в примере выше OSPF был правильно настроен на обоих интерфейсах.

ѕоскольку R1 показывает состо€ние INIT, мы можем сделать вывод, что он получает что-то от R2. R2 ничего не показывает, поэтому, веро€тно, ничего не получает от R1. OSPF использует пакеты приветстви€ дл€ установлени€ соседства OSPF, и они отправл€ютс€ с использованием многоадресного адреса 224.0.0.5.

можем ли мы пропинговать адрес многоадресной рассылки можем ли мы пропинговать адрес многоадресной рассылки

–екомендуетс€ проверить, можем ли мы пропинговать адрес многоадресной рассылки, который OSPF использует дл€ пакетов приветстви€. ћы видим, что R1 и R2 оба не получают ответа.

ќтправка эхо-запросов друг другу проход€т без проблем ќтправка эхо-запросов друг другу проход€т без проблем

ќтправка эхо-запросов друг другу проход€т без проблем.“ак что может вызвать проблемы с отправкой и получением многоадресного трафика OSPF?  ак насчет списка доступа?

на R2 имеетс€ вход€щий список доступа на R2 имеетс€ вход€щий список доступа

ћы на что-то нашли. » это то, что на R2 имеетс€ вход€щий список доступа с именем BLOCKSTUFF.

в нижней части access-list имеетс€ данный запрет

—писок доступа разрешает только TCP, UDP и ICMP трафик. OSPF не использует TCP или UDP, и он удал€етс€ этим списком доступа из-за deny any. ћы этого не видим в верхнем листинге, но в нижней части access-list имеетс€ данный запрет.

R2(config)#ip access-list extended BLOCKSTUFF
R2(config-ext-nacl)#5 permit ospf any any
проведем коррекцию

ѕроведем коррекцию access-list, чтобы был разрешен трафик OSPF.

теперь она отображаетс€ как Full

ѕроблема решена, теперь она отображаетс€ как Full.

теперь можно пинговать адрес многоадресной рассылки 224.0.0.5 OSPF теперь можно пинговать адрес многоадресной рассылки 224.0.0.5 OSPF

Ќу что, теперь можно пинговать адрес многоадресной рассылки 224.0.0.5 OSPF. ћы видим ответ с другой стороны.

»тог урока: не блокируйте многоадресные адреса OSPF 224.0.0.5 и 224.0.0.6 (DR / BDR).

”рок 4

от же сценарий, друга€ проблема

Ёто еще не все! “от же сценарий, друга€ проблема:

—оседство OSPF  отсутствует, но мы видим, что OSPF был включен на интерфейсе —оседство OSPF  отсутствует, но мы видим, что OSPF был включен на интерфейсе —оседство OSPF  отсутствует, но мы видим, что OSPF был включен на интерфейсе —оседство OSPF  отсутствует, но мы видим, что OSPF был включен на интерфейсе

—оседство OSPF отсутствует, но мы видим, что OSPF был включен на интерфейсе.

ѕинг на адреса многоадресной рассылки проходит ѕинг на адреса многоадресной рассылки проходит

ѕинг на адреса многоадресной рассылки проходит, так что это уже хорошо. Ёто хороший момент дл€ включени€ отладки, чтобы узнать, что происходит:

что происходит за кулисами

Ёто очень полезна€ отладка, котора€ позвол€ет увидеть, что происходит за кулисами.

сбросим процесс OSPF

ћы сбросим процесс OSPF, чтобы ускорить отладку. »мейте в виду, что вы также можете сбросить только 1 соседство OSPF. Ёто лучша€ иде€, если это примен€етс€ в производственной сети (сети предпри€ти€ или организации).

R1 говорит, что он получил пакет

“еперь нам есть с чем работать. R1 говорит, что он получил пакет hello, но у нас есть не соответствующие параметры hello. R означает то, что мы получили, а C-то, что мы настроили.

 ак мы видим, что существует несоответствие в маске подсети. R1 настроен с маской подсети 255.255.255.0, в то врем€ как R2 имеет маску подсети 255.255.255.128. OSPF будет сравнивать маску подсети только в том случае, если вы используете широковещательный тип сети.

show ip ospf interface show ip ospf interface

ћожно использовать команду show ip ospf interface дл€ проверки типа сети, и видно, что она broadcast.

«десь мы видим, что R2 имеет другую маску подсети «десь мы видим, что R2 имеет другую маску подсети

«десь мы видим, что R2 имеет другую маску подсети. Ќеобходимо это исправить!

R2(config)#interface Fe0/0
R2(config-if)#ip address 192.168.12.2 255.255.255.0

ƒостаточно просто ...

соседство  OSPF работает соседство  OSPF работает

“еперь мы видим, соседство OSPF работает.

»тог урока: проверьте правильность использовани€ одинаковых масок подсетей на маршрутизаторах, которые напр€мую св€заны друг с другом.

”рок 5

“а же топологи€, и у нас очередна€ проблема с пакетами hello

ƒавайте продолжим со следующей ошибкой. “а же топологи€, и у нас очередна€ проблема с пакетами hello. —разу перейдем к отладочной части:

проблема похожа на наш последний сценарий

Ёта проблема похожа на наш последний сценарий. ≈сть часть параметров, которые должны совпадать в hello пакете, чтобы создать соседство OSPF. dead interval на R1 сконфигурирован на 24 секунды, а на R2 на 11 секунд. hello interval настроен на 10 секунд на R2 и 6 секунд на R1. ѕомен€ем настройки параметров:

R1(config)#interface Fe0/0
R1(config-if)#ip ospf hello-interval 10
R1(config-if)#ip ospf dead-interval 11

Ќам нужно изменить это на уровне интерфейса.

¬веденные команды с новыми параметрами
¬веденные команды с новыми параметрами решает нашу проблему. —оседство OSPF работает.

”рок 6

“опологи€

≈ще одна проблема, с которой нам, возможно, придетс€ столкнутьс€, это аутентификаци€. OSPF предлагает 3 метода аутентификации:

  • без аутентификации
  • Plaintext
  • MD5 аутентификаци€
нет соседей OSPF нет соседей OSPF

 ак мы видим, что у нас нет соседей OSPF. ƒавайте используем debug:

Debug ip ospf adj

Debug ip ospf adj поможет нам решить эти неполадки . ¬идно, что мы получаем пакет с аутентификацией типа 2, а используетс€ тип 0. ¬от что это значит:

  • Type 0: нет аутентификации.
  • Type 1: plaintext аутентификаци€.
  • Type 2: MD5 аутентификаци€.

—оответственно - R1 сконфигурирован без аутентификации, а R2 сконфигурирован на использование аутентификации MD5.

R2 сконфигурирован на использование аутентификации MD5

ћы также можем посмотреть информацию OSPF дл€ каждого интерфейса, чтобы увидеть, включена ли аутентификаци€ или нет.

включена ли аутентификаци€ или нет

Ёто то, что настроено на интерфейсе R2.

R1(config)#interface FastEthernet0/0
R1(config-if)#ip ospf authentication message-digest
R1(config-if)#ip ospf message-digest-key 1 md5 MYKEY

ћы копируем и вставл€ем его в R1.

копируем и вставл€ем его в R1

ѕроблема устранена! ≈сли вам интересно ... вот что вы увидите, если у вас неправильный пароль на одном из ваших маршрутизаторов:

R1(config)#interface FastEthernet0/0
R1(config-if)#no ip ospf message-digest-key 1 md5 MYKEY
R1(config-if)#ip ospf message-digest-key 1 md5 WRONGKEY

—начала мы помен€ем ключ.

отладчик говорит нам, что мы используем неправильный ключ

Ќаш отладчик говорит нам, что мы используем неправильный ключ между нашими маршрутизаторами.

»звлеченный урок: убедитесь, что вы используете один и тот же тип аутентификации OSPF и пароль между маршрутизаторами.

”рок 7

“от же сценарий

„то еще может пойти не так?  ажетс€, что нет никаких проблем, св€занных с соседством OSPF! “от же сценарий ... друга€ проблема:

—оседство отсутствует OSPF —оседство отсутствует OSPF

—оседство отсутствует OSPF.

есть несоответствие в номере области

¬ышло сообщение на одном из наших маршрутизаторов. —ообщение не требует объ€снений, похоже, у нас есть несоответствие в номере области.

R1 настроен дл€ области 1, а R2 настроен дл€ области 0 R1 настроен дл€ области 1, а R2 настроен дл€ области 0

R1 настроен дл€ области 1, а R2 настроен дл€ области 0. »справл€ем

network
R1(config)#router ospf 1
R1(config-router)#no network 192.168.12.0 0.0.0.255 area 1
R1(config-router)#network 192.168.12.0 0.0.0.255 area 0

ћы используем команду network, чтобы задать правильный номер области.

network

”ра, все работает!

»тог урока: убедитесь, что ваши маршрутизаторы OSPF согласовывают один и тот же номер области.

”рок 8

а этот раз R1 и R2 наход€тс€ в одной зоне 1

–исунок выше слегка отличаетс€ от предыдущего. Ќа этот раз R1 и R2 наход€тс€ в одной зоне 1.

нет соседей нет соседей

¬от так сюрприз...нет соседей! «апускаем отладку:

«апускаем отладку

ќчень, интересно!? —уществует несоответствие в опции stub/transit area. OSPF имеет различные типы областей, и оба маршрута должны согласовыватьс€ с типом области (stub, nssa, totally stub и totally nssa).

R1, по-видимому, настроен на использование normal area

R1, по-видимому, настроен на использование normal area.

R2, похоже, настроен на использование stub area

R2, похоже, настроен на использование stub area. Ќесоответствие в типе области означает, что мы не можем установить соседство OSPF.

R2 имеет команду area 1 stub

Ќа листинге выше мы видим, что R2 имеет команду area 1 stub. ”далим ее.

R2(config)#router ospf 1
R2(config-router)#no area 1 stub

»зменим область 1 на normal area дл€ R2.

»зменим область 1 на normal area дл€ R2 »зменим область 1 на normal area дл€ R2
»тог урока: убедитесь, что ваши маршрутизаторы OSPF используют один и тот же тип области.

”рок 9

ќчередна€ ситуаци€ с неполадками с OSPF

ќчередна€ ситуаци€ с неполадками с OSPF, котора€ на первый взгл€д кажетс€ очень запутанной. ƒавайте посмотрим на конфигурацию OSPF обоих маршрутизаторов:

посмотрим на конфигурацию OSPF обоих маршрутизаторов посмотрим на конфигурацию OSPF обоих маршрутизаторов

Ёто проста€ конфигураци€.

таблица соседства OSPF не пуста€ таблица соседства OSPF не пуста€

” нас таблица соседства OSPF не пуста€, но оба маршрутизатора "застр€ли" в состо€нии 2WAY. ѕомимо поиска нужного нам слова "FULL", обратить внимание на две вещи, отображаемые командой show:

  • ќба маршрутизатора показывают друг друга как DROTHER.
  • ѕриоритет дл€ обоих маршрутизаторов равен 0.

¬ multi-access сети, такой как Ethernet, OSPF будет выполн€ть выборы DR/BDR, если тип сети broadcast или non-broadcast.

ѕровер€ем тип сети:

ќба интерфейса настроены дл€ типа сети broadcast ќба интерфейса настроены дл€ типа сети broadcast

ќба интерфейса настроены дл€ типа сети broadcast. Ёто значение по умолчанию дл€ интерфейсов Ethernet. Ёто означает, что у нас есть выборы DR / BDR, но оба маршрутизатора настроены на приоритет 0, а это означает, что они не будут участвовать в выборах DR / BDR. ѕо этой причине они застр€ли в состо€нии 2WAY. Ќеобходимо это исправить:

R1(config)#interface fastEthernet 0/0
R1(config-if)#ip ospf priority 1

ћы изменим приоритет на одном из маршрутизаторов.

ћы видим, что R1 был выбран дл€ DR ћы видим, что R1 был выбран дл€ DR

¬се работает. ћы видим, что R1 был выбран дл€ DR, потому что он имеет приоритет 1. »тог урока: “ипы широковещательной и не вещательной сети требуют выбора DR / BDR. ”бедитесь, что один из маршрутизаторов выбран.

¬ следующей статье мы разобрали еще 8 уроков траблшутинга OSPF.