Naar de inhoud
Avanet

OSPF op Sophos Firewall configureren en controleren

OSPF wisselt automatisch IPv4-routes uit tussen routers. Dit is nuttig wanneer meerdere locaties, redundante paden of vaak wijzigende netwerken met statische routes alleen nog met veel moeite kunnen worden beheerd.

In het volgende voorbeeld vormen twee Sophos Firewalls via een eigen transitnetwerk een OSPF-buurschap. Aan het einde staat de Neighbor op Full, kent Firewall A het LAN achter Firewall B en omgekeerd. Voor IPv6 wordt OSPFv3 apart geconfigureerd.

⚠️ OSPF mag alleen actief zijn op daarvoor bestemde, vertrouwde transit- of VPN-interfaces. Geef Dynamic Routing niet algemeen vrij voor LAN- en WAN-zones en activeer Redistribute connected pas wanneer duidelijk is welke rechtstreeks verbonden netwerken daardoor worden geadverteerd.

OSPF in zeven stappen

Voor een eenvoudige OSPFv2-verbinding zijn de volgende stappen nodig:

  1. Geef de transitinterfaces een adres en controleer de directe IP-bereikbaarheid.
  2. Sta onder Administration > Device access Dynamic Routing toe voor een aparte transitzone of met een strikt beperkte Local Service ACL Exception.
  3. Voer onder Routing > OSPF op elke firewall een unieke Router ID in.
  4. Maak Area 0.0.0.0 aan als Normal.
  5. Wijs het lokale transitnetwerk onder Networks toe aan Area 0.0.0.0.
  6. Adverteer alleen de LAN-routes die daadwerkelijk nodig zijn.
  7. Controleer onder Routing > Information > OSPF de Neighbor-status Full en de geleerde route.

Een OSPF-Network is niet het externe bestemmingsnetwerk. De invoer activeert OSPF op de lokale interfaces waarvan het IP-adres binnen dit netwerk valt. Het externe LAN verschijnt pas wanneer de andere zijde het via OSPF adverteert.

Wat OSPF op de firewall bepaalt

OSPF is een intern link-state-routingprotocol. Naburige routers wisselen informatie uit over hun bereikbare netwerken en paden, bouwen daarmee een Link-State Database op en berekenen de voordeligste route. Een lagere Cost krijgt de voorkeur boven een hogere.

OSPF vervult daarmee een andere taak dan firewallregels en SD-WAN:

  • OSPF leert en distribueert bestemmingsnetwerken binnen de eigen routingdomain.
  • Een firewallregel blijft bepalen of gebruikersverkeer tussen de betrokken zones en netwerken mag passeren.
  • NAT wijzigt zo nodig adressen, maar maakt geen deel uit van OSPF.
  • Een SD-WAN Route kan daarnaast beslissen op basis van bron, service, applicatie of verbindingskwaliteit.

Sophos Firewall deelt dynamisch geleerde routes in de globale Route Precedence in bij de categorie static. Wanneer een OSPF-route concurreert met een SD-WAN- of VPN-route, moet daarom ook de Route Precedence bij de gewenste pakketstroom passen. Binnen OSPF bepaalt daarentegen de Cost de keuze.

OSPFv2 verwerkt IPv4. OSPFv3 vervult dezelfde taak voor IPv6, maar wordt op Sophos Firewall apart geconfigureerd.

De voorbeeldtopologie plannen

De voorbeeldwaarden vertegenwoordigen twee locaties:

  • Firewall A: Router ID 192.0.2.10, transit-IP 198.51.100.1/30, lokaal LAN 10.10.10.0/24
  • Firewall B: Router ID 192.0.2.20, transit-IP 198.51.100.2/30, lokaal LAN 10.20.20.0/24
  • Transitnetwerk: 198.51.100.0/30
  • OSPF Area: 0.0.0.0

De adressen 192.0.2.0/24 en 198.51.100.0/24 zijn documentatienetwerken. Vervang ze door de werkelijke waarden van de omgeving.

De Router ID ziet eruit als een IPv4-adres, maar hoeft niet aan een interface te zijn toegewezen. Belangrijk is dat deze binnen de OSPF-domain uniek is en permanent stabiel blijft. 0.0.0.0 is niet toegestaan. Zonder eigen waarde gebruikt SFOS het hoogste interfaceadres; een bewust gekozen Router ID voorkomt dat de identiteit onverwacht verschuift na een interfacewijziging.

