Przejdz do tresci
Avanet

Konfiguracja i weryfikacja OSPF w Sophos Firewall

OSPF automatycznie wymienia trasy IPv4 między routerami. Jest to przydatne, gdy wiele lokalizacji, redundantne ścieżki lub często zmieniające się sieci trudno już utrzymywać za pomocą tras statycznych. W małej lub istniejącej domenie routingu z niewielką liczbą routerów RIPv2 może być prostszy; OSPF zapewnia natomiast szybszą konwergencję i lepiej skalowalny model ścieżek.

W poniższym przykładzie dwie zapory Sophos Firewall tworzą sąsiedztwo OSPF przez dedykowaną sieć tranzytową. Na końcu Neighbor osiąga stan Full, Firewall A zna sieć LAN za Firewall B i odwrotnie. Dla IPv6 protokół OSPFv3 konfiguruje się oddzielnie.

⚠️ Sąsiedztwa OSPF należy zestawiać wyłącznie na zaufanych interfejsach tranzytowych lub VPN. W przykładzie LAN jest także wpisany jako OSPF Network, aby SFOS ogłaszał prefiks. SFOS aktywuje przez to OSPF na interfejsie LAN i może wysyłać wychodzące OSPF Hello. Dynamic Routing pozostaje wyłączony dla strefy LAN, więc nie zezwala na przychodzące pakiety OSPF; nie blokuje to wychodzących Hello. Nie włączaj Redistribute connected, dopóki nie będzie jasne, które sieci zostaną ogłoszone.

Przegląd przebiegu

Proste połączenie OSPFv2 wymaga następujących czynności:

  1. Przypisać adresy interfejsom tranzytowym i sprawdzić bezpośrednią łączność IP.
  2. W Administration > Device access zezwolić na Dynamic Routing dla osobnej strefy tranzytowej albo przez ściśle ograniczony wyjątek Local Service ACL Exception.
  3. W Routing > OSPF wprowadzić na każdej zaporze unikalny Router ID.
  4. Utworzyć Area 0.0.0.0 typu Normal.
  5. W sekcji Networks przypisać lokalną sieć tranzytową do Area 0.0.0.0.
  6. Wpisać odpowiednią sieć LAN jako drugi OSPF Network lub użyć oddzielnie zweryfikowanej redystrybucji.
  7. W Routing > Information > OSPF sprawdzić stan Neighbor Full i nauczoną trasę.

Network OSPF nie jest zdalną siecią docelową. Ten wpis aktywuje OSPF na lokalnych interfejsach, których adres IP należy do wskazanej sieci. Zdalna sieć LAN pojawi się dopiero wtedy, gdy druga strona rozgłosi ją przez OSPF.

O czym decyduje OSPF na zaporze

OSPF jest wewnętrznym protokołem routingu typu link-state. Sąsiednie routery wymieniają informacje o osiągalnych sieciach i ścieżkach, budują z nich Link-State Database i obliczają najkorzystniejszą trasę. Mniejszy Cost ma pierwszeństwo przed większym.

OSPF realizuje zatem inne zadanie niż reguły firewall i SD-WAN:

  • OSPF uczy się i rozprowadza sieci docelowe we własnej domenie routingu.
  • Reguła firewall nadal decyduje, czy ruch użytkowy może przechodzić między odpowiednimi strefami i sieciami.
  • NAT w razie potrzeby zmienia adresy, ale nie jest częścią OSPF.
  • SD-WAN Route może dodatkowo podejmować decyzje na podstawie źródła, usługi, aplikacji lub jakości łącza.

Trasy OSPF pojawiają się z innymi trasami unicast. Klasyczny routing najpierw wybiera najdłuższy pasujący prefiks. Dla tego samego prefiksu SFOS porównuje Administrative Distance źródeł routingu; między porównywalnymi ścieżkami OSPF rozstrzyga metryka OSPF. Niezależnie globalna Route Precedence określa pierwszeństwo klasycznego routingu, SD-WAN Policy Routes i tras VPN. Przed zmianą udokumentuj kolejność poleceniem system route_precedence show.

OSPFv2 obsługuje IPv4. OSPFv3 pełni tę samą funkcję dla IPv6, ale w Sophos Firewall jest konfigurowany oddzielnie.

Planowanie przykładowej topologii

Przykładowe wartości przedstawiają dwie lokalizacje:

  • Firewall A: Router ID 192.0.2.10, tranzytowy adres IP 198.51.100.1/30, lokalna sieć LAN 10.10.10.0/24
  • Firewall B: Router ID 192.0.2.20, tranzytowy adres IP 198.51.100.2/30, lokalna sieć LAN 10.20.20.0/24
  • Sieć tranzytowa: 198.51.100.0/30
  • OSPF Area: 0.0.0.0

Adresy 192.0.2.0/24 i 198.51.100.0/24 są sieciami dokumentacyjnymi. Należy zastąpić je rzeczywistymi wartościami używanymi w danym środowisku.

Router ID wygląda jak adres IPv4, ale nie musi być przypisany do żadnego interfejsu. Najważniejsze, aby był unikalny w domenie OSPF i pozostawał trwale stabilny. Wartość 0.0.0.0 jest niedozwolona. Bez własnej wartości SFOS używa najwyższego adresu interfejsu; świadomie wybrany Router ID zapobiega nieoczekiwanej zmianie tożsamości po zmianie interfejsu.

W tej prostej konfiguracji wystarcza Backbone Area 0.0.0.0. Wiele Areas ma sens dopiero wtedy, gdy większa domena routingu ma być celowo podzielona i agregowana. Każda dodatkowa Area wymaga połączenia z Backbone Area.

