IPsec Route auf Sophos Firewall erstellen
Normalerweise erkennt die Sophos Firewall selbst, durch welchen IPsec Tunnel ein Zielnetz erreichbar ist. Bei einem klassischen policy-based IPsec Tunnel wird das Remote-Netz bereits in der Tunnelkonfiguration angegeben. In bestimmten Situationen kann es trotzdem nötig sein, eine IPsec Route manuell zu erstellen.
Typische Fälle sind falsche Routenauswahl, überlappende Routen oder ein Zielnetz, das nicht wie erwartet durch den IPsec Tunnel läuft, sondern Richtung WAN oder über eine andere Route gesendet wird.
Voraussetzungen
- Zugriff auf die Device Console, zum Beispiel per SSH
- Name des IPsec Tunnels
- Zielhost oder Zielnetz, das über den Tunnel erreicht werden soll
- Aktive oder korrekt konfigurierte IPsec Verbindung
- Passende Firewall Regeln für den Traffic zwischen lokalem und entfernten Netz
Falls der Konsolenzugriff noch nicht eingerichtet ist, erklärt die Anleitung Sophos Firewall per SSH verbinden, wie man eine SSH-Verbindung zur Firewall herstellt und die Device Console öffnet.
⚠️ Eine falsche IPsec Route kann Traffic in den falschen Tunnel senden oder bestehende Verbindungen stören. Vor der Änderung sollte man den Tunnelnamen, das Zielnetz und die vorhandenen Routen prüfen.
Policy-based oder route-based VPN?
IPsec Routes sind vor allem bei policy-based IPsec Szenarien hilfreich, wenn Traffic trotz passendem Tunnel nicht korrekt zugeordnet wird. Bei route-based VPNs arbeitet man in der Regel mit statischen Routen, SD-WAN-Routen oder dynamischem Routing zur Tunnel-Schnittstelle.
Sophos beschreibt die Unterschiede und IPsec Grundlagen in der offiziellen Dokumentation: IPsec connections - Sophos Firewall.
Bestehende IPsec Routes anzeigen
Die folgenden Befehle werden in der Device Console ausgeführt, nicht in der Advanced Shell.
system ipsec_route show
Die Ausgabe sollte man vor Änderungen dokumentieren. So kann man später prüfen, ob eine Route neu hinzugekommen ist oder wieder entfernt werden muss.
IPsec Route für einen Host erstellen
Wenn nur ein einzelner Host über einen bestimmten Tunnel erreichbar sein soll, verwendet man host.
Syntax:
system ipsec_route add host <host-ip> tunnelname <tunnelname>
Beispiel:
system ipsec_route add host 10.33.46.69 tunnelname Azure_CH
IPsec Route für ein Netzwerk erstellen
Wenn ein komplettes Netzwerk über den Tunnel erreichbar sein soll, verwendet man net.
Syntax:
system ipsec_route add net <network>/<netmask> tunnelname <tunnelname>
Beispiel:
system ipsec_route add net 10.33.46.0/255.255.255.0 tunnelname Azure_CH
Sophos dokumentiert die Befehle ebenfalls in der CLI-Dokumentation: ipsec_route - Sophos Firewall.
IPsec Route entfernen
Wenn die Route nicht mehr benötigt wird oder falsch gesetzt wurde, kann sie wieder gelöscht werden.
Host-Route entfernen:
system ipsec_route del host <host-ip> tunnelname <tunnelname>
Netz-Route entfernen:
system ipsec_route del net <network>/<netmask> tunnelname <tunnelname>
Danach die Liste erneut prüfen:
system ipsec_route show
Änderung testen
Nach dem Erstellen oder Entfernen einer IPsec Route sollte man den betroffenen Traffic gezielt testen:
- Erreichbarkeit des Zielhosts oder Zielnetzes mit Ping oder Traceroute prüfen
- Log Viewer auf erlaubten oder verworfenen Traffic prüfen
- Bei Bedarf Packet Capture verwenden
- Prüfen, ob Firewall Regeln und NAT-Regeln zum gewünschten Traffic passen
- Falls mehrere Routen passen, die Routing Priorität der Sophos Firewall prüfen
Hinweis zu NAT
Eine IPsec Route definiert den Weg in den Tunnel. Sie ersetzt aber keine Firewall- oder NAT-Regeln. Wenn NAT im IPsec Szenario verwendet wird, muss die NAT-Konfiguration zusätzlich geprüft werden. Sophos beschreibt die Kombination aus Routing und NAT für IPsec Tunnel in der offiziellen Dokumentation: Routing and NAT for IPsec tunnels.