IPsec-route aanmaken op Sophos Firewall
Een handmatige ipsec_route hoort bij policy-based IPsec. Deze koppelt een doelhost of doelnetwerk aan een bestaande policy-based tunnel. De route breidt Traffic Selectors echter niet uit en vervangt noch firewall- en NAT-regels, noch het retourpad op de externe peer.
Voor route-based IPsec is dit commando ongeschikt. Bij een Any-to-any-tunnel krijgt de XFRM-interface een IP-adres; statische, SD-WAN- of dynamische routes bepalen vervolgens het pad. Bij een route-based tunnel met Traffic Selectors maakt SFOS de route automatisch aan. Aan de bijbehorende XFRM-interface kunt u geen IP-adres of aangepaste routes toewijzen.
⚠️ Een te brede route of een route die aan de verkeerde tunnel is toegewezen, kan productieverkeer omleiden. Leg vóór de wijziging de beginsituatie vast en houd het exacte verwijderingscommando gereed.
Wanneer een handmatige IPsec-route geschikt is
Het typische geval is doorgestuurd verkeer waarvan het adres door DNAT of SNAT wordt gewijzigd. NAT verandert het adres, maar niet de routeringsbeslissing. Daarom kan een aanvullende route naar het externe netwerk nodig zijn.
Controleer het volgende voordat u het commando uitvoert:
- De verbinding onder Site-to-site VPN > IPsec > IPsec connections is policy-based.
- De lokale en externe Traffic Selectors omvatten de adressen die na NAT daadwerkelijk aan de IPsec-verwerking worden aangeboden.
- De firewall- en NAT-regels komen overeen met het gedefinieerde testverkeer. Bij SNAT voor policy-based IPsec staat Outbound interface op
Any. - De externe peer verwacht het zichtbare bronadres en heeft een retourroute via dezelfde tunnel.
- Een bestaande statische of SD-WAN-route en de globale Route Precedence leiden het doel niet via een ander pad.
Een handmatige route corrigeert geen onjuist netmasker, niet-overeenkomende selector of blokkerende regel. Een site-to-site IPsec-VPN op Sophos Firewall instellen licht de tunneltypen toe.
De beginsituatie vastleggen in de Device Console
Open in WebAdmin admin > Console en kies 4. Device console. Via SSH leidt Verbinding maken met Sophos Firewall via SSH naar hetzelfde menu.
Toon eerst de bestaande handmatige IPsec-routes en de globale volgorde:
system ipsec_route show
system route_precedence show
Sla de uitvoer op, samen met de tunnelnaam, Traffic Selectors, Firewall Rule ID, NAT Rule ID en de geplande teststroom. Onder SFOS 22 behoren automatisch gegenereerde policy-based VPN-routes en handmatige ipsec_route-vermeldingen tot de categorie vpn. Deze routes zijn niet zichtbaar in de routeringstabel van WebAdmin; ip route show table 220 is daarom geen betrouwbaar tegenbewijs.
Wijzig Route Precedence niet als neventaak. Deze instelling is globaal en beïnvloedt andere verbindingen. Als zij werkelijk moet worden gewijzigd, beschrijft Route Precedence op Sophos Firewall veilig wijzigen de afzonderlijke procedure met herstel op basis van de oorspronkelijke waarden.
De route aanmaken met een gecontroleerd NAT-voorbeeld
Sophos documenteert deze nauwkeurig afgebakende toepassing:
- Een policy-based tunnel
HO_to_Branchverbindt het lokale netwerk192.168.2.0/24met het externe netwerk192.168.3.0/24. - De werkelijke lokale server
172.16.16.10valt buiten de lokale selector. - De externe peer benadert deze als
192.168.2.1. Dit vervangende adres behoort tot de lokale selector en is in het voorbeeld het adres van de LAN-interface van de firewall.
Remote 192.168.3.0/24 → 192.168.2.1 → DNAT → Server 172.16.16.10
Server 172.16.16.10 → reflexive SNAT → 192.168.2.1 → IPsec → Remote
Vervang het netwerk, de adressen en de tunnelnaam door uw eigen waarden. Het vervangende adres moet overeenkomen met de lokale Phase 2-selectie; het externe doelnetwerk moet door de bestaande tunnel worden gedekt.
1. Het externe netwerk aan de tunnel toewijzen
Voer dit commando uit in de Device Console:
system ipsec_route add net 192.168.3.0/255.255.255.0 tunnelname HO_to_Branch
Voor net verwacht SFOS het volledige masker in decimale puntnotatie. Gebruik het kleinst mogelijke doelbereik dat de toepassing vereist. Het bijbehorende terugrolcommando is:
system ipsec_route del net 192.168.3.0/255.255.255.0
Het verwijderingscommando bevat geen tunnelnaam. Controleer daarom vóór het verwijderen met system ipsec_route show of het doel eenduidig is. Verwijder dubbelzinnige vermeldingen niet uitsluitend op basis van een vermoeden.
Voor één doelhost ondersteunt de console de volgende vorm:
system ipsec_route add host 10.33.46.69 tunnelname Azure_CH
system ipsec_route del host 10.33.46.69
Een hostroute is specifieker, maar alleen juist wanneer precies die host het doel is en de Traffic Selectors overeenkomen.
2. DNAT en reflexieve SNAT configureren
- Maak onder Rules and policies > NAT rules > Add NAT rule > New NAT rule een DNAT-regel aan. Original source is
192.168.3.0/24, Translated source blijftOriginal, Original destination is192.168.2.1en Translated destination is172.16.16.10. - Activeer Create reflexive rule.
- Open de aangemaakte regel
Reflexive_NAT#_<DNAT_rule_name>. Selecteer voor Translated source een IP-hostobject met192.168.2.1. Maak het object aan onder Hosts and services > IP host > Add. Sophos kan in deze reflexieve regel niet rechtstreeks naar een interface vertalen. - Controleer de volgorde, status en logging van beide NAT-regels en de bijbehorende firewallregel.
Voeg geen brede MASQ-regel toe en sta niet tevens toe dat de werkelijke server met zijn onvertaalde adres door de tunnel gaat. NAT op Sophos Firewall begrijpen legt matching en regelvolgorde uit.
Het gegevenspad valideren
Een groene tunnel en een ping bewijzen noch de NAT-vertaling, noch het retourpad. Definieer voor de validatie een echte toepassingsstroom, bijvoorbeeld TCP van de externe client naar de gepubliceerde serverservice.
- Voer
system ipsec_route showopnieuw uit. Het doelnetwerk moet precies één keer aan de bedoelde tunnel zijn toegewezen. - Maak een enkele gecontroleerde verbinding van
192.168.3.0/24met192.168.2.1op de toegestane dienst. - Filter Log viewer op Source, Destination en Firewall Rule ID. In de detailweergave toont
src_trans_iphet werkelijk vertaalde bronadres betrouwbaarder dan de samenvattingsweergave. - Open Monitor & analyze > Diagnostics > Packet capture en filter op de client, het vervangende adres en de werkelijke server. Rule ID en NAT ID moeten overeenkomen met de gedocumenteerde regels; de inkomende en uitgaande interfaces moeten het bedoelde pad tonen.
- Controleer op de externe peer of antwoorden van
192.168.2.1worden verwacht en via dezelfde tunnel worden teruggestuurd. - Test een naastgelegen, niet-geautoriseerde host of service. Deze negatieve test moet blijven mislukken en toont aan dat route en regels niet te breed zijn.
Alleen een actieve SA of oplopende bytetellers volstaan niet. Raadpleeg voor een volledig onderzoek Problemen met Sophos Firewall IPsec-VPN oplossen; zie voor regel- en captureanalyse Een firewallregel testen met Log Viewer, Policy Test en Packet Capture.
Wijzigingen volledig terugrollen
Beëindig eerst alle nieuwe testsessies. Herstel DNAT en reflexieve SNAT afzonderlijk naar hun gedocumenteerde eerdere toestand; een latere wijziging van de DNAT-regel verwijdert de reflexieve regel niet automatisch.
Verwijder vervolgens alleen de nieuw aangelegde route:
system ipsec_route del net 192.168.3.0/255.255.255.0
system ipsec_route show
Verwijder het nieuwe IP-hostobject pas wanneer Object usage geen verwijzing meer toont. Herhaal vervolgens de oorspronkelijke controlestroom en de negatieve test. De eerder vastgelegde Route Precedence moet ongewijzigd blijven.
Als alleen de route per ongeluk is verwijderd, herstelt het opgeslagen add-commando de exacte vermelding:
system ipsec_route add net 192.168.3.0/255.255.255.0 tunnelname HO_to_Branch
Variant: remote clients bereiken een virtueel adres
Een virtueel bestemmingsadres kan interne serveradressen voor de externe peer verbergen. Dit scenario mag niet worden verward met het bovenstaande voorbeeld van policy-based NAT: de gedocumenteerde variant gebruikt route-based IPsec met Any-to-any-subnets, XFRM-interfaces met een toegewezen adres en gewone routes. Hiervoor wordt geen handmatige ipsec_route aangemaakt.
In het voorbeeld bevindt het netwerk 192.168.2.0/24 zich achter Firewall 1; remote clients achter Firewall 2 komen uit 192.168.3.0/24. Ze bereiken de servers 172.16.16.2 en 172.16.16.3 via het virtuele adres 10.10.10.1. Dit adres is een DNAT-bestemmingsadres, niet het XFRM-gatewayadres. Alle waarden moeten worden vervangen door objecten die bij de eigen omgeving passen.
- Stel in de IPsec connections op beide firewalls Connection type in op
Route-based (Tunnel interface)en Local subnet en Remote subnets opAny. Firewall 1 gebruikt in het voorbeeld Respond only, Firewall 2 Initiate the connection. Open onder Network > Interfaces de blauwe balk bij de betreffende Listening interface, selecteer de XFRM-interface, voer het geplande IP-adres ervan in en sla dit op. De procedure voor site-to-site IPsec legt de basisconfiguratie van de tunnel uit. - Beperk de firewallregels tot de daadwerkelijke applicatiedienst: op Firewall 2 van LAN naar VPN met bron
192.168.3.0/24en de benodigde bestemmingen192.168.2.0/24respectievelijk10.10.10.1; op Firewall 1 van VPN naar de daadwerkelijke serverzone met dezelfde externe bron en de benodigde bestemmingsobjecten192.168.2.0/24respectievelijk10.10.10.1. De voorbeeldwaardeAnyvoor de bestemmingszone is geen aanbeveling voor een permanente toestemmingsregel. - Routeer op Firewall 2 onder Routing > SD-WAN routes > IPv4 > Add de bron
192.168.3.0/24en de benodigde bestemmingen192.168.2.0/24respectievelijk10.10.10.1via een gateway op de lokale XFRM-interface. Selecteer of maak onder Link selection settings > Primary and backup gateways de passende Primary gateway aan. Voeg op Firewall 1 het retourpad toe met bronnen192.168.2.0/24respectievelijk10.10.10.1en bestemming192.168.3.0/24via de XFRM-gateway van die firewall. Statische of dynamische routes zijn ook mogelijk. - Route only through specified gateways voorkomt een alternatief pad door verkeer te laten vallen wanneer de tunnel niet beschikbaar is. Het voorbeeld schakelt dit op Firewall 2 in en biedt het op Firewall 1 als optie aan; het gewenste gedrag bij uitval moet aan beide kanten bewust worden vastgelegd. Administration > Device access > Ping/Ping6 > VPN heeft betrekking op ping naar lokale firewalldiensten, niet op het toestaan van een doorgestuurde serverdienst.
- Maak op Firewall 1 onder Rules and policies > NAT rules > Add NAT rule > New NAT rule de DNAT-regel aan: Original source
192.168.3.0/24, Translated sourceOriginal, Original destination10.10.10.1, Translated destination een serverlijstobject met172.16.16.2en172.16.16.3, Load balancing methodRound-robin. Sta alleen de benodigde dienst toe; de lijst is bedoeld voor meerdere geschikte backendservers, niet voor willekeurige hosts.
Genereer voor de validatie meerdere nieuwe applicatieverbindingen naar het virtuele adres en controleer in Packet Capture en aan de hand van Rule ID en NAT ID de gekozen backends, het XFRM-pad en de antwoorden. Een ping alleen bevestigt noch DNAT, noch de applicatie, noch de verdeling. Maak vooraf een back-up van routes, regels en objecten; verwijder bij het terugdraaien alleen de elementen die voor deze variant nieuw zijn aangemaakt, na controle van de afhankelijkheden, of herstel de oorspronkelijke waarden. Er is hier geen ipsec_route om te verwijderen. De volgende foutcontroles blijven daarom onderscheid maken tussen beide tunneltypen.
Veelvoorkomende fouten systematisch isoleren
De route bestaat, maar het verkeer gaat naar WAN
Controleer system ipsec_route show, Route Precedence en concurrerende SD-WAN-routes. Onder SFOS 22 bewijst het ontbreken van een vermelding in de routeringstabel van WebAdmin of in tabel 220 niet dat de IPsec-route ontbreekt. In Route Precedence heeft vpn alleen voor verkeer naar de WAN-zone voorrang op static; controleer daarom ook de zones en het werkelijke pad naar de bestemming.
De tunnel is actief, maar NAT wordt niet toegepast
Vergelijk originele en vertaalde adressen met de Traffic Selectors. Bij policy-based SNAT moet Outbound interface Any zijn. Controleer vervolgens Firewall Rule ID, NAT ID en src_trans_ip in plaats van alleen de tunnelstatus.
Met Any gebruikt de firewall de Translated source van de overeenkomende SNAT-regel, ook wanneer Override source translation (SNAT) voor specifieke uitgaande interfaces is ingeschakeld. Een regel die bij Outbound interface alleen bepaalde WAN-poorten vermeldt, waaronder de gebruikelijke standaard-SNAT-regel, matcht dit policy-based IPsec-verkeer niet. De NAT-uitleg in het artikel over site-to-site IPsec licht dit samenspel toe; dit is geen reden om overrides overal te wijzigen. Genereer na een gerichte regelcorrectie een nieuwe gecontroleerde applicatiestroom en controleer NAT ID, src_trans_ip, de selectors en het retourpad opnieuw, zoals bij de validatie van het datapad hierboven.
Het uitgaande pad werkt, maar het antwoord ontbreekt
De externe peer moet het vertaalde adres kennen en het verkeer via dezelfde tunnel terugsturen. Controleer de Traffic Selector, firewallregel en retourroute van de peer. Een afwijkend retourpad kan niet met een bredere lokale ipsec_route worden gecorrigeerd.
Door het systeem gegenereerd verkeer of DHCP wordt beïnvloed
Authenticatie-, DNS- en DHCP-verzoeken die door de firewall zelf worden gegenereerd, volgen een afzonderlijk proces. Een algemene uitspraak dat systeemverkeer geen handmatige IPsec-route nodig heeft, zou echter onjuist zijn: bij policy-based IPsec schrijft de authenticatiehandleiding voor SFOS 22.0 en 23.0 uitdrukkelijk een IPsec-route voor als het verzoek door de gekozen Route Precedence niet in de tunnel terechtkomt. Eerst moeten het bronadres, sys-traffic-nat, de Traffic Selectors en het retourpad kloppen; pas daarna wordt alleen de benodigde bestemming aan de bestaande policy-based tunnel gekoppeld. De validatie gebeurt met een echt authenticatieverzoek en Packet Capture; het terugdraaien gebeurt afzonderlijk met de passende opdracht system ipsec_route del host of del net, na controle van de vermelding.
De volledige procedure voor policy-based en route-based authenticatie staat onder SD-WAN-routing voor antwoordpakketten en systeemverkeer. Daar worden ook de tegenstrijdigheden tussen de beschreven NAT-adresrollen en de opdrachtvoorbeelden toegelicht. Breng geen wijzigingen in de productieomgeving aan zolang het bronadres niet duidelijk is en gebruik met name niet het adres van de AD-server als vertaalde bron. Voor route-based IPsec gelden XFRM-routes, niet ipsec_route; DHCP-relay blijft een afzonderlijk proces. Hieruit volgt noch een algemene wijziging van de globale Route Precedence, noch een garantie dat het werkt.
Na de SFOS 22-upgrade ontbreekt een dynamische aankondiging
Onder SFOS 22 zijn policy-based VPN-routes geen gewone kernelroutes. Als OSPF of BGP deze eerder via redistribute kernel aankondigde, legt Waarom redistribute kernel na een SFOS 22-upgrade geen IPsec-routes meer aankondigt dit afzonderlijke migratieprobleem uit.