Траблшутинг EIGRP

В этой статье мы рассмотрим протокол маршрутизации Cisco EIGRP. EIGRP (Enhanced Interior Gateway Routing Protocol) - это протокол расширенной векторной маршрутизации, который должен устанавливать отношения соседства перед отправкой обновлений. Из-за этого первое, что нам нужно сделать, это проверить, правильно ли работает соседство. Если это так, мы можем продолжить, проверив, объявляются сети или нет. В этой статье рассмотрим все, что может пойти не так с EIGRP, как это исправить и в каком порядке. Давайте начнем с проверки соседства!

Существует ряд элементов, которые вызывают проблемы соседства EIGRP:

  • Неизвестная подсеть: соседи EIGRP с IP-адресами, которые не находятся в одной подсети.
  • Несоответствие значений K: по умолчанию пропускная способность и задержка включены для расчета метрики. Мы можем включить нагрузку и надежность, но мы должны сделать это на всех маршрутизаторах EIGRP.
  • Несоответствие AS: номер автономной системы должен совпадать на обоих маршрутизаторах EIGRP, чтобы сформировать соседство.
  • Проблемы уровня 2: EIGRP работает на уровне 3 модели OSI. Если уровни 1 и 2 не работают должным образом, у нас будут проблемы с формированием соседства.
  • Проблемы со списком доступа: возможно, кто-то создал список доступа, который отфильтровывает многоадресный трафик. EIGRP по умолчанию использует 224.0.0.10 для связи с другими соседями EIGRP.
  • NBMA: по умолчанию Non Broadcast Multi Access сети, такие как Frame Relay, не разрешают широковещательный или многоадресный трафик. Это может препятствовать тому, чтобы EIGRP формировал соседние отношения EIGRP.
Топология
OFF1(config)#int f0/0
OFF1(config-if)#ip address 192.168.12.1 255.255.255.0
OFF1(config-if)#router eigrp 12
OFF1(config-router)#network 192.168.12.0

OFF2(config)#int f0/0
OFF2(config-if)#ip address 192.168.21.2 255.255.255.0
OFF2(config)#router eigrp 12
OFF2(config-router)#network 192.168.21.0

Ошибку неверной подсети легко обнаружить. В приведенном выше примере у нас есть 2 маршрутизатора, и вы можете видеть, что были настроены разные подсети на каждом интерфейсе.

После включения EIGRP всплывают следующие ошибки:

осле включения EIGRP всплывают следующие ошибкиосле включения EIGRP всплывают следующие ошибки


Оба маршрутизатора жалуются, что находятся не в одной подсети.

OFF2(config-router)#int f0/0
OFF2(config-if)#ip address 192.168.12.2 255.25
OFF2(config)#router eigrp 12
OFF2(config-router)#no network 192.168.21.0
OFF2(config-router)#network 192.168.12.0

Мы изменили IP-адрес на OFF2 и убедились, что для EIGRP правильно настроена команда network.

команда networkкоманда network


Вуаля! Теперь у нас есть соседство EIGRP.

Теперь у нас есть соседство EIGRPТеперь у нас есть соседство EIGRP


Проверим это с помощью команды show ip eigrp neighbors.

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

CASE #2

Топология №2


На этот раз IP-адреса верны, но мы используем разные значения K с обеих сторон. OFF1 включил пропускную способность, задержку, нагрузку и надежность. OFF2 использует только пропускную способность и задержку.

OFF2 использует только пропускную способность и задержку


Эту ошибку легко обнаружить, поскольку сообщение в консоли гласит "Несоответствие K-значений" на обоих маршрутизаторах.

Несоответствие K-значений


Мы можем проверить нашу конфигурацию, посмотрев ее на обоих маршрутизаторах. Как вы видите, что значения K были изменены на OFF1.

OFF2(config)#router eigrp 12
OFF2(config-router)#metric weights 0 1 1 1 1 0

Давайте убедимся, что значения K одинаковы на обоих маршрутизаторах, так как мы изменили их на OFF2.

убедимся, что значения K одинаковы на обоих маршрутизаторах