Voor deze eenvoudige opbouw volstaat Backbone Area 0.0.0.0. Meerdere Areas zijn pas zinvol wanneer een grotere routingdomain bewust moet worden ingedeeld en samengevat. Elke aanvullende Area heeft een verbinding met de Backbone Area nodig.

OSPF veilig voorbereiden

Voordat OSPF wordt geconfigureerd, moet aan de volgende voorwaarden zijn voldaan:

  • De firewall draait in Gateway Mode. OSPF is niet beschikbaar in Transparent Mode.
  • Beide transit-IP’s bevinden zich in hetzelfde netwerk en kunnen elkaar rechtstreeks bereiken, bijvoorbeeld met Ping.
  • Interface, subnetmasker, MTU en zone zijn gedocumenteerd.
  • Router ID, Area, Authentication, Hello interval en Dead interval zijn aan beide zijden afgestemd.
  • Er zijn een configuratieback-up en een onafhankelijke managementtoegang beschikbaar.
  • Voor beide LAN’s zijn passende firewallregels en retourpaden gepland.

Een apart transit-VLAN en een aparte transitzone vereenvoudigen de beveiliging. De basisprincipes worden uitgelegd in Zones en interfaces op Sophos Firewall configureren.

Dynamic Routing gericht vrijgeven

Onder Administration > Device access is Dynamic Routing standaard voor alle zones uitgeschakeld. Voor het voorbeeld wordt de service alleen geactiveerd in de eigen transitzone waaraan het netwerk 198.51.100.0/30 is gekoppeld.

Het selectievakje in de Device Access-matrix geldt voor de hele zone en niet alleen voor één interface. Als de transitinterface de zone deelt met andere netwerken, moet een Local Service ACL Exception de service beperken tot het transitnetwerk en de bedoelde peers.

Deze vrijgave betreft OSPF-pakketten naar de firewall zelf. Daarvoor is geen normale firewallregel nodig. Het eigenlijke dataverkeer tussen 10.10.10.0/24 en 10.20.20.0/24 heeft desondanks passende IPv4-firewallregels nodig. Het onderscheid tussen lokale services en doorgestuurd verkeer wordt uitgelegd in Device Access op Sophos Firewall beveiligen.

OSPFv2 configureren in WebAdmin

Voer de volgende stappen uit op beide firewalls. Alleen Router ID, transit-IP en lokaal LAN verschillen.

1. Globale instellingen configureren

Onder Routing > OSPF worden de globale waarden ingesteld:

  • Router ID: op Firewall A 192.0.2.10, op Firewall B 192.0.2.20
  • Default metric: op 20 laten staan, tenzij er een bewuste waarde voor geredistribueerde routes is vastgesteld
  • ABR type: voor een nieuwe standaardopbouw Standard
  • Auto-cost reference-bandwidth: op de standaardwaarde 100000 Mbps laten staan zolang de kostenplanning geen andere gemeenschappelijke referentiewaarde vereist
  • Default-information originate: Never zolang de firewall niet uitdrukkelijk een Default Route aan alle OSPF-buren moet distribueren
  • Redistribute connected, static, RIP en BGP: aanvankelijk uitgeschakeld laten

Pas daarna de globale configuratie toe met Apply.

De Default Metric geldt voor routes die vanuit andere bronnen in OSPF worden opgenomen. De Interface Cost bepaalt daarentegen de padkeuze binnen de OSPF-topologie. Een lagere Cost wint.

Default-information originate: Always mag niet als snelle schakelaar voor internetfailover worden gebruikt. De firewall zou daarmee ook een Default Route adverteren wanneer deze zelf geen Default Route heeft. Regular adverteert deze alleen wanneer er een Default Route in de routingtabel staat.

2. Backbone Area aanmaken

Klik onder Areas op Add en stel de volgende waarden in:

  • Area: 0.0.0.0
  • Type: Normal

Kies bij de Area als Authentication Type Text of MD5. Als de peer MD5 ondersteunt, heeft dit de voorkeur boven de variant met platte tekst. De bijbehorende Key ID en sleutel worden later op de transitinterface ingevoerd. MD5 authenticeert de OSPF-pakketten, maar versleutelt de uitgewisselde routinginformatie niet.

Sla de Area vervolgens op met Save.

3. Transitnetwerk toevoegen

Klik onder Networks op Add:

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

