Обнаружение MAC в базе EVPN доказывает, что он был анонсирован или получен как маршрут, и ничего больше. Таблица пересылки — другая структура, программируемая позже, поэтому один и тот же MAC может присутствовать в одной и отсутствовать в другой, хотя каждый протокол ведёт себя корректно. Если считать эти два вывода копиями друг друга, инженеры отправляются искать неисправность BGP, тогда как реальный разрыв — это политика импорта или неразрешённый следующий переход. Стоит спрашивать не о том, знает ли фабрика MAC, а о том, на каком этапе он перестал передаваться дальше.

Две таблицы, отвечающие на разные вопросы

В Junos EVPN база данных перечисляет MAC-адреса по экземплярам вместе с тем, как каждый появился: выучен с порта доступа, получен в маршруте Type 2 или помечен как часть группы multihoming. Справочник Juniper show evpn database охватывает фильтры по MAC и по экземпляру, которые делают представление читаемым. Это сводка плоскости управления с ключом по экземпляру и MAC, а не таблица, которой оборудование коммутирует кадры.

Таблица коммутации — это и есть состояние пересылки. Оба вывода перечисляют MAC рядом с контекстом VLAN или VNI, и именно поэтому их сравнивают строка за строкой, и именно поэтому сравнение вводит в заблуждение. Запись в базе говорит, что маршрут существует и принят в экземпляр; она ничего не говорит о том, установила ли платформа её для пересылки.

Маршрут Type 2 несёт MAC, необязательный IP, метку или VNI, различитель маршрута и следующий переход, называющий удалённый VTEP. Между кабелем и этим маршрутом могут сломаться четыре вещи: хост так и не выучен, маршрут так и не анонсирован, он отклонён при импорте или его следующий переход не разрешается. Каждый сбой оставляет заполненным свой набор таблиц, и именно поэтому эту последовательность вообще можно диагностировать.

Локальное обучение по-прежнему происходит первым

Обычное допущение состоит в том, что EVPN берёт на себя обучение MAC, поэтому пустая база должна означать проблему overlay. Локальное обучение по-прежнему работает на стороне доступа, точно так же, как до появления VXLAN: коммутатор выучивает MAC источника разрешённого кадра в правильном VLAN и сервисе и только затем создаёт для него Type 2. У хоста, не отправившего ни одного подходящего кадра, нечего анонсировать. Хост, кадры которого отбрасываются из-за членства в VLAN, фильтра или неработающего члена агрегата, выглядит одинаково с точки зрения overlay.

Начните с точки подключения и двигайтесь дальше командами только для чтения. Цель — доказать, что кадр от хоста прошёл в нужном сервисе, потому что ничто ниже не компенсирует кадр, который так и не пришёл.

show interfaces ge-0/0/1.0
show ethernet-switching interface ge-0/0/1.0
show lacp interfaces ae0

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

Где теряется удалённый MAC

Удалённый MAC отказывает в противоположном направлении, и тихо. Маршрут Type 2 приходит, но попадает в экземпляр только тогда, когда его цель маршрута и VNI совпадают с локальной конфигурацией, и становится пригодным только тогда, когда следующий переход разрешается в доступный VTEP. Несовпадение цели маршрута оставляет в таблице BGP действительный маршрут, который ни один экземпляр не запрашивает.

Прочитайте три представления по порядку: наличие маршрута, запись в базе, запись пересылки. Приведённые ниже команды запрашивают один и тот же MAC на каждом этапе, а примерный адрес сохраняет выводы сопоставимыми.

show evpn database instance blue mac-address 02:00:00:00:00:5c extensive
show route table bgp.evpn.0 | match 02:00:00:00:00:5c
show route table bgp.evpn.0 | match 02:00:00:00:00:5c extensive

Эти выводы отвечают на три отдельных вопроса. Маршрут в bgp.evpn.0 без записи в базе указывает на политику импорта, цель маршрута или конфигурацию экземпляра. Запись в базе без записи пересылки указывает на программирование платформы, что относится к другому пути эскалации. Активный маршрут, следующий переход которого не разрешается, — это проблема транспорта или метки, и никакое количество отладки MAC её не исправит.

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

Когда перезагрузка заставляет симптом исчезнуть, соблазнительный вывод состоит в том, что конфигурация должна быть исправной. Перезагрузка перепрограммирует каждую таблицу с нуля, поэтому она также скрывает случай, когда устаревшая запись заслоняла ошибку политики; неисправность обычно возвращается при следующем изменении, дрожании линии или отзыве маршрута.

Перед любым окном обслуживания зафиксируйте, что перезагрузка сотрёт. Этих трёх команд достаточно для сравнения до и после, и они ничего не меняют на устройстве.

show evpn database instance blue
show route table bgp.evpn.0
show version

Сохраните эти выводы вместе с датой и версией программного обеспечения. Более позднее сообщение о том, что та же перезагрузка помогала раньше, — это зацепка, а не доказательство, и разница становится заметной только когда кто-то сохранил прежний вывод.

Четыре наблюдения, которые решают большинство случаев

Четыре наблюдения охватывают почти каждый случай: точка подключения и её сервис, MAC как примерное значение, состояние маршрута и базы, а также используемая версия. Выберите MAC, который явно является примером, чтобы никто не принял его за производственный адрес: первый октет 02 обозначает локально управляемый unicast-адрес, остальные октеты свободны, и поэтому 02:00:00:00:00:5c — безопасный заполнитель.

Затем позвольте ответам указать на этап, который отказал. Отсутствие обучения на точке подключения означает сторону доступа; маршрут без записи в базе означает импорт; запись в базе без состояния пересылки означает программирование. Что бы это ни было, передайте собранные выводы вместе с хостом, интерфейсом, сервисом и версией, чтобы следующий инженер мог воспроизвести путь, а не повторять запрос.

Похожие статьи