img

Поиск и устранение неисправностей протокола EIGRP

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

Теперь мы можем продолжить поиск и устранение неисправностей. В большинстве случаев вы ожидаете увидеть определенную сеть в таблице маршрутизации, но ее там нет. Далее рассмотрим несколько сценариев неправильной (или полностью не рабочей) работы EIGRP и как исправить наиболее распространенные ошибки. Ниже перечислены часто встречающиеся ошибки:

Первую часть статьи про траблшутинг EIGRP можно почитать здесь.
  • Кто-то настроил distribute-list, чтобы информация о маршрутах фильтровалась.
  • Было настроено автосуммирование или кто-то настроил суммирование вручную
  • Split-horizon блокирует объявление маршрутной информации.
  • Перераспределение было настроено, но информация из EIGRP не используется.
  • Перераспределение было настроено, но никакие внешние маршруты EIGRP не отображаются.

Case #1

Простая топология

Давайте начнем с простой топологии. OFF1 и OFF2 работают под управлением EIGRP, и каждый маршрутизатор имеет интерфейс обратной связи. Вот конфигурация обоих маршрутизаторов:

OFF1(config)#router eigrp 12
OFF1(config-router)#no auto-summary
OFF1(config-router)#network 1.1.1.0 0.0.0.255
OFF1(config-router)#network 192.168.12.0 0.0.0.255
OFF2(config)#router eigrp 12
OFF2(config-router)#no auto-summary
OFF2(config-router)#network 2.2.2.0 0.0.0.255
OFF2(config-router)#network 192.168.12.0 0.0.0.255

Все работает нормально, пока через пару недель один из пользователей не пожаловался на то, что ему не удалось подключиться к сети 2.2.2.0 / 24 из-за OFF1. Посмотрите на таблицу маршрутизации на OFF1, и вот что вы видите:

Таблица маршрутизации на OFF1

По какой-то причине нет сети 2.2.2.0 / 24 в таблице маршрутизации.

не настроен distribute lists

Видно, что на OFF1 не настроен distribute lists.

OFF2 содержит сеть 1.1.1.0 / 24

OFF2 содержит сеть 1.1.1.0 / 24 в своей таблице маршрутизации. Давайте выполним быструю отладку, чтобы увидеть, что происходит.

выполним быструю отладку

Отладка показывает нам, что происходит. Прежде чем вы увидите это сообщение, придется немного подождать, или вы можете сбросить соседство EIGRP, чтобы ускорить процесс. Как видите, в сети 2.2.2.0 / 24 отказано из-за distribute list.

отказано из-за distribute list

Другой быстрый способ проверить это - использовать команду show ip protocol.

show run

В этом случае использование show run могло бы быстрее обнаружить distribute-list.

список доступа, доставляющий нам неприятности

Вот список доступа, доставляющий нам неприятности.

OFF2(config)#router eigrp 12
OFF2(config-router)#no distribute-list 1 out

Удалим distribute-list.

Удалим distribute-list

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

Извлеченный урок: если команды network верны, проверьте, есть ли у вас distribute-list, который запрещает объявлять префиксы или устанавливать их в таблицу маршрутизации.

Имейте в виду, distribute-list могут быть настроены как входящие или исходящие, как список доступа.


Case #2

2 маршрутизатора, но разные сети в loopback

В следующем сценарии те же 2 маршрутизатора, но разные сети в loopback. Вот конфигурация:

OFF1(config)#router eigrp 12
OFF1(config-router)#network 192.168.12.0
OFF1(config-router)#network 10.0.0.0
OFF2(config)#router eigrp 12
OFF2(config-router)#network 192.168.12.0
OFF2(config-router)#network 10.0.0.0

Как вы видите - это довольно базовая конфигурация.

таблицы маршрутизации таблицы маршрутизации

Глядя на таблицы маршрутизации, не видно сети 10.1.1.0 / 24 или 10.2.2.0 / 24. Видна запись для сети 10.0.0.0/8, указывающую на интерфейс null0. Эта запись отображается только при настройке суммирования и используется для предотвращения циклов маршрутизации.

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

Давайте включим отладку и посмотрим, что мы можем найти.

OFF2#clear ip eigrp 12 neighbors

Этой командой мы сделаем сброс соседства EIGRP, чтобы ускорить процесс. Имейте в виду, что это, вероятно, не самое лучшее, что можно сделать в производственной сети, пока вы не узнаете, что не так, но это действительно помогает ускорить процесс.

