VPN mit pfSense hinter FritzBox
-
Hallo zusammen,
bei mir läuft eine pfSense als Router und hat (quasie) dauerhaft einen SSL-VPN Tunnel via Internet zu einem entfernten Standort.
Soweit alles prima.Bei einem Bekannten möchte ich nun auch per pfSense einen SSL-VPN Tunnel ebenfalls zu dem entfernten Standort (192.168.1.0) aufbauen.
Bei ihm arbeitet aber eine FritzBox 7490 am DSL Anschluss als DSL Router - das soll auch so bleiben.
Von allen Clients im FritzBox LAN soll der VPN Tunnel genutzt werden können.Nach meinem Verständnis sollte das ja auch funktionieren - dazu würde ich:
- die pfSense ins LAN der FritzBox hängen,
- den SSL Port in der FB auf die pfSense "forwarden" und
- in der FritzBox eine statische Route für den IP-Bereich (192.168.1.0) auf die pfSense zeigen lassen
Hoffe das ist so korrekt.
Meine Frage liegt jetzt im Detail bei der pfSense. Mit welchem Port (WAN oder LAN) sollte die pfSense im LAN der FB hängen?
Wenn ich VPN-Tunnel / Firewall / Routing in der pfSense so konfiguriere wie bei mir, dann würde die pfSense die Clients am LAN Anschluss erwarten und den VPN Tunnel über die WAN Schnittstelle aufbauen wollen. Wie wäre die richtige Anordnung & Konfiguration?Vielen Dank schonmal
jeco -
SSL-VPN Tunnel
aber eine FritzBox 7490Bitte erstmal die Termini überprüfen. SSL VPN Tunnel ist so umgangssprachlich Wischiwaschi Gedöns und kann alles mögliche heißen. Von irgendwelchen eigenen/Herstellerspezifischen Lösungen bis zu OpenVPN.
Nichts desto trotz kann die FB KEIN "SSL VPN". Die Fritz macht IPSec VPN. Punkt. Ergo ist hier an der Stelle nichts mit irgendwelchen SSL Ports und forwarden angesagt, sondern harte IPSec Konfiguration zwischen FB und pfSense gefordert. Damit ist der Rest des Postings leider auch nicht so ganz richtig. Zudem verstehe ich nicht warum du die pfSense hinter die Fritzbox hängen möchtest. Nur für VPN? Oder soll da das ganze LAN dann dahinter und die Fritzbox nur noch Frontrouter spielen? oder bezieht sich das auf deine Seite?
Das müsstest du ein wenig genauer beschreiben, was du da wo wie hinbauen möchtest :)
Grüße
-
Hallo,
was ich im Betreff und im Text versucht habe zu beschreiben ist offenbar nicht ganz verständlich rübergekommen. :-)
Noch ein Versuch.Standort A möchte ich per VPN Tunnel mit Standort B verbinden.
Mir geht es hier nur um Standort A!
An Standort A arbeitet eine FritzBox als DSL-Router.
Im LAN der FritzBox (192.168.2.0) hängen die Clients.
Damit diese Clients auf das LAN an Standort B (192.168.1.0) zugreifen können, möchte ich in das LAN der FritzBox eine pfSense hinzufügen.
Die pfSense soll nur als VPN (OpenVPN) Gateway dienen.[Client1]--- | [Client2]--- | |---[FB Router]---(internet) - - - VPN zu Standort B - - | [Client3]--- | [pfSense]---
Was mir für dieses Scenario nicht klar ist:
- wie muss die pfSense in das LAN der FB gehängt werden - mit dem LAN oder dem WAN Anschluss?
- wie muss die pfSense konfiguriert werden, da sie im LAN nicht als Router arbeitet?
Wenn die pfSense selber (DSL) Router ist, per WAN-Anschluss am Internet hängt, selber die VPN Verbindung aufbaut und am LAN-Anschluss die Clients hängen - das habe ich verstanden und auch mehrfach installiert.
Gruß jeco
-
Vorab die Frage: Die FB direkt mit dem Standort B zu verbinden via IPSec ist keine Möglichkeit? Nur pfSense ins Netz zu stellen um OpenVPN zu machen klingt ein wenig nach Overkill und nach "wir bauen uns Routingprobleme".
- wie muss die pfSense in das LAN der FB gehängt werden - mit dem LAN oder dem WAN Anschluss?
In deinem Szenario braucht die pfSense keine zwei Interfaces. Eines genügt, was dann quasi das WAN wäre. Ist aber wie gesagt in diesem Fall egal. Sie wird dann einfach mit dem einen Interface (WAN) ins lokale Netz 192.168.1.0 gehängt und bekommt die Fritte als Gateway. Denn ganz normal OpenVPN konfigurieren und den UDP/1194 an die Kiste durchreichen.
Problematisch an diesem Setup ist eher die FritzBox, denn die weiß von dem OpenVPN Tunnel nichts. Dort muss also das entfernte Netz noch als Route eingetragen werden, die dann auf die pfSense Kiste zeigt. Ist das erledigt, sollte auch das Routing soweit funktionieren, auch wenn es asymmetrisch läuft.
Grüße
-
Es funktioniert :-)
pfSense mit der (einzigen) NIC in das LAN der FritzBox gehängt
In der FritzBox statische Route eingetragen und Port Freigabe eingerichtet
In der pfSense OpenVPN Tunnel eingerichtet. Prima.Da hätte ich mit mehr Problemen bei der pfSense gerechnet, wenn diese nur eine NIC nutzt, zumal ich über diese aus dem FritzBox LAN auch auf die Web-Konfig Oberfläche gehe und der LAN und VPN Traffic über ein und die selbe Schnittstelle laufen.
IPsec Tunnel per FritzBox aufbauen war hier keine Option.
Danke nochmal und Gruß
-
IPsec Tunnel per FritzBox aufbauen war hier keine Option.
Alles klar :)
Da hätte ich mit mehr Problemen bei der pfSense gerechnet, wenn diese nur eine NIC nutzt, zumal ich über diese aus dem FritzBox LAN auch auf die Web-Konfig Oberfläche gehe und der LAN und VPN Traffic über ein und die selbe Schnittstelle laufen.
Eigentlich nicht :) Auch mit einem Interface ist sie recht handzahm, man muss dann nur berücksichtigen, dass sie das eine Interface auch quasi als WAN sehen würde und im Hinterkopf halten, dass Traffic übers gleiche Interface raus und rein geht (zwecks Regeln etc.), aber sonst funktioniert das - gerade für solche Szenarien als kleines OpenVPN Gateway - im Prinzip recht einfach :)
Grüße
-
Sorry, wenn ich das noch mal hoch hole aber ich stehe vor dem gleichen Problem. Eine pfSense (A) möchte auf die andere pfSense (B), welche hinter einer Fritzbox (Routermodus) hängt. "B" bekommt von der Fritzbox immer die 192.168.178.100 via DHCP zugewiesen. Port 1194 wird zur pfSense durchgereicht. Die OpenVPN Verbindung zwischen beiden pfSense steht und funktioniert auch in so weit, dass ich von "A" nach "B" ins LAN komme. "B" hängt dabei nur mit ihrem LAN Port an der Fritzbox. Von "B" komme ich aber nicht ins Netz von "A". Ich hatte bei "B" auch schon mal testweise die Firewall deaktiviert. Auf der Fritzbox habe ich eine statische Route ins Netz von "A" mit dem Gateway 192.168.178.100 angelegt. Dennoch geht es nicht.
Ich kann jedoch auch schon von "B" aus mittels Ping keinen Clients hinter "A" erreichen.
-
Dann sollst du dein Regelwerk auf der B Seite noch mal prüfen, das dieses auch den gewünschten Datenverkehr nach A durchlässt, ich denke du wirst an diese Stelle scheitern, denn die Route hat die Fritz ja bereits.
-
Eine allow any any sowie ein "pfctl -d" brachten keine Besserung. Muss ich an der Outbound NAT noch etwas machen?
-
@mrsunfire said in VPN mit pfSense hinter FritzBox:
"B" hängt dabei nur mit ihrem LAN Port an der Fritzbox.
Das ist nicht ideal.
Warum läuft nicht das ganze B-Netz über die pfSense?@mrsunfire said in VPN mit pfSense hinter FritzBox:
Auf der Fritzbox habe ich eine statische Route ins Netz von "A" mit dem Gateway 192.168.178.100 angelegt. Dennoch geht es nicht.
Das reicht nicht. Es liegt ein asymmetrisches Routing vor.
Damit dieser Aufbau funktioniert, müsstest du auf jedem einzelenen Gerät in B, das mit A kommunizieren soll, eine statische Route anlegen.
-
Nein muss nicht, die Fritz ist GW in dem Netz und gibt das Netz von A, was hoffentlich ein anderes ist als 192.168.178.0/24 an die pfsense B weiter.
Die hat über den Tunnel das Netz von A in der Routing Tabelle und schickt es durch den Tunnel. Die ESP Pakete laufen dann zur Fritz und dann ins WAN, da sie an die Public IP von Standort A gerichtet sind. -
Netz A ist 192.168.1.0/24, Netz B ist 192.168.178.0/24. Die B hängt nur mit WAN (nicht LAN) an der Fritzbox. Von A kann ich B erreichen, aber umgekehrt nicht. Von der B pfSense kommt gefühlt nicht mal etwas bei A an, zumindest zeigen die Firewalllogs und ein Paketmitschnitt nichts an.
-
@mrsunfire said in VPN mit pfSense hinter FritzBox:
Die B hängt nur mit WAN (nicht LAN) an der Fritzbox.
Das macht die Sache auch nicht besser.
-
Ich verstehe nicht, wieso es nicht klappt. Bei den Routingtabellen sieht man auf der B auch schön, dass das korrekte Gateway für das A Netz genutzt wird.
-
@viragomann said in VPN mit pfSense hinter FritzBox:
Warum läuft nicht das ganze B-Netz über die pfSense?
Weil die Fritzbox WLAN und DECT macht.
-
Überzeuge dich erst mal, ob die Pakete bei der pfSense ankommen.
Diagnistic > Packet Capture ist hier das Werkzeug.Wähle das WAN, das am B-Netz hängt, und starte das Capture und versuche eine Verbindung von einem Gerät aufzubauen.
Sind die Pakete da, kannst du auf das OpenVPN Interface umschalten und da noch mal sniffen. Achte auch auf die Antwortpakete.Die Pings sollten eigentlich gehen, wenn die FB sie weiterroutet. Die sind nicht auf asymmetrisches Routing anfällig, weil sie zustandslos sind.
Falls nicht, ist vielleicht in der Interface-Konfiguration "Block private networks" angehakt.
Aber TCP-Verbindungen werden so nicht funktionieren. -
Auf dem WAN Interface von B sehe ich keine ICMP raus gehen. Ich sehe nur die TCP Verbindungen zwischen der öffentlichen IP von A und der 192.168.178.100 von B. Mein OpenVPN läuft via TCP.
Auf dem OpenVPN Interface bei B sehe ich dagegen ICMP ausgehend, es kommt aber nichts zurück. -
Das hier ist noch mal der OpenVPN Server bei B:
Und das der OpenVPN Client bei A:
-
Ich habe jetzt auf B meine Firewallregeln frisch durchgeladen und bekomme seitdem das bei einem Versuch nach A zu kommen:
Wieso antwortet hier die Fritzbox? (192.168.178.1)
-
@mrsunfire said in VPN mit pfSense hinter FritzBox:
Auf dem OpenVPN Interface bei B sehe ich dagegen ICMP ausgehend, es kommt aber nichts zurück.
Ist abstrakt, wenn man es nicht selbst sieht.
Die Pakete haben da nach wie vor die originale Quell-IP aus dem B-Netz?Ggf. auf A weiter untersuchen.
Was mir auffällt ist dass du ein /24 Tunnelnetz hast. Habe zwar hier schon einige Meldungen gelesen, dass dies belanglos sei, aber ich bevorzuge dennoch ein /30er für Site2Site plus ein eigenes Interface für die OpenVPN Instanz auf jeder Seite.