Bezpieczne przygotowanie OSPF

Przed konfiguracją OSPF należy spełnić następujące warunki:

  • Zapora działa w Gateway Mode. OSPF nie jest dostępny w Transparent Mode.
  • Oba tranzytowe adresy IP znajdują się w tej samej sieci i osiągają się bezpośrednio, na przykład przez Ping.
  • Udokumentowano interfejs, maskę podsieci, MTU i strefę.
  • Router ID, Area, Authentication oraz Hello interval i Dead interval są uzgodnione po obu stronach.
  • Dostępne są kopia zapasowa konfiguracji i niezależny dostęp administracyjny.
  • Dla obu sieci LAN zaplanowano odpowiednie reguły firewall i trasy zwrotne.

Dedykowany tranzytowy VLAN i osobna strefa tranzytowa ułatwiają zabezpieczenie. Podstawy opisuje artykuł Konfiguracja stref i interfejsów Sophos Firewall.

Selektywne zezwolenie na Dynamic Routing

W Administration > Device access opcja Dynamic Routing jest domyślnie wyłączona dla wszystkich stref. W przykładzie usługa jest włączana tylko we własnej strefie tranzytowej, do której przypisano sieć 198.51.100.0/30.

Pole Device Access dotyczy całej strefy. Najczytelniejsza jest osobna strefa tranzytowa. Jeśli interfejs dzieli strefę, Local service ACL exception rule może ograniczyć IP version, Source zone, Source networks and hosts, Destination host, usługę Dynamic Routing, Action i pozycję. OSPFv2 używa jednak multicast 224.0.0.5 i 224.0.0.6, więc lokalny adres tranzytowy nie musi działać jako Destination host. Potwierdź dopasowywanie multicast w zainstalowanym SFOS. Bez tego bezpieczna pozostaje dedykowana strefa.

To zezwolenie dotyczy pakietów OSPF kierowanych do samej zapory. Nie wymaga ono zwykłej reguły firewall. Rzeczywisty ruch danych między 10.10.10.0/24 i 10.20.20.0/24 nadal wymaga odpowiednich reguł firewall IPv4. Różnicę między usługami lokalnymi a ruchem przekazywanym wyjaśnia artykuł Zabezpieczanie Device Access w Sophos Firewall.

Konfiguracja OSPFv2 w WebAdmin

Poniższe kroki wykonuje się na obu zaporach. Różnią się tylko Router ID, tranzytowy adres IP i lokalna sieć LAN.

1. Ustawienia globalne

⚠️ Wartości przykładowe dotyczą pierwszej konfiguracji. Nie zastępować bez przygotowania Router ID istniejącego routera: pomoc SFOS 23 ostrzega, że zmiana resetuje wszystkie sesje OSPF. Nie oznacza to, że starsze wersje są od tego wolne. Przed zmianą zapewnić kopię zapasową i niezależny dostęp administracyjny, zapisać sąsiadów i trasy oraz zaplanować okno konserwacyjne. Po zmianie oczekiwane sąsiedztwa muszą wrócić do Full, żądane prefiksy być obecne, niepożądane nieobecne, a rzeczywiste połączenia i ich trasy zwrotne działać.

W Routing > OSPF ustawia się wartości globalne:

  • Router ID: na Firewall A 192.0.2.10, na Firewall B 192.0.2.20
  • Default metric: pozostawić 20, chyba że świadomie określono inną wartość dla tras redystrybuowanych
  • ABR type: dla nowej standardowej konfiguracji Standard
  • Auto-cost reference-bandwidth: pozostawić wartość domyślną 100000 Mbps, dopóki planowanie kosztów nie wymaga innej wspólnej wartości odniesienia
  • Default-information originate: Never, dopóki zapora nie ma wyraźnie rozgłaszać Default Route do wszystkich sąsiadów OSPF
  • Redistribute connected, static, RIP i BGP: początkowo pozostawić wyłączone

Następnie zastosować konfigurację globalną przyciskiem Apply.

Default metric jest wartością zastępczą dla tras redystrybuowanych, gdy dla ich typu nie skonfigurowano osobnej metryki. Area Border Router (ABR) łączy inne obszary z obszarem szkieletowym i utrzymuje osobną bazę topologii oraz informacje o routingu dla każdego przyłączonego obszaru. OSPFv2 oferuje Standard, Cisco, IBM i Shortcut w ABR type, aby zapewnić zgodność z istniejącą domeną routingu; wybór musi odpowiadać uzgodnionemu projektowi.

Podczas migracji ze starszej wersji do SFOS 19.5 lub nowszej poprzednia domyślna wartość Reference Bandwidth, 100, zmienia się na 100000 Mbps. Wartość wcześniej dostosowana pozostaje bez zmian. Po aktualizacji należy porównać rzeczywistą wartość odniesienia i obliczone koszty z planem kosztów.

Autonomous System Boundary Router (ASBR) wprowadza do OSPF trasy z innych źródeł routingu. Poniższe metryki zewnętrzne odnoszą się do tego routera.

Domyślna metryka dotyczy tras importowanych do OSPF. Dla tras redystrybuowanych i Default Route można wybrać Metric type. External type 1 sumuje koszt wewnętrzny do ASBR i zewnętrzny. Dla External type 2 najpierw porównuje się metrykę zewnętrzną; przy równej wartości ścieżka wewnętrzna do ASBR rozstrzyga remis. Koszt interfejsu decyduje o ścieżce w OSPF. Niższy koszt wygrywa.