Op Firewall A valt het adres 198.51.100.1 binnen dit Network, op Firewall B 198.51.100.2. Daardoor draait OSPF op de betreffende transitinterfaces en kunnen de twee firewalls een buurrelatie vormen.

Sla de Network-invoer op met Save.

Het lokale LAN wordt niet simpelweg als vermeend extern doel ingevoerd. Een aanvullende Network-invoer kan het wel zonder buur adverteren, maar activeert OSPF tegelijkertijd op de bijbehorende LAN-interface. Als daar geen OSPF-routers zijn gepland, begrenst selectieve Redistribution de advertentie netter.

4. Interfacewaarden alleen bewust overschrijven

Onder Override interface configuration kan de transitinterface worden geselecteerd. De standaardwaarden zijn geschikt voor veel Ethernet-verbindingen:

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

Hello en Dead moeten op alle routers in het segment identiek zijn. Retransmit Interval en Transmit Delay worden lokaal ingesteld. Cost en Router Priority mogen bewust verschillen: de Cost bepaalt het voorkeursdatapad, terwijl de Priority in broadcastnetwerken de selectie van DR en BDR beïnvloedt. Een Priority van 0 sluit de interface van deze selectie uit.

Bij een gelijke Priority beslist de Router ID, maar een lopende DR-selectie is niet-preëmptief. Een handmatig ingestelde Cost is zinvol wanneer bij meerdere paden één pad de voorkeur moet krijgen. Bij Auto berekent SFOS de Cost uit de globale Reference Bandwidth en de geconfigureerde interfacesnelheid. Wanneer de linksnelheid onder Network > Interfaces wordt gewijzigd, gebruikt OSPF de nieuwe Auto-Cost pas nadat de firewall opnieuw is opgestart.

Bij MD5-authenticatie wordt in de Area Authentication Type MD5 geselecteerd. Vervolgens worden op de transitinterface aan beide zijden dezelfde Key ID van 0 tot 255 en dezelfde sleutel ingevoerd.

Sla gewijzigde interfacewaarden op met Save.

5. Alleen de benodigde LAN’s adverteren

Voor het voorbeeld moet Firewall A 10.10.10.0/24 en Firewall B 10.20.20.0/24 adverteren. Daarvoor bestaan twee fundamenteel verschillende methoden:

  • Een OSPF Network activeert OSPF op de bijbehorende lokale interface. Dit is geschikt wanneer daar andere OSPF-routers een buurrelatie moeten vormen.
  • Redistribution neemt een route uit een andere routingbron over in OSPF. Zo kan een rechtstreeks verbonden LAN worden geadverteerd zonder dat daar een OSPF-buurschap nodig is.

In het voorbeeld worden beide LAN’s selectief geredistribueerd, omdat op hun interfaces geen andere OSPF-routers een buurrelatie moeten vormen.

De optie Redistribute connected in WebAdmin neemt alle rechtstreeks verbonden netwerken over. Op een productiefirewall kunnen dit ook WAN-, management-, DMZ-, VPN- en andere VLAN-netwerken zijn. Daarom mag het selectievakje niet zonder controle worden geactiveerd.

Voor een selectieve advertentie kan in de OSPF-CLI een ACL met een Route Map worden gebruikt. Na de SSH-aanmelding loopt het pad via 3. Route Configuration > 1. Configure Unicast Routing > 2. Configure OSPF. Het volgende voorbeeld op Firewall A staat alleen het lokale LAN 10.10.10.0/24 toe:

enable
configure terminal
access-list ospf-connected-out permit 10.10.10.0/24
route-map ospf-connected-filter permit 10
match ip address ospf-connected-out
exit
router ospf
redistribute connected route-map ospf-connected-filter
exit
write
show running-config

Gebruik op Firewall B in de access-list in plaats daarvan 10.20.20.0/24. De ACL heeft impliciet een afsluitende Deny-regel; Connected Routes die niet uitdrukkelijk zijn toegestaan, worden daarom niet via deze Route Map geredistribueerd.

De globale WebAdmin-optie Redistribute connected blijft bij deze werkwijze uitgeschakeld. Controleer na latere wijzigingen aan de globale OSPF-configuratie opnieuw show running-config, omdat WebAdmin conflicterende geavanceerde CLI-instellingen kan verwijderen.

Ook Redistribute static vereist doelbewuste filtering. Deze optie omvat onder meer statische Blackhole-routes die anders onbedoeld aan naburige routers kunnen worden doorgegeven.

