Polityka eksportu Junos: nazwa nie jest warunkiem dopasowania
Polityka o nazwie EXPORT-STATIC niczego nie wybiera po nazwie. Przeczytaj przypięcie, uporządkowane terminy i działania, a następnie porównaj rozgłaszany widok.
Ktoś nazwał politykę EXPORT-STATIC, przypiął ją i teraz zastanawia się, dlaczego prefiks z instancji routingu VPN nigdy nie dociera do drugiego końca. Nazwa nie ma żadnego wpływu na wybór. Polityka to definicja plus przypięcie, a o tym, co eksportuje, decydują jej warunki dopasowania, uporządkowane terminy i kontekst, który jej używa. Przeczytaj te trzy w tej kolejności, a zagadka zwykle sprowadza się do jednego terminu, który nigdy nie pasował.
Nazwa to etykieta, nie warunek
Junos nie interpretuje nazw polityk. Polityka, którą rozsądnie nazwano by eksportem statycznym, może pasować do protokołu static, może pasować do prefiksu adresu, albo może nie pasować do niczego i przyjmować wszystko, co przechodzi. Etykieta to dokumentacja napisana przez tego, kto ją utworzył, i jest dokładnie tak wiarygodna, jak pamięć tej osoby o zamiarze.
Traktuj zaskakujący wynik eksportu jako prośbę o przeczytanie definicji, a nie jako dowód, że przypięcie jest zepsute. Przeczytaj definicję i pozwól jej zaprzeczyć etykiecie.
Najpierw znajdź przypięcie, potem terminy
Poprawna definicja przypięta w złym miejscu zmienia inną wymianę. Ustal, która instancja routingu, protokół oraz sąsiad lub grupa rzeczywiście odwołują się do polityki, bo polityka przypięta pod jedną grupę BGP nie wpływa na inną, a polityka przypięta do instancji niekoniecznie dotyczy każdego protokołu w niej. Junos rozróżnia te poziomy, a brakujący eksport na poziomie grupy jest częsty, gdy zamiar wyrażono na poziomie instancji.
Zapisz ścieżkę przypięcia, zanim przeczytasz choćby jeden termin. Połowa tych dochodzeń kończy się tam, z nietkniętą definicją i przeniesioną instrukcją eksportu. Zanotuj różnicę w dzienniku zmian, aby nikt nie cofnął jej jako błędu.
Terminy są oceniane po kolei, a pierwsza decyzja wygrywa
Terminy działają od pierwszego do ostatniego, a termin, który akceptuje lub odrzuca, jest decyzją kończącą. Późniejszy termin, który wygląda na zamierzony wyjątek, nigdy się nie wykonuje, jeśli wcześniejszy termin już rozstrzygnął los trasy, dlatego polityka może czytać się poprawnie z góry na dół, a mimo to działać wbrew zamiarowi. Sprawdź kolejność względem trasy, na której ci zależy, a nie względem kolejności, w jakiej wpisano terminy.
Termin, który pomija swoje działanie, nie kończy; ocena przechodzi do następnego terminu, a wynik końcowy zależy od tego, co następuje, oraz od obowiązującej wartości domyślnej. To naprawdę przydatna konstrukcja i niezawodne źródło niespodzianek, gdy jest niezamierzona.
Przykład, który eksportuje tylko trasy statyczne, z przypięciem na grupie:
policy-options {
policy-statement EXPORT-STATIC {
term statics { from protocol static; then accept; }
}
}
protocols bgp group TO-PEER { export EXPORT-STATIC; }Prefiks nauczony przez OSPF zamiast skonfigurowany jako trasa statyczna nie przechodzi dopasowania i wypada, jakkolwiek nazywa się polityka.
Działania zmieniają kopię, a nie oryginalną trasę
Działania polityki operują na trasie w postaci, w jakiej jest oceniana dla tego ogłoszenia, czyli na kopii, a nie na wpisie w tabeli routingu. Dlatego lokalne polecenie show route może pokazać trasę z jednym zestawem atrybutów, podczas gdy eksportowana wersja niesie inne, a oryginał nie jest przepisywany przez eksport. Ta różnica wyjaśnia kilka sporów o to, czyj wynik jest poprawny: oba są, i opisują różne obiekty. Mów, który widok cytujesz, ilekroć dwóch inżynierów nie zgadza się co do atrybutu trasy.
Akceptacja i odrzucenie to decyzje kończące; zmiany atrybutów niekoniecznie. Nie zakładaj, że ustawienie community kończy politykę, bo ocena może przejść do terminów, których nie rozważyłeś.
Porównaj rozgłaszany widok z oczekiwaniem
Użyj widoku właściwego dla protokołu na rzeczywistym peerze, na przykład show route advertising-protocol bgp 192.0.2.1, i czytaj go we właściwym kontekście instancji routingu. Trasa obecna w VRF niekoniecznie przeszła politykę eksportu, a trasa, która pojawia się w rozgłaszanym wyniku, niekoniecznie została zaakceptowana przez drugą stronę. To trzy odrębne stany i zawodzą one różnie.
Zaakceptuj projekt z jednym prefiksem, który musi być rozgłaszany, i jednym, który musi pozostać lokalny. To daje polityce kontrakt, który możesz przetestować, i pozwala uniknąć alternatywnej poprawki polegającej na poszerzaniu eksportu, aż wreszcie pojawi się jedna nazwana trasa.