После изменения значений K у нас появилось соседство EIGRP-соседей.

соседство EIGRP-соседейсоседство EIGRP-соседей


Еще одна проблема решена!

Извлеченный урок: убедитесь, что значения K одинаковы на всех маршрутизаторах EIGRP в одной и той же автономной системе.

CASE #3

Давайте продолжим со следующей ошибкой ...

Ошибка


Вот еще один пример типичной проблемы. Несоответствие номера AS. Когда мы настраиваем EIGRP, мы должны ввести номер AS. В отличие от OSPF (который использует ID процесса) этот номер должен быть одинаковым на обоих маршрутизаторах.

Несоответствие номера AS

В отличие от других неверных настроек конфигурации EIGRP, эта проблема не выдает сообщение об ошибке. Используем команду show ip eigrp neighbors и видим, что соседей нет. Внимательно изучите выходные данные, чтобы обнаружить различия, и вы увидите, что маршрутизаторы используют разные номера AS.

маршрутизаторы используют разные номера AS

Если посмотреть на работающую конфигурацию, и мы увидим то же самое.

маршрутизаторы используют разные номера AS


Давайте изменим номер AS на OFF2.

изменим номер AS на OFF2


После смены номера AS все заработало как положено.

После смены номера AS все заработало

Извлеченный урок: убедитесь, что номера AS одинаковые, если вы хотите соседства EIGRP.

CASE #4

И последнее, но не менее важное: если вы проверили номер AS, значения K, IP-адреса и у вас все еще нет работающего соседства EIGRP, вам следует подумать о безопасности. Возможно, access-list блокирует EIGRP и/или многоадресный трафик.

ACL блокирует EIGRP


Следующая ситуация: опять два маршрутизатора EIGRP и отсутствие соседства. Что здесь происходит?

два маршрутизатора EIGRP и отсутствие соседства


Мы видим, что нет соседей ...

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

Если вы посмотрите на вывод команды show ip protocols, то увидите, что сеть была объявлена правильно. Если вы посмотрите внимательно на OFF2, вы увидите, что у нас есть пассивный интерфейс.

Удалим настройки пассивного интерфейса!

OFF2(config)#router eigrp 12
OFF2(config-router)#no passive-interface fastEthernet 0/0

Еще одна неправильная настройка создала нам проблемы, но мы ее решили.

проблема решенапроблема решена


Задача решена!

Извлеченный урок: не включайте пассивный интерфейс, если вы хотите установить соседство EIGRP.

CASE #5

список доступа на OFF2, который блокирует весь входящий многоадресный трафик


В приведенном выше примере у нас есть те же 2 маршрутизатора, но на этот раз кто-то решил, что было бы неплохо настроить список доступа на OFF2, который блокирует весь входящий многоадресный трафик.

соседство EIGRP с OFF2


Здесь можно запутаться. На OFF1 мы видим, что он считает, что установил соседство EIGRP с OFF2. Это происходит потому, что мы все еще получаем пакеты EIGRP от OFF2.

debug eigrp neighbors


Используем команду debug eigrp neighbors, чтобы посмотреть, что происходит. Очевидно, что OFF1 не получает ответ от своих hello messages, holdtime истекает, и это отбрасывает установление соседства EIGRP.

эхо-запрос по адресу многоадресной рассылки 224.0.0.10


Быстрый способ проверить подключение - отправить эхо-запрос по адресу многоадресной рассылки 224.0.0.10, который использует EIGRP. МЫ видим, что мы ответа нет от этого запроса. Рекомендуется проверить, есть ли в сети списки доступа.

TSTETSTST


Так, так! Мы нашли что-то ...

Мы нашли что-то


Этот список доступа блокирует весь многоадресный трафик. Давайте сделаем настройку, которая разрешит EIGRP.

OFF2(config)#ip access-list extended BLOCKMULTICAST
OFF2(config-ext-nacl)#5 permit ip any host 224.0.0.10

Мы создаем специальное правило, которое будет разрешать трафик EIGRP.

создаем специальное правило, которое будет разрешать трафик EIGRP


