Żądanie przychodzi jako zmiana jednej linii: zablokować jeden adres. Dodajesz trasę do hosta na Null0 w kontekście dzierżawcy, prefiks znika z lokalnej tablicy zgodnie z oczekiwaniem i wtedy zaczynają się pytania. Czy trasa opuściła urządzenie? Czy zdalne VTEP-y odrzuciły, czy po prostu straciły osiągalność? Czy dotknięty jest teraz drugi dzierżawca?

Poprawna lokalna trasa statyczna odpowiada tylko na pierwsze z tych pytań, dlatego zmiana blackhole to w rzeczywistości trzy przejrzane wyniki, a nie jedno polecenie.

Co zmiana musi faktycznie wytworzyć

Zacznij od zapisania trzech wyników. Docelowy dzierżawca musi odrzucić cel lokalnie. Eksportowana może być tylko autoryzowana trasa, a nic innego nie może podróżować razem z nią. Każdy odbierający VTEP musi wybrać zamierzoną akcję odrzucania, a nie inną ścieżkę.

Każdy wynik ma własne dowody i żaden nie implikuje pozostałych. Lokalna trasa Null0 daje lokalne odrzucanie i bez redystrybucji nie eksportuje zupełnie niczego. Trasa redystrybuowana bez uzgodnionej community przychodzi jako zwykły prefiks i jest przekazywana dalej. Community bez polityki odbioru może zostać całkowicie zignorowana.

Zapisanie wyników najpierw chroni też przed częstym błędem: zmianą, która wygląda na działającą, bo cel był już nieosiągalny z niepowiązanego powodu. Jeśli nie potrafisz opisać, jak je rozróżnisz, test akceptacyjny nie jest jeszcze zaprojektowany.

Lokalna instrukcja robi tylko pierwszą część

W NX-OS z rodziny 10.4(x) trasa null siedzi w kontekście VRF dzierżawcy, a nie w jednym poleceniu, które nazywa VRF. Fragment jest krótki i zdecydowanie nie jest pełną konfiguracją EVPN.

vrf context TENANT_A
  ip route 192.0.2.10/32 Null0

Adres to prefiks dokumentacyjny, nie cel. Zwróć uwagę na różnicę składni względem IOS, gdzie nazwa VRF pojawia się w samym poleceniu trasy, i potwierdź obsługiwaną postać dla wydania, które faktycznie uruchamiasz, zanim cokolwiek wkleisz.

Sam w sobie ten wiersz odrzuca ruch do tego hosta w TENANT_A i nie robi nic więcej. Nie taguje trasy, nie wybiera jej dla BGP i nie ustawia community. To osobne decyzje konfiguracyjne i każda z nich jest miejscem, w którym zmiana może być zbyt wąska, by działać, albo zbyt szeroka, by być bezpieczna.

Lokalne odrzucanie dotyka też legalnego ruchu do tego samego celu. Jeśli celem jest zatrzymanie jednego nadużywającego źródła, gdy prawdziwi użytkownicy nadal potrzebują adresu, trasa null jest niewłaściwym narzędziem i dowiesz się o tym przy pierwszym zgłoszeniu do wsparcia.

Eksport i import to odrębne umowy

Redystrybucja to miejsce, w którym decyduje się zakres. Ogranicz kwalifikujące się prefiksy do zatwierdzonego środka, trzymaj go w obrębie dzierżawcy i ogranicz źródłowe peery do tych z projektu. Redystrybuowanie każdej trasy statycznej, bo jedna otagowana trasa do hosta musi podróżować, to sposób, w jaki zmiana konserwacyjna staje się incydentem routingowym.

Community BLACKHOLE to umowa o znanej wartości, a nie upoważnienie dla dowolnego sąsiada do odrzucania dowolnego adresu. RFC 7999 opisuje ją dokładnie w tych terminach, a granica zaufania wokół tego, kto może ją ogłaszać, jest częścią projektu, a nie szczegółem implementacji.

Strona odbierająca potrzebuje własnej konfiguracji. W NX-OS trasy null typu 5 wymagają obsługi route-map na VTEP, aby wybrać zachowanie odrzucania, co jest udokumentowane razem z krokami eksportu. Urządzenie wysyłające, które poprawnie taguje, i odbiornik, który ignoruje tag, dają zmianę, która wygląda na zastosowaną i mimo to przekazuje ruch.

Przejrzyj route-map pod kątem skutków ubocznych, póki tam jesteś. Nowa restrykcyjna polityka może stłumić legalną osiągalność niepowiązanych prefiksów, a te szkody pojawiają się później niż blackhole i trudniej je mu przypisać.

Napisz wycofanie przed wstawieniem

Zapisz właściciela celu, powód, zatwierdzającego i termin wygaśnięcia, zanim cokolwiek zostanie skonfigurowane. Odrzucanie bez terminu staje się trwałym wpisem, którego pochodzenia nikt nie pamięta, a następna osoba debugująca adres potraktuje je jako normalną część sieci.

Utrzymuj niezależną ścieżkę zarządzania, która nie zależy od trasy, którą zmieniasz. Jeśli środek obejmuje adres, którego używasz do dotarcia do urządzenia, stworzyłeś blokadę z dodatkowymi krokami.

Nazwij dokładną kontrolkę, która usuwa środek, i przetestuj to usunięcie w laboratorium lub w oknie, na które możesz sobie pozwolić. Wycofanie, którego nikt nie przećwiczył, jest planem, a nie procedurą.

Akceptuj z dowodami, a nie z wynikiem polecenia

Sprawdź wybrany stan routingu i stan przekazywania na docelowych VTEP-ach, i sprawdź sąsiedni cel, który musi pozostać nietknięty. Potwierdź, że żaden inny dzierżawca nie zaimportował prefiksu, bo wyciek między dzierżawcami to tryb awarii, który zamienia czynność konserwacyjną w incydent.

Następnie wycofaj i zweryfikuj, że normalna trasa i usługa wracają. Przewodnik po trasach null NX-OS EVPN dla wydania 10.4(x) dokumentuje tagowanie, redystrybucję i politykę odbioru opisane tutaj, i jest to referencja do porównania z własnym wydaniem.

Powiązane artykuły