сеть 10.2.2.0 / 24 не следует объявлять

Вот наш ответ. Отладка говорит нам, что сеть 10.2.2.0 / 24 не следует объявлять, а сеть 10.0.0.0 / 8 нужно объявлять (это вкратце). Это может произойти по двум причинам:

  • Суммирование было кем-то настроено
  • Авто-суммирование включено для EIGRP.
авто-суммирование включено для EIGRP авто-суммирование включено для EIGRP

Как вы видите, авто-суммирование включено для EIGRP. В зависимости от версии IOS авто-суммирование включено или отключено по умолчанию.

OFF1(config)#router eigrp 12
OFF1(config-router)#no auto-summary
OFF2(config)#router eigrp 12
OFF2(config-router)#no auto-summary

Отключение автоматического суммирования должно помочь.

сети появились в таблице маршрутизации сети появились в таблице маршрутизации

Ну что, наши сети появились в таблице маршрутизации.

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

Case #3

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

Очередная проблема. В приведенном выше примере у нас есть 2 маршрутизатора, но разные сети. OFF1 содержит сеть 172.16.1.0 / 24 на интерфейсе обратной связи, а OFF2 содержит сеть 172.16.2.0 / 24 и 172.16.22.0 / 24 на своих интерфейсах обратной связи. Посмотрим конфигурацию EIGRP обоих маршрутизаторов:

все сети объявляются все сети объявляются

Как вы видите, что все сети объявляются. Обратите внимание, что в OFF1 включено автоматическое суммирование, а в OFF2 отключено автоматическое суммирование.

Кто-то настроил суммирование на OFF2 и отправляет ее на OFF1

Кто-то настроил суммирование на OFF2 и отправляет ее на OFF1. Суммирование создана для сети 172.16.0.0 / 16.

видим запись для сети 172.16.0.0 / 16, но она указывает на интерфейс null0

Однако, если посмотреть на таблицу маршрутизации OFF1, она не появится. Мы видим запись для сети 172.16.0.0 / 16, но она указывает на интерфейс null0, а не на OFF2. Что здесь происходит?

debug eigrp

OFF2#clear ip eigrp 12 neighbors

Давайте сделаем отладку на OFF2, чтобы увидеть, объявляется ли суммирование. Выполним команду clear ip eigrp neighbors, просто чтобы ускорить процесс.

clear ip eigrp neighbors

Глядя на отладку, видно, что OFF2 работает правильно. Он объявляет сводный маршрут 172.16.0.0 / 16 так, как должен. Это означает, что проблема должна быть в OFF1.

Давайте проведем отладку OFF1.

Давайте проведем отладку OFF1.

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

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

проверка таблицы топологии EIGRP

Это хороший момент для проверки таблицы топологии EIGRP. Вы видите, что он имеет суммирование сети 172.16.0.0 / 16 от OFF2 в своей таблице топологии EIGRP, но OFF1 решает не использовать ее, потому что вход через интерфейс null0 является лучшим путем.

OFF1(config)#router eigrp 12
OFF1(config-router)#no auto-summary

Решение состоит в том, что нам нужно избавиться от записи null0 в таблице маршрутизации. Единственный способ сделать это - отключить автоматическое суммирование.

Отключение автоматического суммирования удаляет запись null0

Отключение автоматического суммирования удаляет запись null0, и теперь суммирование OFF2 установлено проблема решена!

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

Case #4

Топология

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

конфигурация EIGRP обоих маршрутизаторов конфигурация EIGRP обоих маршрутизаторов

Все сети объявлены, и автоматическое суммирование отключено на обоих маршрутизаторах.

Суммирование было настроено на OFF2

Суммирование было настроено на OFF2 и должно быть объявлено к OFF1.

ничего не видно на OFF1

К сожалению, ничего не видно на OFF1. Давайте проверим OFF2, чтобы посмотреть, что не так.

команды Debug и show

Когда дело доходит до устранения неполадок с сетью, вашими друзьями являются не Google или Яндекс, а команды Debug и show.

единственная сеть, которую OFF2 объявляет

Странно, это единственная сеть, которую OFF2 объявляет.

OFF2 знает только о сети 192.168.12.0 / 24

Одно из золотых правил маршрутизации: вы не можете объявлять то, чего у вас нет. Очевидно, OFF2 знает только о сети 192.168.12.0 / 24.