Opcji Default-information originate: Always nie wolno używać jako szybkiego przełącznika failoveru internetowego. Zapora rozgłaszałaby wtedy Default Route nawet bez własnej trasy domyślnej. Regular rozgłasza ją tylko wtedy, gdy Default Route jest dostępna w tablicy routingu.

2. Utworzenie Backbone Area

W sekcji Areas kliknąć Add i ustawić:

  • Area: 0.0.0.0
  • Type: Normal

Area cost można ustawić tylko dla typów obszaru innych niż Normal; pole nie jest dostępne dla obszaru szkieletowego z tego przykładu. Dla obszaru Normal opcja Virtual links > Add pozwala dodać łącze wirtualne, które łączy z obszarem szkieletowym obszar bez fizycznego połączenia z nim. Jest to zaplanowana zmiana projektu wieloobszarowego, a nie zamiennik kontroli topologii fizycznej.

Dla Area wybrać Authentication Type Text lub MD5. Jeżeli peer obsługuje MD5, należy preferować tę opcję zamiast zwykłego tekstu. Odpowiednie Key ID i klucz wprowadza się później na interfejsie tranzytowym. MD5 uwierzytelnia pakiety OSPF, ale nie szyfruje wymienianych informacji o routingu.

Następnie zapisać Area przyciskiem Save.

W tej prostej konfiguracji Area 0.0.0.0 pozostaje typu Normal. Stub Area nie otrzymuje tras zewnętrznych wobec AS, a Stub no-summary dodatkowo blokuje zwykłe trasy podsumowujące z wyjątkiem trasy domyślnej. NSSA może wprowadzać własne trasy zewnętrzne do domeny OSPF jako LSA typu 7; NSSA no-summary łączy tę możliwość z bardziej restrykcyjnym ograniczeniem podsumowań. Virtual Link jest dostępny tylko dla Normal Area. Nie należy zmieniać typu Area jako szybkiej metody diagnostycznej, ponieważ oba końce i cały projekt Area muszą być z nim zgodne.

3. Dodanie sieci tranzytowej

W sekcji Networks kliknąć Add:

  • IPv4/Netmask: 198.51.100.0/30
  • Area: 0.0.0.0

Na Firewall A adres 198.51.100.1 pasuje do tego Network, a na Firewall B adres 198.51.100.2. Dzięki temu OSPF działa na odpowiednich interfejsach tranzytowych i obie zapory mogą utworzyć sąsiedztwo.

Zapisać wpis Network przyciskiem Save.

Sieć OSPF zawsze odnosi się do sieci lokalnej: SFOS włącza OSPF na każdym interfejsie, którego adres pasuje do wpisu, i ogłasza jego prefiks. Dla sieci LAN w tym przykładzie w kroku 5 również użyto wpisu sieciowego, ponieważ w WebAdmin można w ten sposób wybrać dokładnie żądany prefiks i go ponownie usunąć. Wadą jest to, że interfejs LAN staje się częścią OSPF. Filtrowana redystrybucja unika tego, ale w SFOS 22 wymaga osobno sprawdzonej konfiguracji CLI wraz z możliwością cofnięcia.

4. Świadome nadpisywanie wartości interfejsu

W sekcji Override interface configuration można wybrać interfejs tranzytowy. Wartości domyślne są odpowiednie dla wielu połączeń Ethernet:

  • Hello interval: 10 sekund
  • Dead interval: 40 sekund
  • Retransmit interval: 5 sekund
  • Transmit delay: 1 sekunda
  • Interface cost: Auto
  • Router priority: 1

Hello interval określa odstęp między pakietami Hello służącymi do wykrywania sąsiadów. Dead interval określa czas oczekiwania bez Hello, po którym sąsiad zostaje uznany za niedostępnego. SFOS automatycznie ustawia Dead na czterokrotność Hello; po zmianie Hello należy sprawdzić, czy obliczona wartość mieści się w dozwolonym zakresie i odpowiada ustawieniom sąsiadów. Dead można też zmienić ręcznie. Retransmit interval steruje ponowną transmisją Link-State Advertisements (LSA); Transmit delay uwzględnia opóźnienie transmisji i propagacji aktualizacji stanu łącza.

DR oznacza Designated Router, a BDR Backup Designated Router. Przy wyborze preferowana jest wyższa Router Priority; przy równej wartości wygrywa najwyższy Router ID.

Hello i Dead muszą być identyczne na wszystkich routerach w segmencie. Retransmit Interval i Transmit Delay ustawia się lokalnie. Cost i Router Priority mogą się celowo różnić: Cost określa preferowaną ścieżkę danych, natomiast Priority w sieciach rozgłoszeniowych wpływa na wybór DR i BDR. Priority 0 wyklucza interfejs z tego wyboru.

Przy takim samym Priority decyduje Router ID, ale nowy router z wyższym priorytetem nie zastępuje automatycznie już wybranego DR. Ręcznie ustawiony Cost jest przydatny, gdy spośród wielu ścieżek jedna ma być preferowana. Przy Auto SFOS oblicza Cost na podstawie globalnego Reference Bandwidth i skonfigurowanej prędkości interfejsu. Po zmianie prędkości łącza w Network > Interfaces OSPF zastosuje nowy Auto-Cost dopiero po ponownym uruchomieniu zapory.

W przypadku uwierzytelniania MD5 w Area wybiera się Authentication Type MD5. Następnie na interfejsie tranzytowym po obu stronach wprowadza się takie samo Key ID od 0 do 255 i ten sam klucz.

Jeśli dla OSPFv2 wybrano zamiast tego Text, należy wprowadzić na interfejsie hasło uwierzytelniania i uzgodnić je z drugą stroną. Nie dotyczy to OSPFv3, który nie obsługuje uwierzytelniania.

