Sophos Firewall BGP configureren en controleren
BGP wisselt geselecteerde routes tussen routers uit. Op een Sophos Firewall is dit vooral zinvol bij meerdere locaties, redundante verbindingen en AWS- of Azure-VPN’s. Voor één doelnetwerk met een vaste Next Hop blijft een statische route meestal eenvoudiger.
In het volgende voorbeeld bouwen twee Sophos Firewalls via een transitnetwerk een eBGP-sessie op. Aan het einde staat de Neighbor op Established, kent Firewall A het LAN achter Firewall B en omgekeerd.
⚠️
Dynamic Routingmag alleen voor de bedoelde tegenpartij bereikbaar zijn. Een wijziging van de Router ID onderbreekt alle BGP-sessies; een wijziging van de Local AS verwijdert bovendien alle geconfigureerde Neighbors en Networks. Beide wijzigingen horen daarom in een gepland onderhoudsvenster met een actuele back-up.
BGP in zeven stappen
Voor een eenvoudige IPv4-opstelling zijn de volgende stappen nodig:
- Transit-IP’s, lokale en externe ASN’s en de te adverteren netwerken vastleggen.
- De directe IP-bereikbaarheid tussen beide BGP-peers controleren.
- Onder
Administration > Device accessDynamic Routing alleen voor de peerzone of via een strikte Local Service ACL Exception toestaan. - Onder
Routing > BGPRouter ID en Local AS instellen. - Het peer-IP als Neighbor met de Remote AS toevoegen.
- Alleen de benodigde lokale prefixen onder Networks invoeren.
- Onder
Routing > Information > BGP-IPv4de State Established, de geleerde route en vervolgens echt verkeer controleren.
Wat BGP op de firewall beslist
BGP beantwoordt de vraag welke netwerken via welke router bereikbaar zijn. Daarvoor heeft elke deelnemer enkele duidelijk gescheiden waarden nodig:
- De Local AS duidt het eigen autonome systeem aan. Twee verschillende ASN’s vormen een eBGP-verbinding; dezelfde ASN aan beide kanten zou iBGP zijn.
- De Remote AS is de ASN van de tegenpartij.
- De Router ID identificeert de BGP-router binnen de BGP-topologie. Deze ziet eruit als een IPv4-adres, maar hoeft geen interfaceadres te zijn en moet uniek en stabiel blijven.
- Een Neighbor is het direct bereikbare peer-IP waarmee de BGP-sessie wordt opgebouwd.
- Een Network is een lokaal prefix dat de firewall aan de tegenpartij moet adverteren.
BGP staat geen gegevensverkeer toe en versleutelt dit niet. De BGP-sessie zelf wordt via TCP 179 opgebouwd en via Device Access of een Local Service ACL naar de firewall toegestaan. Het gegevensverkeer over een geleerde route vereist nog steeds passende firewallregels, een werkende retourroute en afhankelijk van het ontwerp een bewuste NAT-configuratie.
Voor dynamische routing binnen één samenhangend intern routingdomein ligt OSPF vaak meer voor de hand. BGP past beter tussen verschillende autonome systemen, naar cloudproviders of wanneer routes gericht met beleid moeten worden beïnvloed.
Voorbeeldtopologie plannen
Het voorbeeld gebruikt twee locaties:
- Firewall A: Local AS
65010, Router ID192.0.2.10, transit-IP198.51.100.1/30, LAN10.10.10.0/24 - Firewall B: Local AS
65020, Router ID192.0.2.20, transit-IP198.51.100.2/30, LAN10.20.20.0/24 - Transitnetwerk:
198.51.100.0/30
De reeksen 192.0.2.0/24 en 198.51.100.0/24 zijn documentatienetwerken. Ze worden vervangen door de werkelijke waarden van de omgeving. De twee private ASN’s zijn geschikt voor een intern voorbeeld; bij een verbinding met AWS, Azure of een provider worden de ASN- en peerwaarden gebruikt die de tegenpartij opgeeft.
De Router ID moet bewust worden gekozen, uniek en stabiel zijn. Bij Automatic gebruikt SFOS het hoogste interface-IP. Als dit later verandert, kan ook de identiteit van de router onverwacht wijzigen. Een handmatig ingestelde waarde voorkomt deze afhankelijkheid.
BGP veilig voorbereiden
Vóór de configuratie moet aan de volgende punten zijn voldaan:
- De firewall draait in Gateway Mode. In Transparent Mode is BGP niet beschikbaar.
- Beide transit-IP’s kunnen elkaar direct bereiken. Bij een XFRM-tunnel moet ook de tunnelinterface up zijn.
- Local AS, Remote AS, peer-IP’s en toegestane prefixen zijn met de tegenpartij afgestemd.
- De te adverteren netwerken bestaan al als passende routes in de lokale routingtabel.
- Er zijn een actuele configuratieback-up en een onafhankelijke managementtoegang beschikbaar.
- Firewallregels en retourroutes voor het latere gegevensverkeer zijn gepland.
De basis voor transitinterface en zone wordt uitgelegd in Sophos Firewall zones en interfaces configureren. Vóór een wijziging in een productieve routingomgeving moet bovendien een actuele firewallback-up buiten de appliance beschikbaar zijn.
Dynamic Routing gericht toestaan
Onder Administration > Device access is Dynamic Routing standaard voor alle zones uitgeschakeld. Voor een afzonderlijk netwerk dat uitsluitend als transitnetwerk wordt gebruikt, kan de service in die zone worden geactiveerd.
Deelt de peerinterface zijn LAN- of WAN-zone met andere netwerken, dan is een Local Service ACL Exception voor het concrete peer-IP of het beperkte transitnetwerk veiliger dan brede toestemming voor de zone. Maak hiervoor onder Administration > Device access > Local service ACL exception rule > Add een Accept-regel voor de peerzone, het concrete peer-IP of het beperkte transitnetwerk, het benodigde firewalladres en de service Dynamic Routing. Test daarna de toegang vanaf het toegestane peer-IP en vanaf een niet-toegestane bron.
Device Access regelt alleen de BGP-verbinding naar de firewall. De productieve verbindingen tussen beide LAN’s hebben daarna normale firewallregels nodig. De scheiding wordt uitgelegd in Device Access op Sophos Firewall beveiligen.
BGP in WebAdmin configureren
De volgende stappen worden op beide firewalls uitgevoerd. Alleen de lokale en externe waarden worden omgewisseld.
1. Router ID en Local AS instellen
Voer onder Routing > BGP in Global configuration op Firewall A de volgende waarden in:
Als er al een BGP-configuratie bestaat, moet de actuele stand vóór het toepassen worden gedocumenteerd: een gewijzigde Router ID reset alle BGP-sessies; een gewijzigde Local AS verwijdert alle Neighbors en Networks. Pas zulke wijzigingen alleen in een gepland onderhoudsvenster toe.
- Router ID assignment:
Manual - Router ID:
192.0.2.10 - Local AS:
65010
Op Firewall B worden eveneens Manual, 192.0.2.20 en 65020 gebruikt. Pas daarna de globale configuratie toe.
De Local AS accepteert waarden van 1 tot 4294967295. Voor interne omgevingen zonder openbare ASN noemt Sophos het private bereik 64512 tot 65535.
2. Tegenpartij als Neighbor toevoegen
Klik onder Routing > BGP > Neighbors op Add en voer op Firewall A het volgende in:
- IP version:
IPv4 - IP address:
198.51.100.2 - Remote AS:
65020
Firewall B gebruikt 198.51.100.1 als Neighbor en 65010 als Remote AS. Sla beide configuraties daarna op met Save.
Het Neighbor-adres is niet het externe LAN en niet de Router ID, maar het direct bereikbare transit-IP van de tegenpartij. Als dit IP niet bereikbaar is of de ASN’s zijn verwisseld, kan de sessie de status Established niet bereiken.
3. Lokaal LAN adverteren
Klik onder Routing > BGP > Networks op Add. Firewall A adverteert:
- IP version:
IPv4 - IP address:
10.10.10.0 - Subnet mask:
255.255.255.0 (/24)
Op Firewall B worden in plaats daarvan 10.20.20.0 en 255.255.255.0 (/24) ingevoerd.
Een Network maakt geen route aan. Het prefix moet al exact in de lokale routingtabel aanwezig zijn, bijvoorbeeld als direct verbonden netwerk of statische route. Als het ontbreekt of het masker niet overeenkomt, kan de BGP-sessie wel Established zijn, maar wordt het Network niet geadverteerd.
Alleen werkelijk benodigde prefixen mogen worden ingevoerd. Een algemene redistribution van direct verbonden of statische routes kan ook WAN-, management- of Blackhole-netwerken omvatten en hoort alleen met gecontroleerde filtering in productie.
BGP controleren en valideren
Een opgebouwde sessie alleen bevestigt nog geen werkende pakketstroom. De validatie vindt daarom op meerdere niveaus plaats:
- Onder
Routing > Information > BGP-IPv4 > Neighborsmoet de tegenpartij in de State Established verschijnen. - Onder Routes verwacht Firewall A het prefix
10.20.20.0/24; Firewall B verwacht10.10.10.0/24. - Onder Summary worden de sessie en het aantal ontvangen prefixen gecontroleerd.
- Onder
Diagnostics > Tools > Route lookupwordt op Firewall A bijvoorbeeld het doel10.20.20.10gecontroleerd. - Daarna volgt een test met een echte service tussen een host uit elk LAN. Log Viewer en Packet Capture moeten de verwachte regel, de juiste transitinterface en het retourverkeer tonen.
Een Neighbor met de status Established bewijst alleen dat de BGP-uitwisseling werkt. Pas de geleerde route, de correcte Route Lookup en een echte verbinding bevestigen de volledige opstelling. Voor het controleren van de pakketstroom helpt Sophos Firewall-regels met Log Viewer en Packet Capture testen.
Hetzelfde voorbeeld via de CLI
Als alternatief voor WebAdmin kan dezelfde basisconfiguratie na aanmelding via SSH in de BGP-CLI worden ingevoerd. De volgende opdrachten worden niet aanvullend uitgevoerd in een voorbeeldomgeving die al volledig is geconfigureerd. Het menupad is:
3. Route Configuration > 1. Configure Unicast Routing > 3. Configure BGP
Op Firewall A ziet het volledige voorbeeld er als volgt uit:
enable
configure terminal
router bgp 65010
bgp router-id 192.0.2.10
neighbor 198.51.100.2 remote-as 65020
address-family ipv4 unicast
network 10.10.10.0/24
exit
show running-config
write
end
Op Firewall B worden Local AS, Router ID, Neighbor, Remote AS en Network vervangen door respectievelijk 65020, 192.0.2.20, 198.51.100.1, 65010 en 10.20.20.0/24.
show running-config dient ter controle. write slaat de CLI-configuratie permanent op, maakt de vermeldingen zichtbaar in WebAdmin en behoudt ze na een herstart. Zonder write is de wijziging niet volledig afgerond.
De officieel gedocumenteerde aanvullende controle luidt:
show ip bgp
Deze opdracht toont de bekende BGP-prefixen en hun padinformatie. Neighbor-state en Summary worden betrouwbaar gecontroleerd onder Routing > Information > BGP-IPv4.
⚠️ Meng geavanceerde CLI-configuratie en WebAdmin niet ongecontroleerd. Als een Neighbor in WebAdmin wordt bewerkt, kunnen aanvullende CLI-waarden zoals een Neighbor-wachtwoord of Route Map worden verwijderd. Zodra dergelijke instellingen worden gebruikt, moet eerst
show running-configworden opgeslagen en de BGP-configuratie verder via de CLI worden beheerd.
Route Precedence en BGP-padselectie
system route_precedence beslist niet tussen BGP en een statische route. De globale instelling rangschikt alleen de categorieën static, sdwan_policyroute en vpn; BGP en andere dynamische routes behoren daarbij tot de categorie static.
Tussen verschillende routingprotocollen beslist onder meer de Administrative Distance. Binnen BGP worden BGP-attributen geëvalueerd. Sophos noemt bijvoorbeeld een hogere Weight als voorkeur; bij verder vergelijkbare paden krijgt een lagere MED de voorkeur.
De actuele globale volgorde kan in 4. Device Console worden weergegeven:
system route_precedence show
Deze mag alleen worden gewijzigd wanneer daadwerkelijk routingcategorieën concurreren. De samenhang en veilige voorbeelden worden uitgelegd in Routing-prioriteit op Sophos Firewall aanpassen.
BGP via route-based IPsec en Cloud VPN
BGP kan over een geadresseerde XFRM-interface van een route-based Site-to-Site IPsec-tunnel lopen. Daarvoor krijgen beide XFRM-interfaces passende transit-IP’s. Dynamic Routing wordt gericht voor de VPN-zone toegestaan; regels voor het gegevensverkeer blijven desondanks noodzakelijk.
Bij cloudverbindingen worden de waarden niet vrij gekozen:
- Voor AWS Site-to-Site VPN komen Inside-Tunnel-adressen, Remote AS en andere tunnelwaarden uit de AWS-configuratie. Beide AWS-tunnels worden afzonderlijk gecontroleerd.
- Bij Azure VPN Gateway moet het lokale XFRM-IP overeenkomen met het bedoelde BGP-peer-IP; lokale en Azure-ASN moeten verschillend zijn.
Een groene IPsec-tunnel en een BGP Neighbor met de status Established zijn twee afzonderlijke controlepunten. Daarna moeten de verwachte prefixen en echt applicatieverkeer werken.
Fouten systematisch afbakenen
Neighbor blijft op Active of wordt niet weergegeven
Active betekent niet dat de sessie actief werkt. De firewall blijft proberen een BGP-verbinding op te bouwen. Controleer eerst de directe bereikbaarheid van het peer-IP, de interface- en tunnelstatus, Local AS, Remote AS en het Neighbor-IP. Controleer daarna of Dynamic Routing in de juiste zone of via een passende Local Service ACL Exception is toegestaan.
Controleer bij XFRM bovendien of beide tunneladressen correct zijn en de IPsec-tunnel up is. Controleer bij cloud- en XFRM-opstellingen ook de regels die in het betreffende VPN-ontwerp zijn voorzien. Als hun Services beperkt zijn, moet TCP 179 tussen beide peer-IP’s zijn opgenomen. Device Access of de Local Service ACL voor de lokale BGP-service blijft hiervan gescheiden.
Neighbor is Established, maar het externe netwerk ontbreekt
De sessie werkt dan, maar het prefix wordt niet geadverteerd of niet geaccepteerd. Op de verzendende firewall moet het Network met exact hetzelfde masker in de lokale routingtabel aanwezig zijn. Controleer daarna Networks, filters en show running-config. Een ontbrekende lokale route moet worden hersteld en niet worden verhuld door een uitgeschakelde BGP Network Import Check.
Ontbreekt na een upgrade naar SFOS 22 een netwerk achter een policy-based IPsec-tunnel, dan kan de vroegere afhankelijkheid van redistribute kernel de oorzaak zijn. De BGP-sessie kan daarbij Established blijven; SFOS 22: IPsec-routes en redistribute kernel legt de versiewijziging en het route-based XFRM-doelontwerp uit.
De BGP-route is zichtbaar, maar wordt niet gebruikt
Controleer eerst met Route Lookup welke route voor een concrete doel-IP wint. Een specifiekere route heeft voorrang op een breder prefix. Als meerdere bronnen concurreren, moeten Administrative Distance, BGP-attributen en pas daarna de globale Route-Precedence-categorie afzonderlijk worden beoordeeld.
De route klopt, maar het verkeer werkt niet
BGP heeft zijn taak vervuld zodra de correcte route is geïnstalleerd. Daarna liggen fouten meestal bij de firewallregel, NAT, retourroute of het doelsysteem. Bij normaal gerouteerde locatienetwerken is vaak geen SNAT nodig, omdat beide kanten de echte LAN-prefixen moeten kennen.
Geavanceerde instellingen zijn na een WebAdmin-bewerking verdwenen
WebAdmin geeft alleen de basiswaarden weer. Als een Neighbor daar na een geavanceerde CLI-configuratie is opgeslagen, kunnen het wachtwoord, de Route Map of gewijzigde standaardwaarden zijn verwijderd. Vergelijk de opgeslagen stand, herstel de waarden via de CLI en sla ze op met write.
BGP- en routinglogs controleren
In 5. Device Management > 3. Advanced Shell tonen twee logbestanden de verschillende niveaus:
tail -f /log/bgpd.log
bgpd.log registreert BGP- en BGPv6-gebeurtenissen. De doorlopende uitvoer wordt beëindigd met Ctrl+C. Als BGP een route kent, maar deze niet in het systeem verschijnt, volgt:
tail -f /log/zebra.log
Wie niet live wil meekijken, gebruikt bijvoorbeeld:
less /log/bgpd.log
Bij route-based IPsec kan bovendien /log/xfrmi.log de status van de XFRM-interface verklaren. De indeling van andere bestanden staat in Sophos Firewall services en logbestanden.
Wijziging veilig terugdraaien
Voordat BGP wordt verwijderd, moet voor elk geleerd doelnetwerk een alternatief pad of een onderhoudsvenster beschikbaar zijn. Eerst worden de betrokken Networks en Neighbors verwijderd; daarna wordt de globale BGP-configuratie alleen gewijzigd als geen andere peers ervan afhankelijk zijn. Dynamic Routing mag pas worden uitgeschakeld wanneer de zone geen andere dynamische routingservice meer nodig heeft.
Daarna worden Routing Information, Route Lookup, managementtoegang en echt verkeer opnieuw gecontroleerd. Een rollback is pas voltooid wanneer niet alleen de BGP-sessie verdwenen is, maar alle benodigde doelnetwerken via het bedoelde vervangende pad bereikbaar blijven.