Кто-то выполнил команду отключения на интерфейсах обратной связи

Вот это ошибка! Кто-то выполнил команду отключения на интерфейсах обратной связи.

OFF2(config)#interface loopback 0
OFF2(config-if)#no shutdown
OFF2(config)#interface loopback 1
OFF2(config-if)#no shutdown

Включим интерфейсы.

суммирование объявляется

Теперь мы видим, что суммирование объявляется.

суммирование в таблице маршрутизации OFF1

Теперь мы видим суммирование в таблице маршрутизации OFF1- проблема решена!

Извлеченный урок: вы не можете объявлять то, чего у вас нет в таблице маршрутизации.

ВАЖНО. Последняя проблема может быть показаться простой, но есть важный момент, который вы не должны забывать: для объявления итогового маршрута в таблице маршрутизации объявляемого маршрутизатора должен быть указан хотя бы один префикс, попадающий в итоговый диапазон!


Case #5

концентратор Frame Relay и соответствующая топология

Давайте посмотрим на другую топологию. На рисунке выше у нас есть концентратор Frame Relay и соответствующая топология. Каждый из OFF1 и OFF2 имеет интерфейс обратной связи, который мы будем объявлять в EIGRP. Вот соответствующая конфигурация всех маршрутизаторов:

CONC(config)#router eigrp 123
CONC(config-router)#no auto-summary
CONC(config-router)#network 192.168.123.0
OFF1(config-if)#router eigrp 123
OFF1(config-router)#no auto-summary
OFF1(config-router)#network 192.168.123.0
OFF1(config-router)#network 2.2.2.0 0.0.0.255
OFF2(config)#router eigrp 123
OFF2(config-router)#no auto-summary
OFF2(config-router)#network 192.168.123.0
OFF2(config-router)#network 3.3.3.0 0.0.0.255

Видно, что все сети объявлены.

концентратор-маршрутизатор видит сети из двух OFF-маршрутизаторов

Наш концентратор-маршрутизатор видит сети из двух OFF-маршрутизаторов.

наши маршрутизаторы не видят ничего наши маршрутизаторы не видят ничего

К сожалению, наши маршрутизаторы не видят ничего ...

маршрутизатор-концентратор не объявляет сети

Похоже, что маршрутизатор-концентратор не объявляет сети, которые он изучает с помощью OFF-маршрутизаторов. Давайте включим отладку, чтобы увидеть, что происходит.

CONC#clear ip eigrp 123 neighbors

Сбросим соседство EIGRP, чтобы ускорить процесс.

Разделение горизонта не позволяет размещать объявление от одного маршрутизатора на другой

В отладке мы видим, что наш маршрутизатор-концентратор узнает о сети 2.2.2.0 / 24 и 3.3.3.0 / 24, но объявляет только сеть 192.168.123.0 / 24 для OFF-маршрутизаторов. Разделение горизонта не позволяет размещать объявление от одного маршрутизатора на другой.

CONC(config)#interface serial 0/0
CONC(config-if)#no ip split-horizon eigrp 123

Давайте отключим разделение горизонта на последовательном интерфейсе маршрутизатора-концентратора.

маршрутизатор-концентратор объявляет все сети

Теперь мы видим, что маршрутизатор-концентратор объявляет все сети.

маршрутизаторы теперь могут узнавать о сетях друг друга, поскольку split horizon отключено маршрутизаторы теперь могут узнавать о сетях друг друга, поскольку split horizon отключено

OFF-маршрутизаторы теперь могут узнавать о сетях друг друга, поскольку split horizon отключено. Это хорошо, но это еще не все.

Извлеченный урок: RIP и EIGRP являются протоколами маршрутизации на расстоянии и используют split horizon. Split horizon предотвращает объявление префикса вне интерфейса, на котором мы его узнали.
Хотя сети отображаются в таблицах маршрутизации мы не можем пропинговать от одного OFF-маршрутизатора к другому Хотя сети отображаются в таблицах маршрутизации мы не можем пропинговать от одного OFF-маршрутизатора к другому

Хотя сети отображаются в таблицах маршрутизации мы не можем пропинговать от одного OFF-маршрутизатора к другому. Это не проблема EIGRP, но она связана с Frame Relay. Мы должны это исправить.

Когда OFF1 отправляет IP-пакет на OFF2, IP-пакет выглядит следующим образом:

