Мы все ещё продолжаем тематику раздела 2.6 курса ICND2, и как я сказал, вам следует зайти на сайт и скачать лабораторную работу «День 51: устранение неполадок EIGRP», которая представляет собой заархивированный файл для программы Cisco Packet Tracer.
Я уже выполнил начальные настройки в этой лабораторной работе так, чтобы мы смогли рассмотреть устранение наиболее типичных неполадок конфигурации протокола, еще 3 месяца назад. С тех пор у меня не было времени закончить этот видеоурок, поэтому я подзабыл, о каких именно неполадках идет речь.
Цель данной лабораторной работы – сделать так, чтобы три компьютера, PC1, PC2 и PC3 могли пинговать друг друга. Давайте посмотрим, возможно ли это сделать прямо сейчас. Я захожу в терминал командной строки PC1 и ввожу команду для пинга компьютера PC2: ping 10.1.20.20, после чего получаю уведомление системы, что хост назначения недоступен. Аналогично обстоит ситуация с пингом компьютера PC3 по адресу 10.1.30.30.
Сейчас я попробую пропинговать другие компьютеры с компьютера PC2. Компьютер PC1 по адресу 10.1.10.10 недоступен так же, как и компьютер PC3. Это означает, что в таблице маршрутизации роутера R2 отсутствует нужная запись.
Давайте попытаемся запустить пинг с компьютера PC3. Как видим, компьютеры PC1 и PC2 также недоступны.
Давайте разберемся, почему нам не удается установить связь между компьютерами. У нас имеется 3 офиса: в Бангалоре, Бостоне и Париже, сети которых соединены друг с другом по протоколу EIGRP. Начнем с диагностики неполадок роутера R1. Я захожу в консоль CLI и собираюсь ввести команду show ip eigrp, но сначала хочу убедиться, настроен ли вообще протокол EIGRP на данном устройстве. Для этого я использую команду show run | begin eigrp. Как видите, протокол работает.
Для того, чтобы убедиться, что протокол EIGRP запущен на всех 3-х роутерах, я провожу аналогичную проверку для R2 и R3. Протокол работает, однако пинг не проходит.
Я захожу в настройки R1 и ввожу команду show ip route. Мы видим, что благодаря EIFRP роутер «выучил» некоторые маршруты, но это суммированные маршруты с пометкой Null0.
Если вы помните, при автосуммировании маршрутов роутер начинает суммировать все маршруты согласно настройкам этой функции. В данном случае он просуммировал целый сетевой блок 10.0.0.0/8, включив маршруты множества подсетей, которые в действительности не являются частями сети 10.0.0.0.
Для предотвращения петель трафика практически все сетевые протоколы используют концепцию Null0. Чтобы вы поняли эту концепцию, приведу один пример. Предположим, у нас есть роутер R1, роутер R2 и интернет. Между R1 и R2 расположен маршрут по умолчанию Default route. Это означает, что если первому роутеру не известен конкретный маршрут, он посылает весь трафик по дефолтному маршруту роутеру R2, потому что тот подсоединен к внешней сети.
Допустим, что R1 выполняет суммирование маршрутов, при этом к нему подсоединены 2 сети: 10.1.1.0/24 и 10.1.2.0/24. В результате он отсылает суммарный маршрут 10.0.0.0/8 роутеру R2.
Получив сообщение первого роутера, роутер R2 размещает в своей таблице маршрутизации запись о том, что маршрут к сети 10.0.0.0/8 осуществляется через R1. Предположим, что ко второму роутеру поступает трафик для сети 10.1.3.0/24. Руководствуясь этой записью, R2 направит данный трафик роутеру R1.
Получив трафик для сети 10.1.3.0, роутер R1 не найдет её в своей таблице маршрутизации, но поскольку у него настроен маршрут по умолчанию к R2, куда он должен адресовать весь неизвестный трафик, он отправит полученное сообщение обратно роутеру R2. R2 снова отправит его R1, и у нас образуется петля трафика, которая будет продолжаться, пока значение счетчика времени жизни пакетов TTL не достигнет 0.
Цикл маршрутизации, созданный благодаря суммированию маршрутов — это проблема, для решения которой любой роутер в режиме автосуммирования использует Null0. Так что если в таблице маршрутизации присутствует Null0, это служит доказательством автоматического или ручного суммирования маршрутов.
Таким образом я понимаю, что R1 использует суммирование маршрутов, потому что при этом он задействует псевдо-интерфейс Null0, который не принимает и не перенаправляет трафик для предотвращения образования петель. Он действует подобно «черной дыре», в которой исчезает трафик, адресованный на все адреса блока 10.0.0.0/8, кроме упомянутых в таблице маршрутизации адресов конкретных подсетей. В нашем случае это сети 10.1.10.0/24 и 10.1.10.1/32. При этом трафик для этих подсетей будет уходить через соответствующие интерфейсы, а трафик для остальных адресов блока 10.0.0.0/8 будет поступать на Null0.
Проще говоря, если для какой-то сети в таблице маршрутизации нет специального маршрута, адресованные ей пакеты отправляются на свалку, в «черную дыру» Null0, который выступает «убийцей» трафика. Так работает механизм предотвращения зацикливания трафика в протоколах динамической маршрутизации.
В настоящее время я не могу сказать, что суммирование маршрутов является причиной невозможности пингования компьютерами друг друга, но мы должны иметь ввиду, что у нас здесь присутствует некое суммирование.
Я не увидел, что у нас установлено соседство, поскольку в таблице отсутствуют маршруты к соседним устройствам. Зайдем в настройки R2 и введем команду show ip route. Мы видим, что R2 не выполняет суммирования маршрутов. Потому что в таблице отсутствует интерфейс Null0.
Я использую ту же команду для R3 и вижу, что здесь также используется какой-то тип суммирования, так как в таблице присутствует Null0.
Поскольку на схеме соединения между сетями трех офисов отображаются красным цветом, можно сделать вывод о наличии неполадок. Если с помощью команды show ip eigrp interfaces попросить R3 показать состояние интерфейсов, использующих протокол EIGRP, он отобразит интерфейс GigabitEthernet0/0 и серийный интерфейс Se0/3/0, к которому подсоединен роутер R2.
Я ввожу команду show ip interface brief, и мы видим, что Se0/3/0 отключен и находится в состоянии down, а в части подключения к этому роутеру компьютера PC3 никаких проблем не наблюдается.
Теперь я введу ту же команду в настройках роутера R1 – здесь имеется аналогичная ситуация, то есть интерфейс Se0/3/0, соединяющий R1 и R3, также отключен. Вероятно, в этом и заключается причина невозможности пингования компьютеров.
Постараемся решить эту проблему. Технически, согласно нашей топологии, между роутерами R1 и R3 должны образоваться соседские отношения.
Этого не произошло, потому что на логическом уровне роутеры не соединены, так как соответствующие серийные интерфейсы пребывают в состоянии administratively down. Может быть, что кто-то ошибочно использовал команду shutdown или что-то вроде этого, но нас не должна волновать причина этой проблемы, мы просто должны ей исправить. Поэтому в настройках роутера R1 я последовательно ввожу команды config t(erminal), int(erface) se0/3/0 и no shut(down). Я включил данный интерфейс, и теперь система начинает его настройку. Мы видим, что все прошло нормально – у нас появилась запись о том, что с устройством 192.168.13.3 установлено новое соседство. Далее я ввожу команду show ip eigrp interfaces, и убеждаюсь, что теперь у R1 задействованы все 3 интерфейса.
Команда show ip eigrp neighbors показывает, что интерфейс se0/3/0, к которому подключена сеть 192.168.13.3, связан с соседом.
Почему же не установилось соседство между роутерами R1 и R2? Мы видим, что EIGRP запущен на всех интерфейсах R1, в том числе на интерфейсе Se0/3/1, к которому подсоединен R2, однако роутер R1 не видит своего соседа. Давайте используем проверочную команду show ip protocols, которая покажет все сетевые протоколы, запущенные на данном устройстве. Я ввожу эту же команду в консоли R2, и теперь мы имеем возможность сравнить информацию в обоих окнах настроек.
В первом случае работает eigrp-1 и AS1, во втором – eigrp-10 и AS10. Мы знаем, что для установления соседства AS должны совпадать, так что причина неполадки заключена именно в этом. Второй причиной невозможности установления соседства могут являться разные значения коэффициентов метрики К, но у нас они совпадают. В курсе CCNA вам не придется решать задачи на тему данных коэффициентов, просто имейте в виду, что они должны совпадать, иначе не удастся установить соседство между роутерами.
Аналогичным образом должны совпадать пароли устройств, если была использована настройка аутентификации. Аутентификация также не является частью вашего курса CCNA, так что просто запомните это правило.
Мы видим еще одного отличие: роутер R1 использует автоматическое суммирование маршрутов, а у роутера R2 эта функция отключена. Возможно, в какой-то степени это способно создать проблемы, но в данном случае суммирование не влияет на установление соседских отношений.
Я думаю, что в параметрах роутера R3 также будет присутствовать eigrp-1, поскольку они установили соседство. Так как причиной неполадок является eigrp-10 роутера R2, давайте попробуем изменить этот параметр на eigrp-1. Для этого я в консоли R2 ввожу команду show run | begin eigrp и копирую параметры сетевых маршрутов Routing for Networks.
Далее я вхожу в режим глобальной конфигурации, ввожу команду no router eigrp 10 и затем использую команду router eigrp 1. После неё я вставляю скопированные выше 3 строки параметров Routing for Networks. Как видите, у нас сразу же установились соседские отношения с устройством 192.168.23.3, которое подключено к интерфейсу Serial0/3/1.
Я ввожу команду show ip eigrp neighbors и вижу, что теперь у R2 появилось двое соседей – это роутер R1 с адресом 192.168.12.1 и роутер R3 с адресом 192.168.23.3.
После ввода аналогичной команды в консоли R1 я вижу, что и у него появился новый сосед – роутер R2, подключенный к серийному интерфейсу Sw0/3/1.
Давайте посмотрим, что произошло теперь, когда эти роутеры установили соседство.
Команда show ip route показывает, что к роутеру R1 подключены сети 10.1.10.0/24 и 10.1.20.0/24, а где же сеть 10.1.30.0/24? Аналогичная ситуация наблюдается с роутером R2 – он видит только сеть 10.1.20.0/24, то есть самого себя, «не замечая» десятую и тридцатую сеть. Причина состоит в том, что автосуммирование маршрутов создало нам проблему.
В консоли R2 видно, что в результате автосуммирования через интерфейсы 192.168.12.1. и 192.168.23.3 осуществляется балансировка нагрузки для сети 10.0.0.0/8.
Автосуммирование имеет место на участке R1-R2, это подсеть 192.168.12.1, и на участке R2-R3, это подсеть 192.168.23.3.
В режиме балансировки нагрузки происходят очень интересные вещи. Давайте зайдем в терминал командной строки компьютера PC2 и введем команду ping 10.1.10.10, то есть пропингуем компьютер PC1. Мы видим, что сначала нам приходит ответ от 10.1.10.1, за которым следует сообщение, что хост по адресу 192.168.23.3 недоступен.
Это показывает, как работает балансировка нагрузки: один пакет пинга роутер R2 отправляет по каналу R2-R1, второй пакет по каналу R1-R3 и так далее. Роутер R1 принимает запрос и посылает ответ, а роутер R3, получив пакет, адресованный 10.1.10.10, не имеет понятия, что это за адресат, потому что его нет в таблице маршрутизации.
Я захожу в настройки R3 и ввожу команду show ip route. Мы видим, что роутер ничего не знает о 10.1.10.10, зато использует суммарный маршрут 10.0.0.0/8 с интерфейсом Null0.
Таким образом, весь трафик, адресованный устройству, адрес которого присутствует в блоке адресов 10.0.0.0/8, но маршрут к которому не описан в таблице маршрутизации, отправляется на «свалку» Null0 для предотвращения зацикливания.
Аналогичная ситуация происходит при пинге компьютера PC3 по адресу 10.1.30.30 – связь с ним устанавливается, а пинг через интерфейс 192.168.12.1, то есть пакет к компьютеру PC1 не проходит с выдачей сообщения «хост назначения не доступен».
Итак, мы убедились, что автосуммирование маршрутов действительно создало нам проблемы. Поэтому давайте вернемся к настройкам R1 и отменим все автосуммирование. Для этого я последовательно набираю команды config t, router eigrp 1 и no auto-summary. То же самое я проделываю для роутера R3.
Посмотрим, что из этого получилось. Заходим в терминал командной строки PC2 и вводим команду ping 10.1.10.10. Как видите, пингование компьютера PC1 прошло удачно. Точно также мы легко пингуем компьютер PC3 по адресу 10.1.30.30.
Зайдем в консоль R2 и введем команду show ip route. Мы видим, что теперь в таблице маршрутизации появились записи о маршрутах для всех подсетей 10.1.10.0/24, 10.1.20.0/24 и 10.1.30.0/24, объявленные протоколом EIGRP. Теперь роутер знает, как связаться со всеми подсетями.
Теперь все устройства должны без проблем пинговать друг друга. Мы видим, что компьютер PC3 успешно пингует PC2 по адресу 10.1.20.20 и PC1 по адресу 10.1.10.10. Аналогично обстоит ситуация с PC1 при пинге PC2 и PC3. Как видите, все очень просто. Давайте вернемся к слайду с проверочными командами, которые следует использовать для устранения неполадок настройки EIGRP.
Первое, что вы должны сделать при обнаружении неполадок, это проверить физическое состояние соединений, чтобы убедиться, что все свитчи и роутеры включены и находятся в рабочем состоянии. Если это не помогло устранить неполадки, следует использовать команду show ip protocols. Это поможет вам определить, какие протоколы запущены на устройстве и каковы параметры их настроек. Нам эта команда помогла обнаружить несоответствие eigrp 1 и eigrp 10 и исправить эту неполадку. Далее вам нужно последовательно использовать команды show ip eigrp interface, show ip eigrp neighbor и для просмотра таблицы интерфейсов, таблицы соседей и таблицы топологии.
Команда show ip eigrp interface даст возможность увидеть, какие интерфейсы работают, давайте проверим это на примере роутера R1. Вы видите, что два серийных интерфейса имеют соседей.
Команда show ip eigrp neighbor позволит нам увидеть, что это за соседи.
Команда show ip eigrp topology предоставит информацию о FD и остальные параметры топологии всей сети.
Помните, что перед использованием этих команд целесообразно проверить физическое состояние сетевых устройств, и не забывайте о том, что интерфейс Null0 служит для предотвращения зацикливания трафика при суммировании маршрутов. Автосуммирование само по себе не создает проблем, но вы должны знать, что в отдельных случаях оно на это способно.
Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас:Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).
Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
Комментариев нет:
Отправить комментарий