Zmodyfikowane wartości interfejsu zapisuje się przyciskiem Save.

5. Rozgłaszanie tylko potrzebnych sieci LAN

W przykładzie Firewall A musi rozgłaszać 10.10.10.0/24, a Firewall B 10.20.20.0/24. Służą do tego dwie zasadniczo różne metody:

  • OSPF Network włącza odpowiedni lokalny interfejs do OSPF i ogłasza swój prefiks.
  • Redistribution przejmuje trasy z innego źródła routingu w OSPF.

Kliknij na Routing > OSPF > Networks na Add i przypisz odpowiednią sieć LAN do obszaru 0.0.0.0: na zaporze A 10.10.10.0/24, na zaporze B 10.20.20.0/24. Zapisz wpis za pomocą Save. Dynamic Routing pozostaje wyłączony dla strefy LAN; usługa jest dozwolona tylko dla strefy tranzytowej lub dla wyjątku w ściśle ograniczonej lokalnej regule ACL. Następnie urządzenie po drugiej stronie musi nauczyć się dokładnie tej sieci LAN. Niepożądana sieć lokalna służy jako kontrola negatywna i nie może pojawić się w jej tabeli routingu OSPF.

Ten wariant jest odpowiedni, dopóki interfejsy LAN mogą świadomie być częścią OSPF. Jeśli OSPF zasadniczo nie ma być tam włączony lub prefiksy do dystrybucji pochodzą ze Static, RIP lub BGP, odpowiedniejszą metodą jest redystrybucja. Opcja Redistribute connected w WebAdmin przejmuje jednak wszystkie sieci bezpośrednio podłączone. Na produkcyjnej zaporze może to obejmować również sieci WAN, zarządzania, DMZ, VPN i inne sieci VLAN. Dlatego pole wyboru nie może być włączone bez zastanowienia.

W przypadku Remote Access SSL VPN opcja Redistribute connected przejmuje tylko dynamiczną podsieć klientów. Statycznie przypisana podsieć SSL VPN nie jest wstrzykiwana automatycznie i, jeśli jest rzeczywiście potrzebna, musi zostać skonfigurowana jako oddzielny OSPF Network i osobno przetestowana.

WebAdmin nie umożliwia filtrowania tras Connected według pojedynczych prefiksów. Pomoc wiersza poleceń SFOS 22 pokazuje wprawdzie ACL z Route Map, ale dokumentuje tylko przykład wykluczenia, a nie pełne wycofanie produkcyjnej allowlisty. Bez procedury wycofania zweryfikowanej dla używanej wersji SFOS nie można traktować tego jako bezpiecznej instrukcji do skopiowania. Selektywną redystrybucję należy więc zaplanować jako osobną zmianę routingu, potwierdzić składnię i wycofanie dla zainstalowanej kompilacji oraz sprawdzić po drugiej stronie zarówno żądany prefiks, jak i co najmniej jedną sieć, która wyraźnie nie może być rozgłaszana.

Globalna opcja WebAdmin Redistribute connected pozostaje wyłączona w przypadku wariantu filtrowanego przez CLI. Po późniejszych zmianach w globalnej konfiguracji OSPF show running-config musi zostać ponownie sprawdzona, ponieważ WebAdmin może usunąć sprzeczne rozszerzone ustawienia CLI i zmiany w log-adjacency-changes. Również Redistribute static zostanie włączona dopiero po pełnej inwentaryzacji istniejących tras statycznych.

Konfigurowanie i cofanie OSPF w interfejsie CLI

Od SFOS 23.0: nazwy Access Lists, Prefix Lists i Route Maps muszą być unikalne we wszystkich protokołach routingu dynamicznego, które korzystają ze wspólnej konfiguracji. Podczas aktualizacji z wcześniejszej wersji do SFOS 23.0 lub nowszego Sophos Firewall automatycznie dodaje prefiksy protokołów do nazw Route Maps, Prefix Lists i Access Lists w przypadku konfliktu nazw i aktualizuje wszystkie odwołania do konfiguracji o zmienionych nazwach. Przed selektywną redystrybucją lub wycofaniem zmiany porównać nazwy obiektów i odwołania zapisane przed aktualizacją z bieżącą konfiguracją; nie zakładać, że stara nazwa nadal wskazuje bieżące powiązanie. Po zmianie lub jej wycofaniu sprawdzić po drugiej stronie, czy żądane prefiksy są obecne, a wyraźnie zabronione nieobecne. Przed wyborem nazw i planowaniem wycofania zinwentaryzować nazwy i odwołania we wszystkich protokołach. Usuwać tylko odwołania objęte tą zmianą, nie usuwać zbiorczo współdzielonych obiektów. Inne protokoły muszą zachować oczekiwanych sąsiadów i trasy. Bez potwierdzonej składni i procedury wycofania nie podajemy wykonywalnej instrukcji filtrowania.

SFOS 22, tylko OSPFv2/IPv4: interfejs CLI OSPF znajduje się pod 3. Route Configuration > 1. Configure Unicast Routing > 2. Configure OSPF. Minimalna konfiguracja Firewalla A odzwierciedla przykład WebAdmin. Zachowujemy udokumentowaną sekwencję SFOS 22 z exit i write w globalnym kontekście ospf(config)#.

⚠️ Przed ospf router-id na istniejącym routerze zastosować kontrolę opisaną przy WebAdmin: według pomocy SFOS 23 zmiana istniejącego Router ID resetuje wszystkie sesje OSPF. Nie zastępować go wartością przykładową. Zapewnić kopię zapasową i niezależny dostęp administracyjny, zapisać sąsiadów i trasy oraz zaplanować okno konserwacyjne; następnie sprawdzić sąsiedztwa Full, obecność żądanych i brak niepożądanych prefiksów oraz rzeczywisty ruch.

