Зниклий маршрут у VRF: локальний, VPNv4 чи таблиця пересилання?
Префікс, відсутній у VRF, відсутній у VPNv4 і не встановлений у CEF, — це три різні несправності. Читайте таблиці по порядку, перш ніж змінювати цілі маршрутів.
Клієнт каже, що після зміни цілі маршруту зник префікс, і перший надісланий скриншот зазвичай показує не ту таблицю. Три різні таблиці відповідають на три різні питання: чи є префікс усередині VRF, чи був він оголошений та імпортований як маршрут VPNv4 і чи справді встановлено запис пересилання. Читання їх не по порядку дає впевнені та хибні висновки. Цей посібник проводить один локальний і один віддалений префікс через усі три таблиці по порядку й завершується планом відкату для зміни RT, з якої все почалося.
Назвіть префікс і таблицю, до якої він належить
Запишіть два префікси, перш ніж щось вводити. Один локальний на майданчику клієнта, вивчений з під'єднаного інтерфейсу або з оголошення CE. Інший віддалений, і очікується, що він прийде через магістраль провайдера. Вони йдуть різними шляхами в ту саму VRF, і несправність в одному нічого не каже про інший.
| Table | Question it answers | Command |
|---|---|---|
show ip vrf CUST-A | Which RTs are attached for import and export | Read the RT lists before anything else |
show ip route vrf CUST-A | Is the prefix present in this VRF at all | Local and imported routes both appear |
show ip bgp vpnv4 all | Was the NLRI advertised and retained | Keyed by route distinguisher |
show ip cef vrf CUST-A | Was a forwarding entry installed | Proves a usable path, not just a BGP entry |
Тримайте чіткою різницю між двома ідентифікаторами, бо більшість плутанини в цих заявках походить саме звідти. Розрізнювач маршруту є частиною NLRI VPNv4 і існує, щоб інакше однакові префікси клієнтів були унікальними по всій магістралі. Ціль маршруту — розширене співтовариство, що переноситься як атрибут, і саме з нею зіставляється політика імпорту та експорту. Це не друга назва розрізнювача, і вона не переноситься в пакетах клієнта.
Крок 1: доведіть, що префікс є у VRF
Почніть із локального вигляду, далі з RT, які керують імпортом. Якщо локального префікса тут немає, ніщо вище не може бути винним:
show ip route vrf CUST-A 172.21.4.0 255.255.255.0
show ip route vrf CUST-A | include 172.21.4.0
show ip vrf CUST-AПрефікс, що відображається як під'єднаний або статичний, вивчений локально, і його наявність нічого не каже про те, чи був він експортований. Це найпоширеніше хибне прочитання в цьому процесі: здорова таблиця VRF є доказом лише про локальне навчання. Бік експорту — окреме питання, на яке відповідають вигляд сусіда та приєднана ціль експорту.
Перевірте списки RT на VRF, поки ви тут. Якщо потрібної цілі імпорту немає в списку, усе нижче не має значення. Якщо вона є, але відрізняється від того, що експортує віддалений PE, ви знайшли несправність, не відкривши жодного перехоплення пакетів.
Крок 2: прочитайте таблицю VPNv4 та її цілі
Таблиця VPNv4 показує, що площина керування справді обміняла. Шукайте віддалений префікс під правильним розрізнювачем, потім подивіться на спільноти, приєднані до нього:
show ip bgp vpnv4 all 10.60.9.0/24
show ip bgp vpnv4 all | include 10.60.9.0
show ip bgp vpnv4 vrf CUST-A neighbors 192.0.2.17 advertised-routesЗапис із правильною ціллю маршруту, але без локальної установки, вказує на політику імпорту або на вибір маршруту, а не на доступність. Запис, що взагалі не з'являється в таблиці VPNv4, вказує вгору: можливо, вихідний PE його не експортував, або сеанс не несе родину адрес.
Є й третій випадок, який збиває людей з пантелику під час змін. Деякі платформи обмежують, які маршрути VPN вони запитують або утримують, використовуючи відомості про членство в цілях маршрутів, тому відсутність віддаленого NLRI в одному відфільтрованому вигляді не є доказом, що оголошення ніде не існує. Перевірте невідфільтровану таблицю та оголошені маршрути сусіда, перш ніж зробити висновок, що маршрут відкликано глобально.
Крок 3: підтвердьте, що щось установлено й позначено
Запис BGP — це рішення, а не шлях. Таблиці пересилання кажуть, чи є пакетам куди йти:
show ip cef vrf CUST-A 10.60.9.0/24
show mpls forwarding-table vrf CUST-A | include 10.60.9.0
show ip bgp vpnv4 vrf CUST-AЗапис CEF із розв'язаною суміжністю та вихідною міткою означає, що трафік площини даних має працювати, а будь-який залишковий симптом належить застосунку або фільтрації всередині VRF. Запис CEF із нерозв'язаним наступним переходом означає, що шлях мітки неповний, хоча BGP виглядає здоровим, і саме в цьому випадку скриншот таблиці BGP ввів в оману перевірку зміни.
Порівняйте мітку, яку накладає локальний PE, із тією, яку віддалений PE очікує отримати. Розбіжність між двома виглядами — це проблема розподілу міток або сеансу, і її не виправить редагування цілей маршрутів, скільки б разів ви це робили.
Відкотіть зміну RT з оголошеним обсягом
Якщо несправність почалася з редагування цілі маршруту, скасуйте її як один свідомий крок і скажіть, який обсяг ви змінюєте. Видалення цілі імпорту відкликає право всередині цієї VRF. Воно не видаляє оголошення VPNv4 з магістралі, і на деяких платформах маршрут залишається утриманим у таблиці. Це різні результати, і видимий користувачеві ефект залежить від того, який із них ви маєте на увазі.
configure terminal
vrf definition CUST-A
address-family ipv4
no route-target import 65000:410
end
clear ip bgp vpnv4 vrf CUST-A soft inМ'яка вхідна реконфігурація достатня, коли сеанс уже зберігає префікси; жорстке скидання сеансу, спрямованого до провайдера, у робочий час — це рішення, яке має ухвалити хтось інший. На Junos відповідні перевірки читають таблицю по кожній VRF і таблицю VPN безпосередньо, а відкат — це повернення під час commit, а не скасування кожної команди, тож зафіксуйте різницю конфігурації перед початком.
Завершіть тими самими трьома командами, з яких почали, у тому самому порядку, і запишіть їхній вивід із позначкою часу. Заявка, яка каже, що RT був неправильним і тепер правильний, не підлягає повторному використанню; та, що показує префікс у VRF, у VPNv4 і встановлений у CEF, — це доказ, з яким наступна людина може порівняти. Якщо змінилися лише перші два, зміну не завершено.