Маршрут null у NX-OS EVPN: тримайте відкидання в межах одного тенанта
Запис Null0 відкидає локально і нічого не анонсує. Маркування, політика експорту та політика VTEP, що приймає, — це три окремі рішення, які треба перевірити.
Запит надходить як зміна в один рядок: заблокувати одну адресу. Ви додаєте маршрут до хоста в Null0 у контексті тенанта, префікс, як і очікувалося, зникає з локальної таблиці, і тоді починаються питання. Чи залишив маршрут пристрій? Чи відкинули віддалені VTEP, чи просто втратили доступність? Чи зачеплений тепер другий тенант?
Правильний локальний статичний маршрут відповідає лише на перше з цих питань, тому зміна blackhole — це насправді три перевірені результати, а не одна команда.
Що зміна насправді має дати
Почніть із того, що запишете три результати. Цільовий тенант має відкинути призначення локально. Експортувати можна лише дозволений маршрут, і ніщо інше не повинно їхати разом із ним. Кожен приймальний VTEP має вибрати передбачену дію відкидання, а не інший шлях.
Кожен результат має власні докази, і жоден не передбачає інших. Локальний маршрут Null0 дає локальне відкидання і без перерозподілу не експортує взагалі нічого. Перерозподілений маршрут без узгодженої community надходить як звичайний префікс і пересилається. Community без політики приймання може бути повністю проігнорована.
Запис результатів заздалегідь захищає й від частих помилок: зміна виглядає робочою, бо призначення вже було недоступним з незв’язаної причини. Якщо ви не можете описати, як відрізните ці випадки, приймальний тест ще не спроєктований.
Локальне твердження виконує лише першу частину
Для NX-OS у лінійці 10.4(x) маршрут null лежить у контексті VRF тенанта, а не в одній команді, яка називає VRF. Фрагмент короткий, і це аж ніяк не повна конфігурація EVPN.
vrf context TENANT_A
ip route 192.0.2.10/32 Null0
Адреса — це префікс документації, а не ціль. Зверніть увагу на різницю синтаксису з IOS, де ім’я VRF з’являється всередині самої команди маршруту, і підтвердьте підтримувану форму для версії, яку ви справді використовуєте, перш ніж щось вставляти.
Сама по собі ця строка відкидає трафік до цього хоста в TENANT_A і більше нічого не робить. Вона не маркує маршрут, не вибирає його для BGP і не задає community. Це окремі рішення конфігурації, і кожне з них — місце, де зміна може бути або надто вузькою, щоб працювати, або надто широкою, щоб бути безпечною.
Локальне відкидання зачіпає й законний трафік до того самого призначення. Якщо мета — зупинити одне джерело зловживання, поки реальним користувачам адреса ще потрібна, маршрут null — неправильний інструмент, і ви дізнаєтеся про це з першого звернення до підтримки.
Експорт та імпорт — окремі угоди
Перерозподіл — це місце, де визначається обсяг. Обмежте придатні префікси затвердженим заходом, тримайте його всередині тенанта й обмежте початкові пири тими, що є в проєкті. Перерозподіляти кожен статичний маршрут лише тому, що один позначений маршрут до хоста має пройти, — це шлях, яким зміна обслуговування перетворюється на інцидент маршрутизації.
Community BLACKHOLE — це угода про відоме значення, а не дозвіл будь-якому сусідові відкидати будь-яку адресу. RFC 7999 описує її саме в цих термінах, а межа довіри щодо того, хто може її анонсувати, є частиною проєкту, а не деталлю реалізації.
Приймальній стороні потрібна власна конфігурація. У NX-OS маршрути null типу 5 потребують опрацювання route-map на VTEP, щоб вибрати поведінку відкидання, що описано разом із кроками експорту. Пристрій-відправник, який правильно маркує, і приймач, який ігнорує мітку, дають зміну, що виглядає застосованою і все одно пересилає трафік.
Перегляньте route-map на побічні ефекти, поки ви там. Нова обмежувальна політика може придушити законну доступність незв’язаних префіксів, і ця шкода проявляється пізніше за blackhole і її важче з ним пов’язати.
Напишіть відкликання до вставлення
Зафіксуйте власника призначення, причину, того, хто затвердив, і термін дії до того, як щось буде налаштовано. Відкидання без терміну стає постійним записом, чиє походження ніхто не пам’ятає, і наступна людина, яка зневаджуватиме адресу, вважатиме його нормальною частиною мережі.
Тримайте незалежний шлях керування, який не залежить від маршруту, який ви змінюєте. Якщо захід охоплює адресу, яку ви використовуєте для доступу до пристрою, ви створили блокування з додатковими кроками.
Назвіть точне керування, яке знімає захід, і перевірте це зняття в лабораторії або у вікні, яке ви можете собі дозволити. Відкликання, яке ніхто не репетирував, — це план, а не процедура.
Приймайте з доказами, а не з виводом команди
Перевірте вибраний стан маршрутизації та стан пересилання на передбачених VTEP, а також перевірте сусіднє призначення, яке має залишитися недоторканим. Підтвердьте, що жоден інший тенант не імпортував префікс, бо витік між тенантами — це режим відмови, який перетворює дію обслуговування на інцидент.
Потім відкличте й переконайтеся, що звичайний маршрут і сервіс повертаються. Посібник із маршрутів null у NX-OS EVPN для версії 10.4(x) документує маркування, перерозподіл і політику приймання, описані тут, і це джерело, з яким треба звіряти власну версію.