OSPF controleren en valideren

Een buurrelatie alleen bewijst nog niet dat het gewenste LAN bereikbaar is. De validatie loopt daarom van de OSPF-laag tot aan de werkelijke pakketstroom.

  1. Onder Routing > Information > OSPF > Neighbors moet de peer met zijn Router ID verschijnen. Full geeft aan dat de relevante Link-State-informatie volledig is uitgewisseld.
  2. Onder Routes moet Firewall A 10.20.20.0/24 via 198.51.100.2 zien. Firewall B verwacht 10.10.10.0/24 via 198.51.100.1.
  3. Onder Interface worden Area, Router ID, Cost, Timer, Network Type en MTU gecontroleerd.
  4. Onder Diagnostics > Tools > Route lookup wordt een concrete bestemming gecontroleerd, bijvoorbeeld 10.20.20.10 op Firewall A.
  5. Test daarna een echte verbinding tussen een host uit elk LAN. Log Viewer en Packet Capture moeten de verwachte firewallregel, de transitinterface en het retourverkeer tonen.

Bij de laatste twee stappen helpt Een Sophos Firewall-regel testen met Log Viewer en Packet Capture.

Voor een aanvullende controle via SSH loopt het CLI-pad via 3. Route Configuration > 1. Configure Unicast Routing > 2. Configure OSPF:

enable
show ip ospf interface
show ip ospf database
show ip ospf neighbor
show ip ospf route

Met deze opdrachten kunnen de betrokken interfaces, de Link-State Database, de Neighbor-status en de door OSPF berekende routes gezamenlijk worden gedocumenteerd.

In de Advanced Shell bieden de OSPF- en kernellogs aanvullende context. De toegang verloopt via 5. Device Management > 3. Advanced Shell:

cd /log
tail -f ospfd.log

Stop de live-uitvoer met Ctrl+C. Daarna kan de tweede log worden gecontroleerd:

tail -f zebra.log

ospfd.log toont OSPF-gebeurtenissen. zebra.log helpt te controleren of een dynamisch geleerde route in de kernel is opgenomen. Wie niet live wil meelezen, gebruikt bijvoorbeeld less /log/ospfd.log. Sophos Firewall-service- en logbestanden koppelt meer bestanden aan de verantwoordelijke services.

Fouten systematisch afbakenen

Er verschijnt geen Neighbor

Controleer eerst de directe bereikbaarheid van de transit-IP’s. Daarna moeten de transitinterface up zijn, het OSPF Network overeenkomen met het lokale interface-IP en Dynamic Routing in de juiste zone zijn geactiveerd. Area, subnetmasker, Authentication Type, Key ID, sleutel, Hello en Dead moeten aan beide zijden overeenkomen. Dubbele Router ID’s verhinderen eveneens een correcte opbouw.

Neighbor blijft op Init of 2-Way

Init betekent dat Hello-pakketten aankomen, maar dat de communicatie nog niet in beide richtingen is bevestigd. Device Access, asymmetrische filters, interfacetoewijzing en retourpad zijn dan de eerste controlepunten.

2-Way is in een broadcastnetwerk normaal tussen twee routers wanneer beide noch DR noch BDR zijn. In het voorbeeld met precies twee OSPF-routers en Priority 1 worden beide deelnemers DR en BDR; hun buurrelatie moet daarom Full bereiken. Als deze op 2-Way blijft, controleer dan Router Priority, Network Type en de peer.

Neighbor blijft op ExStart, Exchange of Loading

In deze toestanden is de synchronisatie van de Link-State Database begonnen, maar wordt deze niet voltooid. Veelvoorkomende oorzaken zijn verschillende MTU-waarden, niet-overeenkomende Network Types, dubbele Router ID’s of instabiele verbindingen. Onder Routing > Information > OSPF > Interface staan MTU, MTU Mismatch Detection, Network Type en Timer klaar voor vergelijking.

Neighbor is Full, maar het externe LAN ontbreekt

Dan werkt de buurrelatie, maar wordt het LAN niet geadverteerd of door de filtering niet toegestaan. Op de verzendende firewall moeten Connected Route, ACL, Route Map en redistribute connected route-map overeenkomen met de gewenste prefix. show running-config toont de opgeslagen OSPF-configuratie.