enable
configure terminal
router ospf
ospf router-id 192.0.2.10
network 198.51.100.0/30 area 0
network 10.10.10.0/24 area 0
log-adjacency-changes
exit
write
show running-config
end

SFOS 23, tylko OSPFv2/IPv4: 3. Route Configuration > 1. Configure Unicast Routing otwiera wspólną konsolę routingu w router# (EXEC). configure terminal przechodzi do router(config)# (konfiguracja globalna), a router ospf do router(config-ospf)#. Wprowadzać polecenia bez widocznych poniżej znaków zachęty:

router# configure terminal
router(config)# router ospf
router(config-ospf)# ospf router-id 192.0.2.10
router(config-ospf)# network 198.51.100.0/30 area 0
router(config-ospf)# network 10.10.10.0/24 area 0
router(config-ospf)# log-adjacency-changes
router(config-ospf)# end
router# show running-config
router# write

end wraca bezpośrednio do EXEC. Pomoc konfiguracji SFOS 23 pokazuje tam show running-config i write, mimo że jej uwaga ogólnie wymaga do write. Przykład filtrowania pokazuje dokładnie router(config)# do write po wyjściu z OSPF przez exit. Ta rozbieżność dokumentacji nie dowodzi, że EXEC write nie zapisuje: tutaj stosujemy przykład konfiguracji z jednoznacznymi trybami, a nie samo write w trybie konfiguracji SFOS 23.

show running-config pokazuje stan bieżący, nie potwierdzenie zapisu. Po write w SFOS 23 sprawdzić potwierdzenie zapisu zintegrowanego pliku /conf/routing/frr.conf; przykład filtrowania SFOS 22 wskazuje jeszcze /conf/routing/ospfd.conf. Nie edytować pliku ręcznie. Według Sophos zmiany CLI trzeba zapisać, aby pojawiły się w WebAdmin i przetrwały restart zapory lub demona. Sprawdzić potwierdzenie i oczekiwane wartości WebAdmin; restart nie jest tutaj wymaganym testem i nie został przeprowadzony na potrzeby artykułu. Jeśli brak potwierdzenia, przed dalszymi zmianami skonsultować się z Sophos. Następnie sprawdzić sąsiadów, trasy i ruch.

Na firewallu B używane są zamiast tego identyfikator routera 192.0.2.20 i sieć LAN 10.20.20.0/24.

Router ID musi być unikalny, nie może mieć wartości 0.0.0.0 i nie musi być faktycznie przydzielonym adresem IP. Jeśli nie zostanie podany ręcznie, SFOS użyje najwyższego adresu IP interfejsu. ID obszaru można wprowadzać jako liczbę od 0 do 4294967295 lub w zapisie IPv4. SFOS przechowuje sieć znormalizowaną zgodnie z maską; dlatego z 198.51.100.1/30 powstaje 198.51.100.0/30. Dokładnie ta przechowywana wartość jest później decydująca dla kontroli i usunięcia. log-adjacency-changes rejestruje zmiany sąsiadów bez trybu debugowania i jest domyślnie ustawiane przy konfiguracji WebAdmin.

Rozróżnienie Network, procesu OSPF i Default Route

SFOS 22, OSPFv2/IPv4: aby usunąć tylko jeden Network, zastosować no do jego znormalizowanego wiersza z show running-config pod router ospf. Przed usunięciem sieci tranzytowej zapewnić alternatywne trasy, kopię zapasową i niezależny dostęp administracyjny oraz okno konserwacyjne: sąsiedztwo na tym segmencie zostanie utracone.

enable
configure terminal
router ospf
no network 198.51.100.0/30 area 0
exit
write
show running-config
end

W ten sposób OSPF kończy działanie na odpowiednich interfejsach, a związane z nimi ogłoszenia znikają. no router ospf usuwa natomiast konfigurację routingu OSPFv2. Przed tym destrukcyjnym krokiem należy zapisać pełną bieżącą konfigurację, wykonać kopię zapasową i zapewnić alternatywne trasy; polecenie powinno być wykonywane w oknie konserwacyjnym i nie jest tymczasowym przełącznikiem włącz/wyłącz.

SFOS 23, OSPFv2/IPv4: rozpocząć usuwanie Network w router# wspólnej konsoli. Przegląd SFOS 23 dokumentuje no network w router(config-ospf)#; potem wykonać tę samą kontrolę i zapis w EXEC:

router# configure terminal
router(config)# router ospf
router(config-ospf)# no network 198.51.100.0/30 area 0
router(config-ospf)# end
router# show running-config
router# write

Po usunięciu powinny zniknąć dokładnie wskazany Network i jego ogłoszenie; pozostali sąsiedzi, alternatywne trasy, dostęp administracyjny i ruch muszą działać zgodnie z planem. Sprawdzić również potwierdzenie zapisu. Aby wycofać tę konkretną zmianę, przywrócić wcześniej zapisaną pozycję network … area … w kontekście OSPF właściwym dla wersji, zapisać i ponownie sprawdzić.

Dla usunięcia całego procesu SFOS 22 podaje ospf(config)# no router ospf, a przegląd SFOS 23 router(config-ospf)# no router ospf. To udokumentowana zmiana znaku zachęty, nie dowód błędu polecenia. Ten kontekst SFOS 23 nie został tutaj potwierdzony na urządzeniu. Nie podajemy więc wykonywalnej procedury usuwania procesu SFOS 23, dopóki Sophos nie potwierdzi kontekstu i odtworzenia dla zainstalowanej kompilacji; nie zgadywać innego trybu. Nie usuwać zbiorczo współdzielonych ACL, Prefix Lists ani Route Maps.