OFF1 отправляет IP-пакет на OFF2

Давайте пока подумаем, как роутер, и посмотрим, что здесь происходит. Сначала нам нужно проверить, знает ли OFF1, куда отправить 3.3.3.3:

знает ли OFF1, куда отправить 3.3.3.3

Существует запись для 3.3.3.3, а IP-адрес следующего перехода - 192.168.123.1 (маршрутизатор-концентратор). Можем ли мы достичь 192.168.123.1?

записи маршрутизации

Нет проблем, кажется, OFF1 может пересылать пакеты, предназначенные для сети 3.3.3.0/24. Давайте перейдем к маршрутизатору CONC.

маршрутизатор CONC

У маршрутизатора-концентратора нет проблем с отправкой трафика в сеть 3.3.3.0 / 24, поэтому на данный момент мы можем сделать вывод, что проблема должна быть в маршрутизаторе OFF2.

IP-пакет, который получает маршрутизатор OFF2

Это IP-пакет, который получает маршрутизатор OFF2, и когда он отвечает, он создает новый IP-пакет, который выглядит следующим образом:

достигать IP-адрес 192.168.123.2

Способен ли OFF2 достигать IP-адрес 192.168.123.2 Давайте узнаем!

OFF2 не может достичь IP-адреса 192.168.123.2

Теперь мы знаем проблему ... OFF2 не может достичь IP-адреса 192.168.123.2

сеть 192.168.123.0 / 24 подключена напрямую

Если мы посмотрим на таблицу маршрутизации OFF2, то увидим, что сеть 192.168.123.0 / 24 подключена напрямую. С точки зрения третьего уровня у нас нет никаких проблем. Пришло время перейти вниз по модели OSI и проверить уровень 2 ... или, может быть, между уровнем 2 и 3.

нет сопоставления для IP-адреса 192.168.123.2

Frame Relay использует Inverse ARP для привязки уровня 2 (DLCI) к уровню 3 (IP-адрес). Вы можете видеть, что нет сопоставления для IP-адреса 192.168.123.2.

OFF2(config)#int s0/0
OFF2(config-if)#frame-relay map ip 192.168.123.2 301

Давайте frame-relay map сами.

роутер OFF2 знает, как связаться с роутером OFF1

Теперь роутер OFF2 знает, как связаться с роутером OFF1

маршрутизатор OFF1 может пропинговать интерфейс обратной связи маршрутизатора OFF2

Наконец, маршрутизатор OFF1 может пропинговать интерфейс обратной связи маршрутизатора OFF2. Когда мы пытаемся пропинговать от маршрутизатора OFF2 к интерфейсу обратной связи маршрутизатора OFF1, у нас возникает та же проблема, поэтому мы также добавим туда оператор frame-relay map:

OFF1(config)#int s0/0
OFF1(config-if)#frame-relay map ip 192.168.123.3 201
у нас есть extra frame-relay map на маршрутизаторе OFF1

Теперь у нас есть extra frame-relay map на маршрутизаторе OFF1.

пинг проходит

И наш пинг проходит! Извлеченный урок: убедитесь, что IP-адрес следующего прыжка доступен, и при необходимости добавьте frame-relay map.


Case #6

OFF1 и OFF2 работают c EIGRP AS 12

Вот вам совершенно другой сценарий. На рисунке выше OFF1 и OFF2 работают c EIGRP AS 12. Все маршрутизаторы работают на RIP. OFF3 имеет loopback интерфейс с сетью 3.3.3.0 / 24, который будет объявлен в RIP. OFF2 собирается перераспределить эту сеть в EIGRP AS 12. Вот конфигурации EIGRP и RIP всех маршрутизаторов:

конфигурации EIGRP и RIP всех маршрутизаторов конфигурации EIGRP и RIP всех маршрутизаторов конфигурации EIGRP и RIP всех маршрутизаторов

Обратите внимание, что OFF2 был настроен для перераспределения между EIGRP AS 12 и RIP. Как это влияет на наш выбор маршрутизации?

OFF1 отправляет трафик в сеть 3.3.3.0 / 24

OFF1 отправляет трафик в сеть 3.3.3.0 / 24, используя последовательную связь между OFF1 и OFF3. Было бы лучше, если бы мы использовали канал между OFF1 и OFF2, потому что использование каналов FastEthernet быстрее, чем последовательный канал.