Как мы видим, что трафик EIGRP разрешен - это соответствует правилу, которое мы выше создали.

трафик EIGRP разрешентрафик EIGRP разрешен


Оба маршрутизатора теперь показывают рабочее соседство EIGRP.

Оба маршрутизатора теперь показывают рабочее соседство EIGRP


Эхо-запрос, который мы только что отправили, теперь работает.

Извлеченный урок: не блокируйте пакеты EIGRP!

CASE #6

сеть Frame Relay и один канал PVC


Рассмотрим очередную ситуацию, в которой нет соседства EIGRP. На картинке выше мы имеем сеть Frame Relay и один канал PVC между OFF1 и OFF2. Вот соответствующая конфигурация:

соответствующая конфигурациясоответствующая конфигурация


Оба маршрутизатора настроены для Frame Relay, а EIGRP настроен.

Оба маршрутизатора настроены для Frame RelayОба маршрутизатора настроены для Frame Relay


Видно, что нет соседей ... это не хорошо! Можем ли мы пропинговать другую сторону?

Можем ли мы пропинговать другую сторону


Пинг проходит, поэтому мы можем предположить, что PVC Frame Relay работает. EIGRP, однако, использует многоадресную передачу, а Frame Relay по умолчанию - NBMA. Можем ли мы пропинговать адрес многоадресной рассылки EIGRP 224.0.0.10?

PVC Frame Relay работает


Здесь нет ответа на наш вопрос, по крайней мере, теперь мы знаем, что unicast трафик работает, а multicast не работает. Frame Relay может быть настроен для point-to-point или point-to-multipoint соединения. Физический интерфейс всегда является интерфейсом frame-relay point-tomultipoint, и для него требуются frame-relay maps, давайте проверим это:

frame-relay mapsframe-relay maps


Мы видим, что оба маршрутизатора имеют DLCI-to-IP карты, поэтому они знают, как связаться друг с другом. Видим, что они используют ключевое слово "статический", а это говорит о том, что это сопоставление было кем-то настроено и не изучено с помощью Inverse ARP (в противном случае вы увидите "динамический"). Мы не видим ключевое слово "broadcast", которое требуется для пересылки широковещательного или многоадресного трафика. На данный момент у нас есть 2 варианта решения этой проблемы:

  • Настроить EIGRP для использования одноадресного трафика вместо многоадресного.
  • Проверить конфигурацию Frame Relay и убедится, что многоадресный трафик не перенаправляется.

Давайте сначала сделаем unicast настройку EIGRP:

OFF1(config)#router eigrp 12
OFF1(config-router)#neighbor 192.168.12.2 serial 0/0
OFF2(config)#router eigrp 12
OFF2(config-router)#neighbor 192.168.12.1 serial 0/0

Нам нужна команда neighbor для конфигурации EIGRP. Как только вы введете эту команду и нажмете enter, вы увидите это:

neighborneighbor


Задача решена! Теперь давайте попробуем другое решение, где мы отправляем multicast трафик по PVC Frame Relay:

OFF1(config)#router eigrp 12
OFF1(config-router)#no neighbor 192.168.12.2 serial 0/0
OFF2(config)#router eigrp 12
OFF2(config-router)#no neighbor 192.168.12.1 serial 0/0

Если это не работает ... не исправляйте это... , но не в этот раз! Пришло время сбросить соседство EIGRP.

OFF1(config)#interface serial 0/0
OFF1(config-if)#frame-relay map ip 192.168.12.2 102 broadcast
OFF2(config)#interface serial 0/0
OFF2(config-if)#frame-relay map ip 192.168.12.1 201 broadcast

Broadcast - это ключевое волшебное слово здесь. Это разрешит широковещательный и многоадресный трафик.

широковещательный и многоадресный трафикшироковещательный и многоадресный трафик


После изменения конфигурации frame-relay map появляется соседство EIGRP! Это все, что нужно сделать.

Извлеченный урок: проверьте, поддерживает ли ваша сеть Frame Relay broadcast или нет. Настройте EIGRP для использования unicast передачи или измените конфигурацию Frame Relay для поддержки широковещательного трафика.