ospf push-default-route-to-kernel wykonuje trzecie, oddzielne zadanie: trasa domyślna poznana przez OSPF jest przenoszona do tabeli routingu jądra. Polecenie nie ogłasza trasy domyślnej sąsiadom i dlatego nie jest tym samym co Default-information originate. Przed jego wykonaniem należy udokumentować istniejące trasy domyślne, Route Precedence, trasę zwrotną dla dostępu administracyjnego oraz wynik Route Lookup. Oficjalnie udokumentowane wycofanie zmiany wykonuje się w wierszu OSPF za pomocą no ospf push-default-route-to-kernel; następnie ponownie sprawdza się tabelę routingu, Route Lookup, dostęp administracyjny oraz rzeczywisty ruch.

Globalne zmiany w WebAdmin mogą usunąć sprzeczne ustawienia CLI. Po każdej takiej zmianie należy ponownie sprawdzić show running-config, Neighborów, nauczone trasy i zapisaną konfigurację.

Kontrola i testy odbiorcze OSPF

Samo sąsiedztwo nie dowodzi jeszcze, że oczekiwana sieć LAN jest osiągalna. Testy odbiorcze przebiegają zatem od warstwy OSPF aż do rzeczywistego przepływu pakietów.

  1. W Routing > Information > OSPF > Neighbors peer musi pojawić się ze swoim Router ID. Stan Full oznacza, że odpowiednie informacje Link-State zostały w pełni wymienione.
  2. Pod Routes zapora A musi widzieć 10.20.20.0/24 przez 198.51.100.2. Zapora B oczekuje 10.10.10.0/24 przez 198.51.100.1. Nieudostępniony prefiks testowy nie może się natomiast pojawić.
  3. Pod Interface kontrolowane są Area, Router ID, Cost, Timer, Network Type i MTU. Database pokazuje bazę danych Link-State; Border routers pomaga w projektach wieloobszarowych sprawdzać wpisy ABR i ASBR.
  4. W Diagnostics > Tools > Route lookup sprawdza się konkretny cel, na przykład 10.20.20.10 na Firewall A.
  5. Następnie należy przetestować rzeczywiste połączenie między hostem z jednej i drugiej sieci LAN. Log Viewer i Packet Capture muszą pokazać oczekiwaną regułę firewall, interfejs tranzytowy i ruch powrotny.

W dwóch ostatnich krokach pomaga artykuł Testowanie reguły Sophos Firewall za pomocą Log Viewer i Packet Capture.

Dla dodatkowej kontroli SSH SFOS 22 używa 3. Route Configuration > 1. Configure Unicast Routing > 2. Configure OSPF, a SFOS 23 otwiera wspólną konsolę przez 3. Route Configuration > 1. Configure Unicast Routing. W SFOS 23 wrócić przez end do router# i tam wykonać show running-config. To stan bieżący, nie potwierdzenie zapisu; oddzielną kontrolę zapisu opisano powyżej. Sąsiad, baza danych, interfejsy i obliczone trasy są w SFOS 22 wiarygodnie sprawdzane pod Routing > Information > OSPF; dlatego ten artykuł nie podaje niedokumentowanych poleceń show dla demona routingu.

W Advanced Shell dodatkowy kontekst zapewniają logi OSPF i kernela. Dostęp prowadzi przez 5. Device Management > 3. Advanced Shell:

cd /log
tail -f ospfd.log

Bieżący podgląd kończy się za pomocą Ctrl+C. Następnie można sprawdzić drugi log:

tail -f zebra.log

ospfd.log pokazuje zdarzenia OSPF. zebra.log pomaga sprawdzić, czy dynamicznie nauczona trasa została przekazana do kernela. Aby nie śledzić pliku na żywo, można użyć na przykład less /log/ospfd.log. Artykuł Usługi i pliki dzienników Sophos Firewall przypisuje kolejne pliki do odpowiednich usług.

Systematyczne zawężanie błędów

Brak Neighbor

Najpierw sprawdzić bezpośrednią osiągalność tranzytowych adresów IP. Następnie interfejs tranzytowy musi być up, OSPF Network musi odpowiadać lokalnemu adresowi IP interfejsu, a Dynamic Routing musi być włączony we właściwej strefie. Area, maska podsieci, Authentication Type, Key ID, klucz, Hello i Dead muszą być zgodne po obu stronach. Zduplikowane Router ID również uniemożliwiają prawidłowe zestawienie.

Neighbor pozostaje w stanie Init lub 2-Way

Init oznacza, że pakiety Hello docierają, ale komunikacja nie została jeszcze potwierdzona w obu kierunkach. Pierwszymi punktami kontroli są wtedy Device Access, asymetryczne filtry, przypisanie interfejsu i trasa zwrotna.

Stan 2-Way jest normalny w sieci rozgłoszeniowej między dwoma routerami, jeśli żaden z nich nie jest DR ani BDR. W przykładzie z dokładnie dwoma routerami OSPF i Priority 1 uczestnicy stają się DR i BDR, dlatego ich sąsiedztwo powinno osiągnąć stan Full. Jeśli pozostaje w stanie 2-Way, należy sprawdzić Router Priority, Network Type i peer.

Neighbor pozostaje w stanie ExStart, Exchange lub Loading

W tych stanach synchronizacja Link-State Database rozpoczęła się, ale nie została ukończona. Częstymi przyczynami są różne wartości MTU, niezgodne Network Types, zduplikowane Router ID lub niestabilne połączenia. W Routing > Information > OSPF > Interface do porównania dostępne są MTU, MTU Mismatch Detection, Network Type i Timer.

