[Gelöst] pfSense OpenVPN Site to Site Routing
-
Hallo
es sind 2 Standorte über OpenVPN Site to Site miteinander verbunden.Standort A = pfsense als OpenVPN Server
Standort B = pfsense als OpenVPN ClientBis jetzt ist es so, dass alle Clients am Standort B durch den Tunnel z. B. auf das LAN am Standort A zugreifen.
Zugriffe dieser Clients auf das Internet werden jedoch über die Default Route am Standort B realisiert.Wie kann man jetzt des gesamten Datenverkehr - auch den Zugriff auf das Internet - durch den Tunnel zum Standort A
erzwingen, so dass die Clients am Standorte B nur den Zugang zum Internet über den Standort A bekommen?Gruß
Peter -
Hi,
Sichwort….Redirect Gateway
In der OpenVPN-Server Config….
Force all client generated traffic through the tunnel.
…aktivieren.
Gruß orcape -
Wie kann man jetzt des gesamten Datenverkehr - auch den Zugriff auf das Internet - durch den Tunnel zum Standort A
erzwingen, so dass die Clients am Standorte B nur den Zugang zum Internet über den Standort A bekommen?Wenn das sicher sein soll und die User die Route auf ihren Rechnern auch selbst festlegen können, musst du natürlich am Standort B auch den direkten Internetzugriff der Clients unterbinden.
Grüße
-
Hallo,
Hi,
Sichwort….Redirect Gateway
In der OpenVPN-Server Config….
Force all client generated traffic through the tunnel.
…aktivieren.
Gruß orcapeDie Aktivierung von Redirect Gateway auf dem pfsense OpenVPN Server im Standort A funktioniert nicht, weil die Default Route auf dem
pfsense OpenVPN Client im Standort B über die WAN Schnittstelle geht. Somit werden alle Verbindungen welche nicht über den Tunnel gehen
(also Internet) über die Default Route geroutet.Die Funktion "Force all client generated traffic through the tunnel" gibt es nicht in der pfsense OpenVPN Client Konfiguration.
Gruß
Peter -
Hallo,
Wie kann man jetzt des gesamten Datenverkehr - auch den Zugriff auf das Internet - durch den Tunnel zum Standort A
erzwingen, so dass die Clients am Standorte B nur den Zugang zum Internet über den Standort A bekommen?Wenn das sicher sein soll und die User die Route auf ihren Rechnern auch selbst festlegen können, musst du natürlich am Standort B auch den direkten Internetzugriff der Clients unterbinden.
Grüße
Der Tunnel sowie das Routing wird ja durch die pfsense in den Standorten festgelegt.
D. h,. Die Clients können da wenig machen, da alle Datenpakete über das jeweilige
Default GW (LAN Schnittstelle pfsense) geroutet werden.
Es nützt auch nichts auf der pfsense im Standort B den Internetzugang per FW Rules zu verhindern.
Dann kann zwar kein Client auf das Internet zugreifen, aber deshalb wird der gesamte Traffic immer
noch nicht durch den Tunnel geleitet.Gruß
Peter -
Hi!
Okay, sorry, habe nicht beachtet, dass es um eine Site to site VPN geht.
Die ist im Prinzip so einzurichten wie eine PIA Verbindung und dazu gibt es schon einige Threads hier.Hab selbst aktuell keine solche Verbindung aktiv und versuche es mal kurz aus dem Gedächtnistiefen auszugraben:
Wenn die Verbindung bereits funktioniert, benötigst du noch am Client ein Interface für die VPN. Gehe dazu auf Interfaces > assign, füge ein IF hinzu und wähle als Network port deinen openvnc, klick save und dann auf das neue IF, klicke Enable Interface und gib ihm im Decription Feld einen Namen, sonst nichts, keine IP. Die beiden Haken sollten nicht angehakt sein, und klick save u. Apply changes.Jetzt wird noch ein Gateway benötigt, wenn es nicht bereits automatisch hinzugefügt wurde. Also in System > Routing > Gateways eines hinzufügen, Interface ist das zuvor eingerichtete, Name nach deine Wahl und im Feld Gateway die IP des VPN Servers eingeben, normalerweise die erste im Tunnel-Netz (nach der Netzwerk-Adresse!).
Den Traffic darüber steuerst du dann über die Firewall-Regeln. Also auf dem Interface-Tab, das für die entsprechenden Clients zuständig ist die Regeln, die den Internet-Zugriff erlauben (Default ist pass any to any), editieren unten bei den Advanced Featuers, Gateway auf Advanced klicken und das VPN-Gateway auswählen. Alle Regeln, die es verwenden sollen, entsprechend anpassen.
Nachdem auf der pfSense nur der Traffic erlaubt ist, der in den Regeln definiert ist, sollten die Clients auch nicht mehr anders ins Internet kommen.Dafür dass die Clients nicht in LAN von Standort A gelangen, musst du dann am Server sorgen.
Grüße
-
Hallo,
danke, das werde ich mal testen.Gruß
Peter -
Hi,
so ein Szenario, wie von Dir geplant, habe ich leider auch nicht am laufen….
..das heißt, ich will meine Servernetze nicht noch mit unnötigem Traffic belasten.Die Funktion "Force all client generated traffic through the tunnel" gibt es nicht in der pfsense OpenVPN Client Konfiguration.
Ich hatte geschrieben….
In der OpenVPN-Server Config….
Force all client generated traffic through the tunnel.
Ausserdem ist da noch die CCD auf Server-Seite, die mit….
Client Specific Overrides
…auf Seite der Serverkonfiguration eingerichtet wird und dem Client entsprechende Anweisungen gibt.
Dort musst Du ebenfalls den Redirect Gateway aktivieren.
...und das sollte dann eigentlich schon funktionieren.
Kann natürlich durchaus @viragomann´s Einwand richtig sein, das Du auch auf Clientseite ein Interface einrichten musst.
Ich musste nur bisher die Erfahrung machen, das ohne die korrekte Einrichtung der CCD auf Server-Seite, einiges an Verbindungsproblemen zwischen den Netzen bei einer Point-to-Point Verbindung daneben geht.Gruß orcape
-
Hallo,
leider haben alle Tipps bis jetzt nicht zum Ziel geführt.Was habe ich bis jetzt getan.
Auf dem pfsense OpenVPN server:
Redirect Gateway: "Force all client generated traffic through the tunnel." aktiviertAuf dem pfsense OpenVPN Client:
1. Interface OPT1 -> ovpnc1() hinzugefügt- IPv4 Configuration Type -> none
- Block private networks -> Aus
- Block bogon networks -> Aus
2. System: Routing -> Gateways
- automatisch hinzugefügt: OPT1_VPNV4 mit 10.111.111.1
3. Firewall Rules:
- Auf Interface LAN, OPT1, OpenVPN eine FW Regel: pass any to any
- Auf Interface LAN: Advanced features -> Gateway -> Advanced: OPT1_VPNV4-10.111.111.1 hinzugefügt
4. Funktionstest am Standort B
tracert "IP Client Standort A"
1 <1 ms "IP LAN GW"
2 <1 ms 10.111.111.1
3 <1 ms "IP Client Standort A"
Funktioniert!tracert "8.8.8.8"
1 <1 ms 10.111.111.1
2 * Zeitüberschreitung der Anforderung
3 * Zeitüberschreitung der Anforderung
Funktioniert nicht!Man sieht aber, dass der Traffic über den Tunnel geht.
Auch auf der Server Seite kann ich in den mitgeloggten ankommenden Traffic auf der
ovpns1 Schnittstelle sehen.
Aber eine Internetverbindung funktioniert nicht.Auch die Aktivierungen der "Client Specific Overrides" -> "Force all client generated traffic through the tunnel"
auf dem Server ergab keinen Erfolg.Hat jemand noch eine Idee?
Gruß
Peter -
tracert "8.8.8.8"
1 <1 ms 10.111.111.1
2 * Zeitüberschreitung der Anforderung
3 * Zeitüberschreitung der Anforderung
Funktioniert nicht!Man sieht aber, dass der Traffic über den Tunnel geht.
Auch auf der Server Seite kann ich in den mitgeloggten ankommenden Traffic auf der
ovpns1 Schnittstelle sehen.
Aber eine Internetverbindung funktioniert nicht.Na, das sieht ja schon mal nicht schlecht aus.
Zwei Dinge habe ich vergessen:
-
Die Regeln am Server müssen den Traffic ins Web genehmigen. Daran hast du aber vermutlich eh gedacht.
-
Das Outbound NAT muss fürs VPN-Netz funktionieren, und dazu muss es neu konfiguriert werden. Ev. reicht bereits ein Klick auf Save. Wenn nicht, auf "Manual Outbound NAT rule generation" umstellen und Save klicken. Dann sollten die Regeln so generiert werden, dass es funktioniert.
Du brauchst auf jeden Fall eine solche Regel:
WAN <tunnelnetz cidr="">* * * WAN-Adresse * NO</tunnelnetz>
Dass das Ganze funktioniert, setzt auch ein konfiguriertes Default-Gateway oder eine Route ins WAN am Server voraus, aber das wird ja wohl vorliegen.
Gruß
-
-
Hi,
poste mal bitte die Files und deren Inhalt aus dem Pfad…./var/etc/openvpn-csc
….der pfSense aus Standort A.
Gruß orcape -
Hallo,
Na, das sieht ja schon mal nicht schlecht aus.
Zwei Dinge habe ich vergessen:
-
Die Regeln am Server müssen den Traffic ins Web genehmigen. Daran hast du aber vermutlich eh gedacht.
-
Das Outbound NAT muss fürs VPN-Netz funktionieren, und dazu muss es neu konfiguriert werden. Ev. reicht bereits ein Klick auf Save. Wenn nicht, auf "Manual Outbound NAT rule generation" umstellen und Save klicken. Dann sollten die Regeln so generiert werden, dass es funktioniert.
Du brauchst auf jeden Fall eine solche Regel:
WAN <tunnelnetz cidr="">* * * WAN-Adresse * NO</tunnelnetz>
Dass das Ganze funktioniert, setzt auch ein konfiguriertes Default-Gateway oder eine Route ins WAN am Server voraus, aber das wird ja wohl vorliegen.
Gruß
Es ist alles so wie Du es beschrieben hast.
Auf beiden Seiten kommen in der Standard Site to Site Konfiguration alle Clients über die Standort pfsense ins Internet und durch den Tunnel auf den
anderen Standort und dort in die LAN's. Die Fw Rules sind überall auf "pass any to any" und Logging eingestellt.
Das Outbound NAT hatte ich bereits im Standort A und B auf Manuell gestellt und dort gibt es u. a. auch die notwendige Richtlinie
WAN 10.111.111.0/30 * * * WAN address * NOBis jetzt leider alles ohne Erfolg!
Gruß
Peter -
-
Hallo,
@orcape:Hi,
poste mal bitte die Files und deren Inhalt aus dem Pfad…./var/etc/openvpn-csc
….der pfSense aus Standort A.
Gruß orcape/var/etc/openvpn-csc/client_site_to_site
ifconfig-push 10.111.111.2 10.111.111.1
push "route 192.168.37.0 255.255.255.0"
push "route 192.168.137.0 255.255.255.0"
push "route 192.168.139.0 255.255.255.0"
iroute 192.168.39.0 255.255.255.0
push "redirect-gateway def1"
push "redirect-gateway def1"Gruß
Peter -
Hallo!
WAN 10.111.111.0/30 * * * WAN address * NO
D.h. dein VPN Client hat die IP 10.111.111.2, soweit richtig?
Wenn das alles so eingerichtet ist, müsste es funktionieren. Das Problem kann eigentlich nur mehr am Routing oder an den Regeln liegen.
Nachdem du am Client das VPN Interface hinzugefügt hast, sind auch auf diesem Regeln zu konfigurieren, damit der VPN-Traffic erlaubt wird. Hast du das gemacht?
Am neuen Interface einfach any to any.Nach Änderungen ggf. den VPN-Server bzw. -Client neu starten.
Ansonsten würde mir nur noch Troubleshooting einfallen. Dazu achte darauf, dass in den Log-Settings auch das Logging der Default-block Rule aktiviert ist.
Ob das Routing und NAT auf Serverseite in Ordnung ist, lässt sich einfach über das pfSense Ping-Tool überprüfen. Dazu als Host eine externe IP/Namen und als Source Adresse den VPN Server einstellen.
Wenn in Logs nicht zu sehen ist, kannst du Packet Capture an den diversen Interfaces einsetzen, um zu sehen, was die Paket machen.Grüße
-
Guten Morgen,
zunächst einmal möchte ich mich bei Euch beiden (viragomann und orcape) für die Unterstützung und Hilfe bedanken!!!"… D.h. dein VPN Client hat die IP 10.111.111.2, soweit richtig? ...."
-> Ja, wie bereits geschrieben erreiche ich beide Tunnelenden incl. der dahinter liegenden LAN's über den Tunnel.
"... Wenn das alles so eingerichtet ist, müsste es funktionieren. Das Problem kann eigentlich nur mehr am Routing oder an den Regeln liegen. ..."
-> Das vermute ich auch, zumal ich z. B. die Pings auf 8.8.8.8 auf den ovpns1 Schnittstelle am Server mitgeloggt sehe.
"... Nachdem du am Client das VPN Interface hinzugefügt hast, sind auch auf diesem Regeln zu konfigurieren, damit der VPN-Traffic erlaubt wird. Hast du das gemacht? Am neuen Interface einfach any to any. ..."
-> Ja, ich habe zunächst überall pass any to any auf die Schnittstellen gelegt.
"... Nach Änderungen ggf. den VPN-Server bzw. -Client neu starten. ..."
-> Habe ich gemacht.
" ... Ansonsten würde mir nur noch Troubleshooting einfallen. Dazu achte darauf, dass in den Log-Settings auch das Logging der Default-block Rule aktiviert ist.
Ob das Routing und NAT auf Serverseite in Ordnung ist, lässt sich einfach über das pfSense Ping-Tool überprüfen. Dazu als Host eine externe IP/Namen und als Source Adresse den VPN Server einstellen.
Wenn in Logs nicht zu sehen ist, kannst du Packet Capture an den diversen Interfaces einsetzen, um zu sehen, was die Paket machen. ..."Das werd ich mir sicher noch genauer ansehen müssen.
Es kann eigentlich nur ein Routingproblem sein und muss doch zu lösen sein.
Ich melde mich.Gruß
Peter -
Hi,
nur mal so eine Vermutung.
Wenn ich bei mir, pfSense (Diagnostics-Ping) vom OpenVPN-Interface auf die IP 216.58.216.228 (google.com) einen Ping mache (ICMP any-to-any Rule), erhalte ich eine Antwort. Check das mal ab.
Wenn dem so ist, solltest Du auch Internetverbindung haben.
Bei mir steht NAT-Outbound auf automatic, dabei sind alle Interfaces, incl. der OpenVPN-Interfaces als Source aktiviert.
Wenn Du pf-Version 2.2 hast, und es steht auf manuell, stell das einfach mal auf Hybrid.
Gruß orcape -
Hallo,
werde ich heute Abend mal testen.
NAT-Outbound hatte ich sowohl auf Automatic, Hybrid, Manuell.
Leider gab es hier keine Veränderung bezüglich des Internetzugriffs über den Tunnel zum Standort A.
Ich setze in beiden Standorten pfsense 2.2 ein.Das ganze Scenario läuft z. Z. in einer Testumgebung.
Gruß
Peter -
Hallo,
bis jetzt keinen Erfolg.
Ich kann von der pfsense OpenVPN Client Standort B ohne Probleme von allen Schnittstellen aus Pings setzen.
Nur scheint der Traffic ins Internet trotzdem über die eigene WAN Schnittstelle zu laufen.
Das scheint aber auch normal, weil in der Routing Tabelle die Default Route immer noch die WAN-Schnittstelle ist.
Nur wenn ich diese lösche, d. h. das Default GW explizit auf die OpenVPN Schnittstelle lege, wird der Traffic über den Standort A geleitet.Nur die angeschlossenen Clients erreichen auch hiermit das Internet nicht.
Das ist schon komisch.Scheinbar ist die pfsense OpenVPN Client am Standort B nicht in der Lage den gesamten Traffic von der LAN-Schnittstelle durch den Tunnel
zum Standort A zu führen um dort ins Internet auszusteigen.Ich bin ratlos, zumal ich echt nicht der Anfänger in diesem Bereich bin.
Danke nochmal für Eure Hilfe.
Gruß
Peter -
Bei welcher pfsense hast denn denn an den NAT-Einstellungen rumgespielt? Richtig wäre eigentlich am Standort A. Da müßtest du dann manuell Regeln für das Netz von Standort B anlegen.
-
Hallo,
die Regeln existieren ja im Standort A (pfSense OpenVPN Server) wie auch im Standort B (pfSense OpenVPN Client) .
Nur kommt der Traffic am Server scheinbar gar nicht erst an.Oder habe ich dich falsch verstanden?
Gruß
Peter