таблицу топологии EIGRP

Мы можем посмотреть на таблицу топологии EIGRP и увидеть, что OFF1 узнал о сети 3.3.3.0 / 24 через EIGRP от OFF2. Так почему же мы не используем эту информацию вместо RIP? Проблема в том, что внешние маршруты EIGRP имеют AD (административное расстояние) 170, а RIP имеет AD 120.

OFF1(config)#router rip
OFF1(config-router)#distance 175 192.168.13.3 0.0.0.0

Мы можем решить эту проблему, изменив AD. В приведенном выше примере мы установим AD в 175 для всех маршрутов RIP, которые мы узнаем по IP-адресу 192.168.13.3 (OFF3).

Теперь мы используем каналы FastEthernet для доступа к сети 3.3.3.0 / 24 Теперь мы используем каналы FastEthernet для доступа к сети 3.3.3.0 / 24

Так как AD EIGRP external (170) ниже, чем AD маршрутов RIP (175), OFF1 установит информацию EIGRP external . Теперь мы используем каналы FastEthernet для доступа к сети 3.3.3.0 / 24 ... проблема решена!

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

Следующая проблема. Существует 3 маршрутизатора, и OFF2 - это маршрутизатор, выполняющий перераспределение между EIGRP AS 12 и RIP. Вот конфигурации:

OFF1 работает с EIGRP

Как вы можете видеть, OFF1 работает с EIGRP, OFF2 работает c RIP и EIGRP и выполняет перераспределение, OFF3 работает только c RIP.

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

Однако, когда мы изучаем таблицу маршрутизации OFF1, мы ожидаем увидеть некоторые перераспределенные маршруты. К сожалению, здесь ничего нет. В чем дело?

изучил сеть 3.3.3.0 / 24 через RIP

OFF2 - маршрутизатор, выполняющий перераспределение, и мы видим, что он изучил сеть 3.3.3.0 / 24 через RIP. Следует перераспределить эту сеть в EIGRP.

сети 3.3.3.0 / 24 нет в таблице топологии EIGRP OFF2

Странно, сети 3.3.3.0 / 24 нет в таблице топологии EIGRP OFF2, хотя мы настроили перераспределение, давайте проверим конфигурацию перераспределения:

проверим конфигурацию перераспределения

У нас есть команда redistribute rip, но нет никакой начальной метрики по умолчанию. Если вы не зададите метрику, то начальная метрика по умолчанию будет бесконечной. Другими словами, она недостижима.

OFF2(config)#router eigrp 12
OFF2(config-router)#default-metric 1500 100 255 1 1500

Давайте настроим начальную метрику по умолчанию. Вы должны сами указать пропускную способность, задержку, нагрузку и надежность. Просто используем случайные значения.

сеть 3.3.3.0 /24 в таблице топологии EIGRP OFF2

Теперь мы видим сеть 3.3.3.0 /24 в таблице топологии EIGRP OFF2.

когда вы перераспределяете что-то в EIGRP, вам необходимо настроить начальные метрики

И в результате он может быть объявлен в OFF1 ... проблема решена!

Извлеченный урок: когда вы перераспределяете что-то в EIGRP, вам необходимо настроить начальные метрики.
Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
DevOps
Скидка 25%
DevOps-инженер с нуля
Научитесь использовать инструменты и методы DevOps для автоматизации тестирования, сборки и развертывания кода, управления инфраструктурой и ускорения процесса доставки продуктов в продакшн. Станьте желанным специалистом в IT-индустрии и претендуйте на работу с высокой заработной платой.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
В начале 2000-х, когда идея мессенджеров только формировалась, расширяемый протокол обмена сообщениями и информацией о присутств
img
Задержка в сети, или сетевая задержка, - это временная задержка при передаче запросов или данных от источника к адресату в сетев
img
Система доменных имен (DNS – Domain Name System) обеспечивает сетевую коммуникацию. DNS может показаться какой-то невидимой сило
img
Wi-Fi это технология, которая использует радиоволны для отправки и получения сигналов от находящихся поблизости устройств, чтобы
img
BGP (Border Gateway Protocol) - это протокол граничного шлюза, предназначенный для обмена информацией о маршрутизации и доступно
img
Когда читаете данную статью, браузер подключается к провайдеру (или ISP) а пакеты, отправленные с компьютера, находят путь до се
21 ноября
20:00
Бесплатный вебинар
Введение в Docker