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.
-
@mrsunfire said in VPN mit pfSense hinter FritzBox:
Wieso antwortet hier die Fritzbox? (192.168.178.1)
Der Host schickt seine Echo Requests auf die FritzBox, nachdem diese das Standardgateway ist und er keine bessere Route für die Remoteseite hat.
-
Ich habe gerade festgestellt, dass (wieso auch immer) eine Gatewaygruppe auf B erstellt war und dort WAN als Tier 2 und OpenVPN ohne Zuordnung hinterlegt war. Habe es nun gelöscht und starte frisch durch. Da ich nicht vor Ort bin und dort keinen Client zum spielen habe, bin ich auf die SSH und WebGUI Diagnosemöglichkeiten beschränkt. Mittelst SSH ist die Source IP die, des OpenVPN Gateways auf B.
Hier sieht man den Versuch das Netz hinter A zu erreichen:
EDIT: auch nach Reboot und ohne Gatewaygruppe gleiches Verhalten.
-
@mrsunfire said in VPN mit pfSense hinter FritzBox:
Mittelst SSH ist die Source IP die, des OpenVPN Gateways auf B.
Heißt, dass du auf dem VPN-Interface eine Outbound NAT Regel hast.
Aber die kann keine Erklärung dafür sein, dass nichts zurück kommt, im Gegenteil, das sollte es vereinfachen.192.168.1.1 ist die pfSense auf A? Ist diese auch das Standardgateway?
-
Die 192.168.1.1 ist die LAN IP der pfSense bei A, korrekt. Das OpenVPN Gateway auf A hat die 10.100.1.2. Auf A (Client) sieht es dann so aus:
Unbound NAT auf B so:
-
Wenn 192.168.1.1 die pfSense selbst ist und da am VPN Interface nichts zurückkommt, könnte nur eine Firewall-Regel auf A den Zugriff blockieren, am spezifischen VPN-Interface, auf OpenVPN oder eine Floating-Regel.
Ansonsten würde ich, wie oben erwähnt, den Tunnel auf ein /30er Netz reduzieren.
-
Du meinst so?
Die VPN bzw. OpenVPN Interfaces stehen aktuell komplett offen auf beiden Seiten, um genau das auszuschließen.
Das Problem scheint auch, dass meine ICMP irgendwo "gefressen" werden. Ich vermute da stark die Fritzbox. Ein Gerät das eben noch antwortete, bringt nun nichts mehr zurück. Ich erreiche es aber via HTTP und FTP. Ich werde morgen dort einen Client mittels Teamviewer laufen lassen um etwas besser zu diagnostizieren.
Vielleicht hat aber sonst noch jemand eine Idee.
-
Ja, auf beiden Seiten, natürlich.
Voraussetzung ist, dass es nur einen Client gibt. -
Edit noch lesen bitte. Der Tunnel ist nun auf beiden Seiten ein /30 und funktioniert auch von A nach B.
EDIT: gerade wo ich es schreibe, versuche ich noch ein letztes Mal von B nach A zu kommen und das erste Mal geht ein ICMP tatsächlich sauber durch!
-
Wenn das auch für TCP funktionieren sollte, müsste die FB ein "Masquerading" machen, d.h. die Quell-IP in Ihre eigene umsetzen.
Ich kenne das Gerät nicht und fühle mich nicht mal schlecht dabei. Vielleicht tut sie es, vielleicht lässt es sich einrichten.Edit:
Bezüglich des /30er Tunnels haben hier tatsächlich Leute behauptet, es wäre irrelevant. Hatte mich ohnehin nicht darauf verlassen wollen. -
Ich bin froh noch nie eine Fritzbox gehabt zu haben und ich weiß wieder warum. Aber Laien ist sie teilweise nicht schlecht und ausreichend. Aber die 7490 ist im Site-to-Site derart lahm, dass man besser USB Sticks per Brieftaube verschickt. Darum wollte ich eine ausrangierte pfSense dort platzieren, was nun auch funktioniert dank Deines Tipps und nun rutschen die 50 MBit/s was der Leitung im Upstream her gibt sauber durch.
Danke! Eine Erklärung warum das passiert, hast Du aber sicher auch nicht? Ich dachte echt ich steh im Wald.
-
Das kann aber nur ein Käfer sein, denn ob jetzt /24 oder /27 oder /30 sollte auf das Routing keine derartigen Auswirkungen zeigen.
Ja Fritz und VPN, geiler Witz, bei 4-8Mbit Gurken die Dinger auf CPU Anschlag rum, habe daher bei meinen Eltern auch ein SG-1100 aufgestellt. Seit dem ist für das NAS Backup Line Speed angesagt.
Als TK und DECT Stationen sind die super, dafür habe ich mir auch eine in der Bucht geschossen, aber als gescheites VPN GW, Firewall usw. kannst die nicht verwenden.Hast du die 2.4.5 drauf, dann könntest du auf die p1 anheben, vorhin gemacht, da wurde richtig viel gefixed.
-
@mrsunfire said in VPN mit pfSense hinter FritzBox:
Eine Erklärung warum das passiert, hast Du aber sicher auch nicht?
Nein.
Mit einem CSO funktioniert es angeblich. Aber wer möchte das für eine Site2Site einrichten?
-
@NOCling said in VPN mit pfSense hinter FritzBox:
Das kann aber nur ein Käfer sein, denn ob jetzt /24 oder /27 oder /30 sollte auf das Routing keine derartigen Auswirkungen zeigen.
Ja Fritz und VPN, geiler Witz, bei 4-8Mbit Gurken die Dinger auf CPU Anschlag rum, habe daher bei meinen Eltern auch ein SG-1100 aufgestellt. Seit dem ist für das NAS Backup Line Speed angesagt.
Als TK und DECT Stationen sind die super, dafür habe ich mir auch eine in der Bucht geschossen, aber als gescheites VPN GW, Firewall usw. kannst die nicht verwenden.Hast du die 2.4.5 drauf, dann könntest du auf die p1 anheben, vorhin gemacht, da wurde richtig viel gefixed.
Die P1 läuft schon bei mir, Remote bin ich immer vorsichtig wenn ich nicht kurzfristig physikalisch an die Kiste ran kann.
-
Verständlich, aber da muss man sich bei Appliances direkt vom Hersteller zum Glück wenig Sorgen machen.
-
Na, vielleicht weniger. Hatte noch nie eine von Netgate und bisher auch keine Probleme. Aber safty first und so. Man muss sich ja nicht noch mehr Sorgen machen als man mit einer Fritzbox als Router davor schon hat
-
Leider ist heute Abend grundlos der VPN Tunnel zusammengebrochen und lässt sich auch nicht mehr aufbauen. (Ich nutze nun die Gelegenheit für das Update auf P1).
Das sind die Logs von B:
Und das von A:
EDIT: es stellte sich heraus, dass bei der Fritzbox (VDSL Leitung) eine Zwangstrennung stattfand :(. Wie bekomme ich es denn nun hin, dass sich OpenVPN wieder automatisch verbindet?
-
Baut der nicht auf, sobald ein Client Daten an ein Ziel sendet?
-
@mrsunfire said in VPN mit pfSense hinter FritzBox:
Ich nutze nun die Gelegenheit für das Update auf P1
Vor dem Update??
Es gibt da ein Problem mit der p1 mit einer bestehenden TCP-Konfiguration:
https://forum.netgate.com/topic/154365/openvpn-tcp-in-2-4-5-p1-not-working/2
Im Detail habe ich es mir auch noch nicht angesehen, habe mir nur den Link gesichert, weil ich zuhause auch eine TCP-OpenVPN habe. -
Ja, das war vor dem Update. Das Update ist nun drauf und die Verbindung steht. Ich bin gespannt und berichte.