Als in plaats daarvan Redistribute connected in WebAdmin is geactiveerd, moet niet alleen het ontbrekende LAN, maar ook de volledige lijst van alle daardoor geadverteerde netwerken worden gecontroleerd.

De route bestaat, maar het verkeer werkt niet

OSPF heeft zijn taak vervuld wanneer de route met de juiste Next Hop aanwezig is. Fouten bevinden zich daarna meestal in de firewallregel, NAT, Route Precedence, het retourpad of het doelsysteem. Bij normaal gerouteerde locatienetwerken is doorgaans geen SNAT nodig, omdat beide firewalls de LAN’s via OSPF moeten kennen.

OSPF via route-based IPsec

OSPF kan ook over een XFRM-interface van een route-based Site-to-Site IPsec-tunnel lopen. Bij een Any-to-Any- of Dual-Stack-tunnel krijgen de XFRM-interfaces aan beide zijden unieke IP-adressen uit hetzelfde transitnetwerk. Bij specifieke Traffic Selectors is deze adressering niet mogelijk.

Voor deze variant geldt bovendien:

  • Dynamic Routing wordt onder Administration > Device access toegestaan voor de VPN-zone.
  • Het XFRM-transitnetwerk wordt ingevoerd als OSPF Network.
  • Voor het gebruikersverkeer zijn passende IPv4- respectievelijk IPv6-firewallregels voor de VPN-zone nodig.
  • Hello, Dead, Authentication en MTU moeten bij de peer passen.
  • Vergelijk het weergegeven OSPF Network Type aan beide zijden. Een verschil kan de opbouw van de buurrelatie verhinderen; als dit niet in WebAdmin kan worden gecorrigeerd, moet de peer worden aangepast of Sophos Support worden ingeschakeld.

Een groene IPsec-tunnel en een OSPF Neighbor op Full zijn afzonderlijke controlepunten. Pas de geleerde route en een werkelijke pakketstroom bevestigen de volledige opbouw.

In een HA-cluster kan OSPF na een failover opnieuw convergeren. Test daarom een geplande failover en controleer daarna op de actieve Node of Neighbor, routes en ospfd.log en zebra.log opnieuw de verwachte toestand tonen.

OSPFv3 voor IPv6

Onder Routing > OSPFv3 wordt IPv6-routing onafhankelijk van OSPFv2 geconfigureerd. De Router ID blijft daarbij een unieke waarde in IPv4-notatie.

Anders dan bij OSPFv2 wordt niet eerst een Network ingevoerd. Onder Interfaces selecteert men de IPv6-geschikte interface en wijst men deze toe aan een Area. Voor een eenvoudige opbouw wordt ook hier Area 0.0.0.0 gebruikt. Hello en Dead moeten in het segment overeenkomen; Cost, Retransmit, Transmit Delay en Router Priority worden passend bij de eigen topologie ingesteld. SFOS ondersteunt momenteel per interface slechts één OSPFv3-instance met de standaard-Instance-ID 0.

Sophos Firewall ondersteunt voor OSPFv3 momenteel geen Authentication. De uitwisseling mag daarom alleen via vertrouwde of al beveiligde links plaatsvinden. Een bestaande OSPFv2-configuratie adverteert geen IPv6-netwerken en voor IPv6-gebruikersverkeer zijn aparte IPv6-firewallregels nodig.

In WebAdmin kunnen rechtstreeks verbonden IPv6-netwerken en BGP-IPv6-routes voor OSPFv3 worden geredistribueerd. Ook hier omvat Redistribute connected alle rechtstreeks verbonden IPv6-netwerken en mag daarom niet algemeen worden geactiveerd.

De validatie vindt plaats onder Routing > Information > OSPFv3; bij fouten biedt ospf6d.log protocolspecifieke context.

De wijziging veilig terugdraaien

Voordat OSPF wordt verwijderd, moet voor elk geleerd bestemmingsnetwerk een alternatief pad of een gepland onderhoudsvenster beschikbaar zijn. Verwijder eerst de Redistribution van het lokale LAN, daarna het transit-Network en schakel ten slotte Dynamic Routing voor de zone uit. Controleer vervolgens opnieuw Route Lookup, routingtabel en managementtoegang.

Als alleen een onjuiste Cost, Timer of filter wordt teruggedraaid, wijzig dan altijd slechts deze ene instelling. Zo blijft duidelijk of de OSPF-buurschap, de routeadvertentie of pas het gebruikersverkeer werd beïnvloed.