Neighbor ma stan Full, ale brakuje zdalnej sieci LAN

Wtedy sąsiedztwo działa, ale LAN nie jest ogłaszany. W użytej w tym przykładzie metodzie sieciowej, na wysyłającej zaporze musi istnieć połączona trasa, a pod router ospf powinien pojawić się odpowiedni wpis network … area …. show running-config pokazuje znormalizowaną wartość w konfiguracji bieżącej, nie stan jej zapisu.

Jeżeli zamiast tego używana jest redystrybucja, wybrane źródło routingu oraz w razie potrzeby ACL, mapa routingu i redistribute … route-map muszą pasować do pożądanego prefiksu. W przypadku Redistribute connected należy dodatkowo sprawdzić pełną listę wszystkich ogłoszonych tras połączonych.

Jeżeli po aktualizacji do SFOS 22 brakuje akurat sieci za tunelem policy-based IPsec, przyczyną może być zależność od redistribute kernel. Tunel i sąsiad OSPF mogą przy tym nadal wyglądać na sprawne; artykuł SFOS 22: trasy IPsec i redistribute kernel wyjaśnia kontrolę i docelowy projekt route-based XFRM.

Trasa jest obecna, ale ruch nie działa

OSPF wykonał swoje zadanie, gdy trasa z prawidłowym Next Hop jest obecna. Dalsze błędy najczęściej dotyczą reguły firewall, NAT, Route Precedence, trasy zwrotnej lub systemu docelowego. W normalnie routowanych sieciach między lokalizacjami SNAT zazwyczaj nie jest potrzebny, ponieważ obie zapory powinny znać sieci LAN przez OSPF.

OSPF przez route-based IPsec

OSPF może również działać przez interfejs XFRM tunelu Site-to-Site IPsec opartego na trasie. Aby SFOS utworzył interfejsy XFRM, zarówno lokalna, jak i zdalna podsieć muszą być po obu stronach Any. Ustawienie IPv4, IPv6 lub Dual określa następnie używane wersje IP; w przypadku Dual tworzy się osobno reguły zapory dla IPv4 i IPv6 ręcznie. Przy specyficznych selektorach ruchu nie powstaje adresowalny interfejs XFRM, któremu można przypisać adresy IP lub trasy.

Dla tego wariantu obowiązują dodatkowo następujące zasady:

  • W Administration > Device access zezwala się na Dynamic Routing dla strefy VPN.
  • Sieć tranzytową XFRM dodaje się jako OSPF Network.
  • Ruch użytkowy wymaga odpowiednich reguł firewall IPv4 lub IPv6 dla strefy VPN.
  • Hello, Dead, Authentication i MTU muszą odpowiadać ustawieniom peera.
  • Wyświetlany typ sieci OSPF jest porównywany po obu stronach. Odchylenie może uniemożliwić nawiązanie sąsiedztwa i musi być wyjaśnione w projekcie obu punktów końcowych.

Zielony tunel IPsec i OSPF Neighbor w stanie Full to dwa oddzielne punkty kontroli. Dopiero nauczona trasa i rzeczywisty przepływ pakietów potwierdzają całą konfigurację.

Oficjalna pomoc HA nie gwarantuje przejęcia stanu sąsiedztwa OSPF. W klastrze HA zaplanowane przełączenie awaryjne należy w związku z tym uwzględnić w teście odbioru konkretnej topologii. Następnie na aktywnym węźle sprawdza się, czy sąsiedzi, trasy oraz ospfd.log i zebra.log ponownie pokazują oczekiwany stan.

OSPFv3 dla IPv6

Ograniczenie pomocy CLI SFOS 23: pomoc konfiguracji dodaje router ospf6 i stwierdza, że te same kroki dotyczą OSPFv3, ale dalej pokazuje polecenia Router ID i Network dla OSPF IPv4. Pomoc filtrowania dodaje ACL IPv6, lecz w dalszej sekwencji pozostawia match ip address i router ospf. Nie stanowi to pełnej, wiarygodnej procedury IPv6 dla dopasowania, redystrybucji i wycofania. Powyższe przykłady CLI dotyczą tylko OSPFv2/IPv4. Dla IPv6 zachowujemy poniższą procedurę WebAdmin opartą na interfejsach; procedurę CLI IPv6 stosować dopiero po potwierdzeniu przez Sophos dla zainstalowanej kompilacji. Nie podmieniać tokenów poleceń IPv4 ani nie traktować poleceń upstream FRR jako dowodu obsługi przez Sophos.

Pod Routing > OSPFv3 routing IPv6 jest konfigurowany niezależnie od OSPFv2. Router ID pozostaje przy tym unikalną wartością w zapisie IPv4. SFOS pokazuje dla Default metric co prawda 0, ale używa niezmiennej wartości 20; ABR type jest na stałe ustawiony na Standard. Auto-cost reference-bandwidth domyślnie ustawiona jest na 100000 Mbps. Dla Default-information originate istnieją, podobnie jak w OSPFv2, Never, Regular oraz Always; w WebAdmin można redystrybuować trasy Connected i BGP IPv6.

W odróżnieniu od OSPFv2 nie wpisuje się najpierw sieci. W Interfaces wybiera się interfejs obsługujący IPv6 i przypisuje go do obszaru. Dla prostego ustawienia używa się tutaj również obszaru 0.0.0.0. Hello i Dead muszą być zgodne na segmencie; Cost, Retransmit, Transmit Delay i Router Priority ustawia się odpowiednio do własnej topologii. SFOS obsługuje tylko jedną instancję OSPFv3 na interfejs. Instance ID jest konfigurowalna; jej wartość domyślna to 0.

