Verständnisfrage Routing VPN - Zwei Gateways
Hi Community,
ich habe ein Szenario welches soweit funktioniert, ich allerdings noch eine Frage zum Verständnis hätte.
Anbei ein Foto um alles deutlicher zu machen.
Im Szenario liegen zwei Public IPs am Anschluss an. Es werden zwei Firewalls (Lancom und die neue Sophos ) eingesetzt. Vorerst läuft alles default noch über die Lancom und soll zum Zeitpunkt X durch die Sophos Appliance ersetzt werden.
Es handelt sich um eine Sophos XG Firewall.
Jede Firewall besitzt eine Public IP am WAN Port und eine IP vom internen LAN.
Wie bereits erwähnt ist bei den Clients im Netzwerk das Default Gateway auf den Lancom gesetzt (192.168.100.1/24).
Nun habe ich die Sophos Firewall in das interne Netzwerk eingebunden ( 192.168.100.31 / 24) und mit der Public IP 1 am WAN Port angeschlossen.
Über die Sophos wird ein SSL VPN bereitgestellt (10.81.230.0(24)).
Nun zur Frage:
Die VPN Verbindung wird zur Sophos Firewall sauber aufgebaut und die Pakete treffen im Log auf der Sophos Firewall ein. Wenn nun z.B. ein RDP Sitzung zum Terminalserver im internen Netzwerk aufgebaut wird (192.168.100.4) dann fehlt natürlich die Rückantwort vom Terminalserver, da dieser das Default Gateway anspricht und der Lancom nicht weiß was er mit den Paketen machen soll.
Soweit so gut.
Als nächsten Schritt habe ich auf dem Lancom eine Route ins VPN Netzwerk konfiguriert. Netz: 10.81.230.0 /24 mit der Peer IP: 192.168.100.31 der Sophos.
Leider kommt auch hier keine Rückmeldung vom Client nur die Pakete vom VPN Client ins LAN kommen an.
Nach dem ich auf der Firewall Rule auf der Sophos "VPN -> LAN" die Maskierung mit der IP ( 192.168.100.31) aktiviert habe funktioniert die Rückantwort und der VPN Client kann sauber von Extern auf das interne Netzwerk über die zweite Firewall zugreifen.
Jetzt stehe ich gerade etwas auf dem Schlauch:
1.) Warum funktioniert es wenn ich die Maskierung von VPN to LAN mit der internen IP der Sophos einschalte?
2.) Es sollte doch genügen, wenn ich auf dem Default Gateway (LANCOM) die Route zur Sophos Appliance und dem dahinterliegenden VPN Netzwerk erstelle?
Oder habe ich an dieser Stelle irgendwo einen Denkfehler?
Danke im Voraus.
Grüße Phil
ich habe ein Szenario welches soweit funktioniert, ich allerdings noch eine Frage zum Verständnis hätte.
Anbei ein Foto um alles deutlicher zu machen.
Im Szenario liegen zwei Public IPs am Anschluss an. Es werden zwei Firewalls (Lancom und die neue Sophos ) eingesetzt. Vorerst läuft alles default noch über die Lancom und soll zum Zeitpunkt X durch die Sophos Appliance ersetzt werden.
Es handelt sich um eine Sophos XG Firewall.
Jede Firewall besitzt eine Public IP am WAN Port und eine IP vom internen LAN.
Wie bereits erwähnt ist bei den Clients im Netzwerk das Default Gateway auf den Lancom gesetzt (192.168.100.1/24).
Nun habe ich die Sophos Firewall in das interne Netzwerk eingebunden ( 192.168.100.31 / 24) und mit der Public IP 1 am WAN Port angeschlossen.
Über die Sophos wird ein SSL VPN bereitgestellt (10.81.230.0(24)).
Nun zur Frage:
Die VPN Verbindung wird zur Sophos Firewall sauber aufgebaut und die Pakete treffen im Log auf der Sophos Firewall ein. Wenn nun z.B. ein RDP Sitzung zum Terminalserver im internen Netzwerk aufgebaut wird (192.168.100.4) dann fehlt natürlich die Rückantwort vom Terminalserver, da dieser das Default Gateway anspricht und der Lancom nicht weiß was er mit den Paketen machen soll.
Soweit so gut.
Als nächsten Schritt habe ich auf dem Lancom eine Route ins VPN Netzwerk konfiguriert. Netz: 10.81.230.0 /24 mit der Peer IP: 192.168.100.31 der Sophos.
Leider kommt auch hier keine Rückmeldung vom Client nur die Pakete vom VPN Client ins LAN kommen an.
Nach dem ich auf der Firewall Rule auf der Sophos "VPN -> LAN" die Maskierung mit der IP ( 192.168.100.31) aktiviert habe funktioniert die Rückantwort und der VPN Client kann sauber von Extern auf das interne Netzwerk über die zweite Firewall zugreifen.
Jetzt stehe ich gerade etwas auf dem Schlauch:
1.) Warum funktioniert es wenn ich die Maskierung von VPN to LAN mit der internen IP der Sophos einschalte?
2.) Es sollte doch genügen, wenn ich auf dem Default Gateway (LANCOM) die Route zur Sophos Appliance und dem dahinterliegenden VPN Netzwerk erstelle?
Oder habe ich an dieser Stelle irgendwo einen Denkfehler?
Danke im Voraus.
Grüße Phil
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 553729
Url: https://administrator.de/contentid/553729
Ausgedruckt am: 26.11.2024 um 21:11 Uhr
26 Kommentare
Neuester Kommentar
Ohne Maskierung kommt ein TCP Paket von einem Absender mit der IP 10.81.230.x am Terminal Server an. Beim Antworten verwendet der Terminalserver sein reguläres Gateway, also den LANCOM, der davon nichts weiss.
Mit Maskierung verändert Sophos im TCP Paket den Absender und am Terminal Server kommt ein Paket mit dem Absender 192.168.100.31 an. Der Terminal Server kann dem 192.168.100.31 natürlich direkt antworten. Sophos hat sich gemerkt woher das Paket stammte bzw wohin es wirklich gehen soll und leitet es weiter zum Client 10.81.230.x
Eigentlich ist die Maskierung ganz OK, wenn es sich um einzelne Clients am VPN Endpunkt handelt. Wenn Du ein Site2Site VPN aufbauen möchtest, muss die Maskierung weg. Dann musst Du nur noch dem LANCOM Router die Route eingeben: 10.81.230.0/24 -> 192.168.100.31, dann leitet der LANCOM alles an den Sophos weiter, was er vom Terminal Server erhalten hat und zurück ins VPN soll.
Mit Maskierung verändert Sophos im TCP Paket den Absender und am Terminal Server kommt ein Paket mit dem Absender 192.168.100.31 an. Der Terminal Server kann dem 192.168.100.31 natürlich direkt antworten. Sophos hat sich gemerkt woher das Paket stammte bzw wohin es wirklich gehen soll und leitet es weiter zum Client 10.81.230.x
Eigentlich ist die Maskierung ganz OK, wenn es sich um einzelne Clients am VPN Endpunkt handelt. Wenn Du ein Site2Site VPN aufbauen möchtest, muss die Maskierung weg. Dann musst Du nur noch dem LANCOM Router die Route eingeben: 10.81.230.0/24 -> 192.168.100.31, dann leitet der LANCOM alles an den Sophos weiter, was er vom Terminal Server erhalten hat und zurück ins VPN soll.
Anbei ein Foto um alles deutlicher zu machen.
Da dann bitte das "+" an der richtigen Stelle im Text klicken, damit das Foto auch im richtigen Kontext zum Text erscheint ! (Kann man auch noch nachträglich machen.)
Leider kommt auch hier keine Rückmeldung vom Client nur die Pakete vom VPN Client ins LAN kommen an.
Das ist vermutlich auch normal weil die Sophos, Firewall üblich, mit an Sicherheit grenzender Wahrscheinlichkeit den lokal, statisch gerouteten Verkehr auch durch ihr Regelwerk schickt und du dafür sicherlich dann keine Regel hast.Das ist etwas nervig und in der Regel auch sinnfrei statisch lokal gerouteten Traffic über das FW Regelwerk zu zwingen aber üblicherwiese Default.
Die meisten Firewalls haben dafür einen Haken im Setup den man entsprechend setzen kann wie hier z.B. bei der bekannten pfSense Firewall:
Das sollte bei deiner Sophos Gurke auch irgendwo im Setup zu finden sein.
Damit hat der Spuk dann ein Ende und dein VPN sollte sauber geroutet werden !
Es ist zu bezweifeln das die Sophos im VPN Tunnel den Traffic NATet (Adress Translation) so wie oben vermutet. Das wäre für eine Firewall absolut unüblich und dürfte sehr wahrscheinlich auch nicht der Fall sein, so das diese Option (vermutlich) nicht helfen wird, da gar nicht vorhanden.
Eine "Maskierung" ala NAT ist generell der falsche Weg da was Performance kostet und oft eine Routing Einbahnstrasse ist weil so transparentes Routing verhindert wird.
Deine statische Route im Lancom und kein NAT im Tunnel zu verwenden ist also aus Netzwerk Sicht genau richtig ! Tücke ist eben nur das die Sophos diesen gerouteten Traffic auch durch ihr Regelwerk schickt und diese Regel dort vermutlich fehlt. Siehe oben...
Du solltest zusätzlich auch noch im Hinterkopf haben das die lokale Winblows Firewall alles per Default blockt was nicht aus dem lokalen Netzwerk kommt. Also auch alles was aus dem VPN IP Netz kommt.
Ist der RDP Terminalserver also eine Winblows Gurke, musst du in die "Firewall mit erweiterten Eigenschaften" Settings gehen und den RDP Dienst in den Absender IPs dort entweder auf "beliebig" klicken oder dediziert dein 10er Netz VPN Netz angeben.
Was auch geht ist 10.0.0.0 Maske 255.0.0.0 als Range dann lässt der RDP Dienst alles zu was von remote aus 10er Subnetzen kommt solltest du noch mehr davon haben...
ICh wüsste nicht wo ich etwas speziell aktivieren könnte, dass der Traffic welcher lokal geroutet wird ebenfalls durch die Regeln läuft.
Dann hast du auch den obigen Thread auch nicht richtig gelesen oder verstanden !!!Es muss logischerweise deaktiviert werden, da jede Firewall auch lokal gerouteten Traffic immer durch ihr Regelwerk schickt !!!
Man will ja gerade NICHT das lokal gerouter Traffic durch die Firewall rennt ! Deshalb deaktivieren !
Genau das sagt ja oben auch das pfSense Setup ! "Bypass Firewall rules for local traffic" !
Lesen und verstehen...
Sofern deine Sophos Gurke so eine Einstellung nicht hat kannst du den Traffic dann nur mit zusätzlichen Regeln freigeben auf dem LAN Port.
So eine schlechte Firewall kann die Sophos aber nicht sein das sie dieses Allerwelts Feature nicht hat ! Oder etwa doch..?!?
wäre wenn ein Transfer Netz zwischen den beiden Firewalls vorhanden ist und Routing über dieses in beide Richtungen laufen
Nein, das ist Blödsinn ! Ist ja mehr oder minder das gleiche zu dem was du jetzt auch hast nur das du das eben auf dem lokalen LAN routest.Was auch immer die mit ihrem omniösen "maskieren" meinen ?!?
Hier rennt das mit 3 verschiedenen VPN Gateways im lokalen Netz (2x pfSense und 1x Cisco Router) vollkommen fehlerlos. Sollte es auch, denn es ist ja rein nur simpelstes IP Routing.
Es ist auch gut möglich das am Lancom eine Firewall am lokalen LAN Port werkelt. Der RDP Server Traffic kommt ja immer zuerst am Lancom an, denn der ist ja Default Gateway des RDP Servers.
Ist dort auch eine Firewall aktiv die Zieltraffic ins 10.81.230.0er Netz blockiert, dann kommt logischerweise keine Client Session zustande, klar.
Es ist also sehr wichtig das du das am Lancom kontrollierst ob das der Fall ist. Wireshark ist ggf. dein bester Freund hier.
Der Lancom würde normalerweise immer ein ICMP Redirect an den RDP Server schicken weil er ja "sieht" das der Server die Sophos Gurke im eigenen Netz besser direkt den Traffic schicken kann. Der Redirect bewirkt das der Server dann direkt nach der Sophos ARPen würde und den Traffic dann OHNE Umweg über den Lancom direkt zur Sophos sendet.
Im Default ist das ICMP Protokoll aber in der lokalen Winblows Firewall deaktiviert, so das diese den Redirect gar nicht mitbekommt und weiterhin fröhlich den Lancom als "Durchlauferhitzer" und Umwegschleife für den VPN Traffic benutzt.
Firewalls blockieren in der Regel auch ICMP Redirects und auch hier müsste man diese explizit freigeben am LAN Port.
In Konstellationen wie der deinen macht das also durchaus Sinn um denn Netztraffic effektiv zu redirecten !
Deine wichtigsten ToDos sind also
- den VPN Traffic Flow durch den Lancom zu checken und ggf. anzupassen
- Ggf. ICMP Redirects in RDP Server, Lancom und Sophos aktivieren.
Wenn die Sophos mit solch einfachsten Designs nicht umgehen kann stellt sich natürlich grundsätzlich dann auch die Frage warum du das Default Gateway des RDP Servers nicht sinnigerweise dann umstellst auf die 192.168.100.31 ?!
Wenn darüber eh alle remoten RDP Sessions via VPN reinkommen würde das ja Sinn machen. Dann auf der Sophos die statischen Routen zu den Lancom Netzen (sofern da überhaupt welche sind ?!) eintragen und gut iss.
Das wäre ja dann die intelligenteste Lösung wenn die Sophos Gurke nicht einmal simpelstes IP Routing im Netzwerk richtig kann. Ein Grund von sowas die Finger zu lassen.
der Mitarbeiter von Sophos legt den Finger in die richtige Wunde. Auch Aqui hatte das bereits indirekt angesprochen, die Problematik aber nicht näher erläutert, was vermuten lässt, dass er die tiefer liegende Ursache dann doch nicht auf dem Schirm hat.
Das Problem ist, dass Du eine Dreiecksroute gebaut hast. Rein bezogen aufs Routing ist das zunächst gar kein Problem, wenn der Lancom rein als klassischer Router fungieren würde. Er ist aber hier als SPI-Firewall im Einsatz, die offenkundig das Regelwerk auch auf Traffic anwendet, welcher über das eingehende Interface auch wieder rausgeroutet wird. Dies bedeutet zunächst einmal, dass Du auf dem Lancom zumindest eine entsprechende Allow-Regel benötigen würdest. Wenn Du diese einrichten würdest, solltest Du aber feststellen, dass dennoch nur ICMP und u.U. auch UDP funktionieren werden - nicht aber TCP-Traffic. Hintergrund ist, dass eine SPI-Firewall den TCP-Handshake vollständig mitlesen und die TCP-Sequenznummern der nachgelagerten Pakete überwachen muss, um den bidirektionalen Traffic einer TCP-Session zuordnen zu können. Nur dann kann die Firewall den Antworttraffic dynamisch zulassen. Im vorliegenden Fall sieht der Lancom aufgrund der Dreiecksroute aber immer nur einen Teil der bidirektionalen Kommunikation. Folglich dropt der Lancom den Verkehr, weil er für ihn unplausibel ist.
Lösen kann man dies auf zwei Wegen:
1) man gewöhnt dem Lancom ab, diesen Traffic durch das Firewallregelwerk zu jagen
2) man schafft das asymmetrische Routing ab.
Letztere Option wäre die bessere. Dies zu erreichen gibt es verschiedene Wege - einige wurden bereits angesprochen. Der simpelste Weg blieb bislang jedoch unerwähnt: sorge per statischer Route auf dem Terminalserver dafür, dass er VPN-Clients direkt über die Sophos anspricht. Das Standardgateway des TS kann dann vorerst weiterhin auf den Lancom zeigen.
Gruß
sk
Das Problem ist, dass Du eine Dreiecksroute gebaut hast. Rein bezogen aufs Routing ist das zunächst gar kein Problem, wenn der Lancom rein als klassischer Router fungieren würde. Er ist aber hier als SPI-Firewall im Einsatz, die offenkundig das Regelwerk auch auf Traffic anwendet, welcher über das eingehende Interface auch wieder rausgeroutet wird. Dies bedeutet zunächst einmal, dass Du auf dem Lancom zumindest eine entsprechende Allow-Regel benötigen würdest. Wenn Du diese einrichten würdest, solltest Du aber feststellen, dass dennoch nur ICMP und u.U. auch UDP funktionieren werden - nicht aber TCP-Traffic. Hintergrund ist, dass eine SPI-Firewall den TCP-Handshake vollständig mitlesen und die TCP-Sequenznummern der nachgelagerten Pakete überwachen muss, um den bidirektionalen Traffic einer TCP-Session zuordnen zu können. Nur dann kann die Firewall den Antworttraffic dynamisch zulassen. Im vorliegenden Fall sieht der Lancom aufgrund der Dreiecksroute aber immer nur einen Teil der bidirektionalen Kommunikation. Folglich dropt der Lancom den Verkehr, weil er für ihn unplausibel ist.
Lösen kann man dies auf zwei Wegen:
1) man gewöhnt dem Lancom ab, diesen Traffic durch das Firewallregelwerk zu jagen
2) man schafft das asymmetrische Routing ab.
Letztere Option wäre die bessere. Dies zu erreichen gibt es verschiedene Wege - einige wurden bereits angesprochen. Der simpelste Weg blieb bislang jedoch unerwähnt: sorge per statischer Route auf dem Terminalserver dafür, dass er VPN-Clients direkt über die Sophos anspricht. Das Standardgateway des TS kann dann vorerst weiterhin auf den Lancom zeigen.
Gruß
sk
sorge per statischer Route auf dem Terminalserver dafür, dass er VPN-Clients direkt über die Sophos anspricht.
Richtig ! Manchmal übersieht man das Simpleste im Eifer des Gefechts...route add 10.81.230.0 mask 255.255.255.0 192.168.100.31 -p
auf dem RDP Server (Winblows) sollte das Problem dann auch lösen...
Jetzt könnte man noch diskutieren ob nicht besser immer die Router im Netz auch zentral routen sollten und nicht die Endgeräte was dann für ein Glattziehen der Lancom Regel spricht aber im Sinne einer unkomplizierten Lösung gewinnt dann das Obige.
Da wir gerade genau das gleiche Problem haben, das du hattest, eine Frage dazu:
Wie? Wo genau hast du diese Funktion gefunden, wir suchen exakt das....
Zitat von @Gerber:
Nach dem ich auf der Firewall Rule auf der Sophos "VPN -> LAN" die Maskierung mit der IP ( > 192.168.100.31) aktiviert habe
Nach dem ich auf der Firewall Rule auf der Sophos "VPN -> LAN" die Maskierung mit der IP ( > 192.168.100.31) aktiviert habe
Wie? Wo genau hast du diese Funktion gefunden, wir suchen exakt das....
Die Situation ist:
Es werden zwei Firewalls (große vom Rechenzentrum für quasi alles und die eine Sophos XG für VPN / RDP). Bei den Clients im Netzwerk das Default Gateway auf die große Nicht-Sophos gesetzt.
Ich mixe mal unsere Beschreibung mit dem Original, weil da schon so viel gepasst hat.
Das Problem ist:
Die VPN Verbindung wird zur Sophos Firewall sauber aufgebaut und die Pakete treffen im Log auf der Sophos Firewall ein. Wenn nun aber eine RDP Sitzung mit einem PC im internen Netzwerk aufgebaut wird, fehlt natürlich die Rückantwort des PCs, da dieser das Default Gateway anspricht und die große Nicht-Sophos-Firewall nicht weiß was sie mit den Paketen machen soll.
Die Frage also:
Wie können wir den Clients, die für die Vor-Ort-Arbeit den anderen Standard Gateway behalten müssen, während der VPN-RDP-Verbindung die Sophos XG als Gateway setzen?
Vielen Dank!
Es werden zwei Firewalls (große vom Rechenzentrum für quasi alles und die eine Sophos XG für VPN / RDP). Bei den Clients im Netzwerk das Default Gateway auf die große Nicht-Sophos gesetzt.
Ich mixe mal unsere Beschreibung mit dem Original, weil da schon so viel gepasst hat.
Das Problem ist:
Die VPN Verbindung wird zur Sophos Firewall sauber aufgebaut und die Pakete treffen im Log auf der Sophos Firewall ein. Wenn nun aber eine RDP Sitzung mit einem PC im internen Netzwerk aufgebaut wird, fehlt natürlich die Rückantwort des PCs, da dieser das Default Gateway anspricht und die große Nicht-Sophos-Firewall nicht weiß was sie mit den Paketen machen soll.
Die Frage also:
Wie können wir den Clients, die für die Vor-Ort-Arbeit den anderen Standard Gateway behalten müssen, während der VPN-RDP-Verbindung die Sophos XG als Gateway setzen?
Vielen Dank!