Najpierw w Routing > OSPFv3 > Interfaces and areas > Areas należy kliknąć Add, wprowadzić Area w zapisie IPv4, wybrać Type zgodnie z projektem i zapisać przyciskiem Save. Dla prostego przykładu obszar to 0.0.0.0. Następnie w Routing > OSPFv3 > Interfaces and areas > Interfaces kliknąć Add, wybrać Interface i wprowadzić ten sam Area, również w zapisie IPv4.

Wartości domyślne OSPFv3 to Hello 10, Dead 40, Retransmit 5 i Transmit delay 1 sekunda oraz Router priority 1. Funkcje pól, automatyczne obliczanie Dead i kontrola dozwolonego zakresu obowiązują tak jak w kroku dotyczącym interfejsu OSPFv2. Wybór DR/BDR również preferuje wyższy priorytet, a przy remisie najwyższy Router ID; 0 wyklucza interfejs z wyboru. Interface cost może pozostać na Auto lub zostać ustawiony ręcznie po odznaczeniu pola; niższe wartości są preferowane. Auto wykorzystuje Reference Bandwidth i skonfigurowaną prędkość interfejsu. Po zmianie skonfigurowanej prędkości łącza nowy Auto-Cost również obowiązuje dopiero po ponownym uruchomieniu zapory. Na końcu zapisać konfigurację interfejsu przyciskiem Save.

Dodatkowe Areas OSPFv3 można utworzyć jako Stub, Stub no-summary, NSSA lub NSSA no-summary. Warianty różnią się tym, jakie zewnętrzne i podsumowujące LSA przenoszą; NSSA może dodatkowo przekazywać do ABR LSA typu 7 z własnej redystrybucji. Takie typy Area należą do uzgodnionego projektu wieloobszarowego, a nie do improwizowanej próby naprawy.

Stub nie przenosi LSA typu 4 ani 5 i nie pozwala na łącza wirtualne. Stub no-summary dodatkowo blokuje LSA typu 3 z wyjątkiem domyślnej trasy podsumowującej i również nie pozwala na łącza wirtualne. NSSA nie otrzymuje zewnętrznych LSA typu 5 z innych obszarów; własne LSA typu 7 są przenoszone wewnątrz NSSA, a ABR przekształca je w LSA typu 5 dla obszaru szkieletowego. NSSA no-summary blokuje typy 4 i 5 oraz typ 3 poza domyślną trasą podsumowującą, lecz zachowuje typ 7 i jego przekształcenie na ABR. Te właściwości nie oznaczają, że SFOS udostępnia redystrybucję RIP lub tras statycznych w WebAdmin OSPFv3.

W globalnej konfiguracji OSPFv3 należy wybrać tylko potrzebne ogłoszenia i ustawić odpowiednią metrykę oraz Metric type. Znaczenie E1/E2 i działanie Never, Regular oraz Always wyjaśniono w globalnym kroku OSPFv2; ostrzeżenie dotyczące Always obowiązuje również tutaj. Zastosować przyciskiem Apply. Może to usunąć własne zmiany w log-adjacency-changes; następnie ponownie sprawdzić bieżącą i zapisaną konfigurację, sąsiadów, oczekiwane i niepożądane prefiksy IPv6 w Routing > Information > OSPFv3 oraz rzeczywisty ruch IPv6.

Sophos Firewall nie obsługuje obecnie Authentication dla OSPFv3. Wymiana powinna zatem odbywać się wyłącznie przez zaufane lub już zabezpieczone łącza. Istniejąca konfiguracja OSPFv2 nie rozgłasza sieci IPv6, a ruch użytkowy IPv6 wymaga własnych reguł firewall IPv6.

Redistribute connected rejestruje wszystkie bezpośrednio połączone sieci IPv6 również w OSPFv3 i dlatego nie powinien być włączany generalnie. Według Sophos w przypadku Remote Access SSL VPN wstrzykiwana jest tylko podsieć dynamiczna, a nie statyczna. Pomoc SFOS-22 wymienia dla statycznej podsieci „sieć OSPF”, mimo że OSPFv3 w WebAdmin konfigurowany jest przez interfejsy, a nie przez listę sieci. Z tej sprzeczności nie można wyprowadzić bezpiecznego przebiegu; ogłoszenie statycznego prefiksu IPv6 SSL VPN musi zostać wyjaśnione dla zainstalowanej wersji przez Sophos.

Testy odbiorcze przeprowadza się w Routing > Information > OSPFv3; w przypadku błędów ospf6d.log zapewnia kontekst właściwy dla protokołu.

Bezpieczne wycofanie zmiany

Przed usunięciem OSPF musi istnieć alternatywna ścieżka lub zaplanowane okno konserwacji dla każdej nauczonej sieci docelowej. W przykładzie najpierw usuwany jest wpis sieci LAN, następnie sieć tranzytowa, a na końcu Dynamic Routing dla strefy tranzytowej jest dezaktywowana. Jeśli zamiast tego LAN jest redystrybuowany, najpierw cofana jest ta redystrybucja. Następnie ponownie sprawdzane są wyszukiwanie tras, tabela routingu i dostęp do zarządzania.

Jeżeli wycofywany jest tylko błędny Cost, Timer lub filtr, zawsze należy zmienić tylko to jedno ustawienie. Dzięki temu pozostaje jasne, czy problem dotyczył sąsiedztwa OSPF, rozgłaszania tras, czy dopiero ruchu użytkowego.