zahni
Goto Top

VPN mit iPhone an pfSense hinter FritzBox

Hallo zusammen, möchte nochmal einen neuen Thread zu diesem Thema eröffnen

Mein Home-Netzwerk sieht wir folgt aus:

netzwerkskizze

FritzBox wird verwendet, weil noch eine ISDN-Anlage am S0-Port hängt.

Folgendes habe ich nach diversen Tutorials bereits gemacht:

1) PortForwarding von FritzBox zu pfSense

portforwarding fb7490

Einstellunge pfSense

a) WAN Interface

wan interface pfsense

b) IPSec Einstellungen

pfsense -ipsec-tunnels

pfsense mobileclients-phase 1

pfsense vpn user angelegt

pfsense firewall rules ipsec


Bei Einwahl vom iPhone kommt ein Timeout-Fehler: VPN-Server antwortet nicht. Firewall-regeln auf der pfSense sind ja momentan Alle Schleusen auf

Hatte auch mal testweise eine VPN-Veerbindung in der FritzBox konfiguriert, die auch zustande kam, allerdings wurde den Clients dann eine IP-Adresse aus dem Netz der fritzBox zugewiesen, also
192.168.33.xx, mit der ich dann natürlich nicht auf mein lokales Netz 192.168.3.x zugreifen konnte.

Vielleicht sieht ja jemand auf die Schnelle einen kapitalen Fehler!

Content-Key: 329066

Url: https://administrator.de/contentid/329066

Printed on: April 19, 2024 at 22:04 o'clock

Member: aqui
aqui Feb 10, 2017, updated at May 09, 2019 at 11:37:28 (UTC)
Goto Top
Es gibt im Forum dazu ein dediziertes Tutorial das alles dazu erklärt:
IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten


Der Knackpunkt ist hier wie immer die FritzBüx. Sie selber kann auch IPsec und forwardet dann IPsec Packete nicht auf die pfSense obwohl du das Port Forwarding korrekt eingetragen hast !
Die Lösung ist aber kinderleicht. Du musst auf der FB lediglich den VPN Dienst deaktivieren, dann klappt das auch sofort.

Achtung auch an der pfSense am WAN Port. Dort musst du ebenfalls in der inbound Rule eingehende (Source: any) UDP 500, 4500 und ESP Pakete auf die WAN Port Adresse der pfSense erlauben. Leider fehlte dieser Screenshot oben face-sad

Den Rest erklärt dir dieses Tutorial was du ja sicher schon gelesen hast:
IPsec VPN Praxis mit Standort Vernetzung Cisco, Mikrotik, pfSense, FritzBox u.a
Member: zahni
zahni Feb 10, 2017 at 18:39:37 (UTC)
Goto Top
Hier der fehlende Screenshot:
pfsense wan firewallrules

dachte, dass durch die "Scheunentorregel" schon alles abgedeckt war.

An der Fritzbox habe ich den VPN gelöscht, es sei denn der Dienst läuft irgendwo im Hintergrund automatisch?

fritzbox-kein-vpn

Leider immer noch die gleiche Fehlermeldung: VPN-Server antwortet nicht.

Gibt es eine LogFile, das während des Verbindungsaufbaus mit protokolliert?
Member: aqui
aqui Feb 10, 2017 at 19:56:33 (UTC)
Goto Top
Hier der fehlende Screenshot:
Die 3 IPsec Regeln sind natürlich Schwachsinn wenn du dahinter so oder so eine Scheunentor Regel implementiert hast die das eh alles zulässt.
Mal dumm nachgefragt: Bei so einer Regel hast du die Firewall ja quasi ausgeschaltet, was macht die denn da dann noch für einen Sinn ??? Dann kannst du sie auch gleich weglassen.
Oder ist die Regel jetzt nur testweise um das VPN zu testen ?
dachte, dass durch die "Scheunentorregel" schon alles abgedeckt war.
Ja, dem ist so...
Leider immer noch die gleiche Fehlermeldung: VPN-Server antwortet nicht.
Mmmhhh...
Gehe mal auf die pfSense unter Diagnostics --> Packet Capture wähle dort das WAN Interface aus und starte den Packet Capture.
Dann startest du den IPsec Client auf dem iPhone und versuchst eine Verbindung auf die pfSense aufzumachen.
15 Sek. warten und Capture wieder schliessen.
In der Anzeige der Pakete solltest du dann UDP und ESP Pakete mit der Absender IP des iPhone sehen.
Bedenke hier das als Ziel IP für den IPsec Client immer die öffentliche IP der FritzBox angegeben werden muss !
Oder falls du die FB mit einem DDNS Dienst verbunden hast diese Hostadresse !
Wenn du keine eingehenden UDP 500, 4500 oder ESP Pakete siehst forwardet die FritzBox dann weiterhin KEIN IPsec auf die pfSense.
Du kannst auch die pfSense mal temporär abziehen und einen Laptop stattdessen anklemmen an die FB der die gleiche IP Adresse hat wie der WAN Port der pfSense.
Auf diesem Laptop startest du dann mal den Wireshark Sniffer und wieder den IPsec Client am iPhone. Der stellt die mitgeschnittenen IPsec Protokollpakete grafisch etwas übersichtlicher dar als die pfSense.
So oder so solltest du aber IMMER eingehende IPsec Pakete da gehen wenn der VPN Client versucht den Tunnel zu öffnen.
Siehst du sie nicht forwardet die FritzBüx nix !!

Greifst du mit dem iPhone über ein Mobilfunknetz zu per VPN ??
Auch hier besteht die Gefahr das der Mobilfunkprovider IPsec filtert. Das wird oft gemacht wenn man billig nur Surf Accounts hat und keinen Business Account. Viele Billig Provider geben das erst bei Business Accounts frei.
Das solltest du sicher klären vorab
Member: zahni
zahni Feb 10, 2017 at 21:56:31 (UTC)
Goto Top
Hallo aqui,
danke für deine Mühe, melde mich tatsächlich über Mobilfunk an, habe aber einen Businesstarif.
Hier mal die UPD-Einträge aus dem Logfile

22:48:04.377268 IP 192.168.33.2.34449 > 109.237.187.235.4500: UDP, length


22:48:00.039915 IP 192.168.33.2.37147 > 212.224.77.69.25565: tcp 0
22:48:00.049020 IP 192.168.33.2.31363 > 62.156.209.202.53: UDP, length 51
22:48:00.049024 IP 192.168.33.2.38676 > 96.17.152.39.53: UDP, length 51
22:48:00.071732 IP 62.156.209.202.53 > 192.168.33.2.31363: UDP, length 67
22:48:00.073724 IP 96.17.152.39.53 > 192.168.33.2.38676: UDP, length 56
22:48:00.077074 IP 192.168.33.2.37147 > 212.224.77.69.25565: tcp 4

Sieht für mich schon ein wenig komisch aus, 192.168.33.2 ist ja das WAN-Interface der pfSense.
Member: aqui
aqui Feb 11, 2017, updated at May 09, 2019 at 11:38:41 (UTC)
Goto Top
22:48:04.377268 IP 192.168.33.2.34449 > 109.237.187.235.4500: UDP, length
Das sieht gut aus ! 109.237.187.235 bedeutet das dein Telefon im T-Mobile oder Congstar Netz ist oder ein Carrier der das T-Com Mobilfunknetz benutzt face-wink
Alle anderen Daten sind aber uninteressant. Das kannst du daran sehen das der Port nicht zum IPsec Protokoll gehört.
Die 5te Zahl hinter der IP gibt den Port an. Z.B.
IP 192.168.33.2.38676 > 96.17.152.39.53: UDP, length 51

Bedeitet das das IP Paket eine Absender IP 192.168.33.2 hat mit dem Absender Port UDP 38676 und als Zieladresse 96.17.152.39 mit dem Zielport UDP 53
UDP 53 ist DNS also Nameserver. Daraus wird klar das die Firewall hier ein Name Server Query an die 96.17.152.39 (Akamai Name Server USA) stellt.
DNS hat mit dem IPsec VPN primär nix zu tun. Ist aber klar das solche Pakete da landen denn du machst keine Filterung.
Man könnte mal eingehend auf die 109.237.187.235 filtern, dann würdest du nur die Pakete sehen die vom und an dein iPhone gehen. Musst du aber immer neu checken, denn die IP Adressen in Mobilfunknetzen sind dynmaisch und ändern sich täglich. Im Zweifel also immer ins Setup des iPhone sehen und prüfen was für eine IP du aktuell hast.
Da aber UDP 4500 durchkommt ist das schonmal ein Teilerfolg.
Es ist aber nur eben ein Teil des IPsec. Da müssen auch UDP 500 und besonders ESP Pakete kommen. ESP transportiert den Tunnel an sich.
Ohne die ist das IPsec Portforwarding auf der FB unvollständig !

Was du auch mal testen kannst ist das iPhone testweise in das WLAN der FB einzubuchen.
Das Mobilfunknetz deaktivierst du im iPhone
Damit ist das iPhone dann direkt im LAN Netzwerk der FB und somit auch direkt im Netz des pfSense WAN Ports.
Du umgehst also quasi das Port Forwarding der FritzBox aus dem Internet und diese potentielle Fehlerquelle.
Auch kann das iPhone das VPN dann nur noch zwangsweise über das WLAN aufbauen, da du ja den Daten Mobilfunkzugang gesperrt hast.
Damit kannst du dann absolut sicherstellen das dir das Port Forwarding der FB keinen Streich mehr spielt, denn es ist so umgangen und du bist quasi DIREKT mit deinem VPN an der pfSense dran ohne Hindernisse.
Wenn du dem iPhone Client dann als Ziel IP Adresse nun die 192.168.33.2 also die pfSense WAN IP mitgibst, baut dieser direkt die VPN Verbindung auf.
Das sollte in jedem Fall klappen denn nun hast du keine Hindernisse mehr dazwischen.
Voraussetzung ist natürlich das deine Firewall Regeln korrekt sind aber das kannst du mit Hilfe des pfSense Logs und VPN Logs und auch Paket Sniffers dann sauber verifizieren.
Klappt damit der VPN Zugang weisst du ganz sicher das die vorliegende FritzBüx der böse Bube ist und das dort am Paket Forwarding dann was nicht klappt !
Der Test lohnt in jedem Falle !
Mitglied: 132272
Solution 132272 Feb 11, 2017 updated at 11:24:38 (UTC)
Goto Top
Hatte auch mal testweise eine VPN-Veerbindung in der FritzBox konfiguriert, die auch zustande kam, allerdings wurde den Clients dann eine IP-Adresse aus dem Netz der fritzBox zugewiesen, also 192.168.33.xx, mit der ich dann natürlich nicht auf mein lokales Netz 192.168.3.x zugreifen konnte.
Ist ja normal weil hier dann erstens eine Route auf der Fritte in dieses Netz fehlt und zweitens das NAT der PFSense blockt. Wenn du nun anstatt auf der PfSense NAT zu betreiben das NAT abschalten würdest und auf der Fritte eine statische Route ins 192.168.33.x/24 Netz mit GW-IP der PFSense gesetzt hättest, wäre auch ein direkter Zugriff auf dein Netz hinter der PFSense kein Problem so denn die Firewall in der PFSense dies per Regel zulässt face-smile. Alles simpelstes Routing-ABC das jeder Netzwerker aus dem FF beherrschen sollte.

Gruß
Member: aqui
Solution aqui Feb 11, 2017 updated at 12:08:33 (UTC)
Goto Top
Besser hätte man es nicht sagen können... face-wink
Allerdings zeigt das aber auch klar das irgendwas am IPsec Port Forwarding an der FB nicht stimmt.
Zu 98% hat der TO eben nicht das VPN bzw. den VPN Service deaktiviert auf der FB und dann forwardet sie eben keine IPsec Pakete auch wenn diese fürs Port Forwarding eingetragen ist.
Der Sniffer Output von oben lässt das leider vermuten und genau deshalb macht es sehr viel Sinn den VPN Test mal ohne die FB davor zu machen wie oben beschrieben um überhaupt erstmal zu verifizieren das die IPsec Konfig direkt mit der pfSense Firewall auch sicher klappt.
Member: zahni
zahni Feb 11, 2017 at 12:39:04 (UTC)
Goto Top
@aqui,
gerade wie von Dir vorgeschlagen mit FB-WLAN getestet, VPN-Verbindung steht nach gefühlten 2 ms!!
An der FritzBox ist aber wirklich kein VPN mehr eingerichtet, außer der Dienst muss noch manuell irgendwo gestoppt werden.
DynDns ist noch eingerichtet, aber die Box kann ja nicht davon ausgehen, dass dann immer VPN verwendet werden wird.

@papier, wenn es jetzt garnicht klappen sollte, wie wäre dann der Ablauf, wenn die FB VPN übernehmen soll
a) NAT auf pfSense deaktivieren
b) Statische Route vom 192.168.33.x Netz ins 192.168.3.x
Member: zahni
zahni Feb 11, 2017 at 13:01:34 (UTC)
Goto Top
Kann VOLLZUG melden.

FritzBox vom Netz genommen und neu gestartet...

Vielen Dank für eure Hilfe!!!
Mitglied: 132272
132272 Feb 11, 2017 updated at 13:52:43 (UTC)
Goto Top
Zitat von @zahni:
@papier, wenn es jetzt garnicht klappen sollte, wie wäre dann der Ablauf, wenn die FB VPN übernehmen soll
a) NAT auf pfSense deaktivieren
b) Statische Route vom 192.168.33.x Netz ins 192.168.3.x
Jepp auf der Fritte sähe diese dann so aus
Netz 192.168.3.0
Maske 255.255.255.0
Gateway 192.168.33.2

Zitat von @zahni:
Kann VOLLZUG melden.

FritzBox vom Netz genommen und neu gestartet...
Dann kann das Wochenende ja kommen face-smile

Danke für die Rückmeldung.

Gruß
Member: aqui
aqui Feb 11, 2017, updated at May 09, 2019 at 11:40:15 (UTC)
Goto Top
FritzBox vom Netz genommen und neu gestartet...
Klasse ! Glückwunsch ! face-smile
Gut zu wissen das man die FB besser einmal durchstarten sollte. Ist aber im Nachhinein auch verständlich wenn da nch irgendwelche Session Caches aktiv sind.
Supi wenns nun klappt wie es soll.
Und nicht vergessen...:
Unbedingt die üble Scheunentor Regel vom pfSense WAN Port wieder dichtmachen ! Du lässt deine Haustür ja auch nicht sperrangelweit offen, oder ? face-wink
Member: zahni
zahni Feb 13, 2017 at 09:34:03 (UTC)
Goto Top
Aqui, vielen Dank nochmal für die Rückmeldung!

Nochmal kurz zur Firewall: Gibt es ein "Standard-Set" von Firewalleinstellungen für den Hausgebrauch?
Was sollte im Allgemeinen gehen:

a) emails (pop und imap)
b) Kinder YouTube erlauben , Playstation saugt auch gerne das ein oder andere Update.
c) Surfen im www
d) VPN Ports habe wir ja schon durch.
d) Jegliche Online-Bestellmöglichkeit über Amazon, Zalando, Conleys etc. für meine Frau sperren face-smile

Viele Grüße
Member: aqui
aqui Feb 13, 2017 at 11:34:36 (UTC)
Goto Top
Punkt d. ist hier ganz wichtig ! face-big-smile
Nein Standard gibts so nicht und hängt immer von individuellen Anforderungen und Policies ab, du hast schon die wichtigsten genannt.
d solltest du im Hinblick auf ein harmonisches Familienleben nochmal überdenken sonst darfst du die nächsten 3 Monate die 31.192.120.44 nicht sperren in der FW ! face-big-smile
Member: dremeier
dremeier May 09, 2019 at 11:26:09 (UTC)
Goto Top
Hallo in die Runde,
darf ich mich an den Thread dran hängen?

Die Konstellation des Thread-Erstellers ist auch bei mir vorhanden. Durch die Hilfe aus diesem Thread konnte ich schließlich erfolgreich eine VPN Verbindung aufbauen. Die VPN-Verbindung besteht nun zwischen iPhone (LTE-Netz) und der pfsense.

Problem: die IP-Adresse des iPhone (über myip abgefragt o.ä) ist nicht die aus dem Heimnetz oder meine DSL-IP, nein es ist die IP vom LTE-Netz. Also die gleiche IP ohne VPN Verbindung. Auch kann ich meine Clients im Heimnetz nicht ansprechen.

Könnt ihr mir da bitte helfen, ich finde keinen Ansatz zur Fehler suche? Danke!
Member: aqui
aqui May 09, 2019 updated at 11:42:15 (UTC)
Goto Top
darf ich mich an den Thread dran hängen?
Aber immer doch ! Genau dafür ist ein Forum ja da face-wink
Die VPN-Verbindung besteht nun zwischen iPhone (LTE-Netz) und der pfsense.
Klappt auch problemlos...
Mittlerweile gibt es ein dediziertes und eigenes Tutorial dafür hier im Forum:
IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten
nein es ist die IP vom LTE-Netz.
Das ist auch völlig normal und richtig so !
Das VPN auf der pfSense ist vermutlich als Split Tunnel konfiguriert, richtig ?
Dann wird einzig nur der Traffic ins remote Netz in den Tunnel geroutet und alles andere wird dann lokal, mit der Absender IP des LTE Netzes, bedient. Genau deshalb siehst du auch die LTE IP.
Works as designed.

Wenn du aber dein VPN mit einem Gateway Redirect konfigurierst, also den gesamten Traffic in den VPN Tunnel routest um dann über den remoten Heimnetz Router wieder ins Internet zu gehen, dann bekommst du als Absender IP auch die des Heimnetz Routers am WAN/DSL Port.
Fazit:
Du hast, wenn du Redirect möchtest, vermutlich dein VPN auf der pfSense falsch konfiguriert wenn du alles in den Tunnel routen willst. Sprich Redirect nicht aktiviert sondern normal Split Tunneling gemacht, was ja generell auch üblich ist.
Auch das steht im o.a. Tutorial wie man das dann mit dem Redirect macht.
IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten
Member: dremeier
dremeier May 09, 2019 at 12:31:08 (UTC)
Goto Top
Wenn du aber dein VPN mit einem Gateway Redirect konfigurierst, also den gesamten Traffic in den VPN Tunnel routest um dann über den remoten Heimnetz Router wieder ins Internet zu gehen, dann bekommst du als Absender IP auch die des Heimnetz Routers am WAN/DSL Port.
Fazit:
Du hast, wenn du Redirect möchtest, vermutlich dein VPN auf der pfSense falsch konfiguriert wenn du alles in den Tunnel routen willst. Sprich Redirect nicht aktiviert sondern normal Split Tunneling gemacht, was ja generell auch üblich ist.
Auch das steht im o.a. Tutorial wie man das dann mit dem Redirect macht.
IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten

Erstmal vielen Dank!!!
Genau nach der, von dir verlinkten Anleitung, habe ich mein VPN eingerichtet. Das mit dem "redirect" konnte ich nur im workaround für Windows 10 aus machen. Wenn ich das richtig verstehe muss redirect oder Split-tunnel im Endgerät, also iPhone oder so, eingestellt werden?
In der pfsense konnte ich eine Einstellung für redirect nicht finden.

so sieht meine VPN aus:
anmerkung 2019-05-09 142903
Member: dremeier
dremeier May 09, 2019 at 12:55:40 (UTC)
Goto Top
jetzt habe ich doch noch etwas gefunden:
ACHTUNG: Wer den gesamten Client Traffic in den Tunnel routen will setzt “Local Network” auf “Network”, und gibt 0.0.0.0 als Adresse und /0 für >das Subnet ein.

sieht dann bei mir so aus:
anmerkung 2019-05-09 145239

leider ist die IP des iPhone noch immer die von meinem LTE-Provider. Was tun?
Member: dremeier
dremeier May 09, 2019 at 13:00:14 (UTC)
Goto Top
hier die aktuelle Verbindung:
anmerkung 2019-05-09 145927
Member: dremeier
dremeier May 10, 2019 at 16:15:46 (UTC)
Goto Top
Leider habe ich noch immer keine Lösung gefunden den gesamten Verkehr durch den Tunnel zu leiten. Könnt ihr mir bitte noch mal helfen? Welche Informationen fehlen noch zur Diagnose??
Member: aqui
aqui May 10, 2019 updated at 16:57:34 (UTC)
Goto Top
Wenn ich das richtig verstehe muss redirect oder Split-tunnel im Endgerät, also iPhone oder so, eingestellt werden?
Nein, es reicht wenn du das remote Netz mit 0.0.0.0 /0 angibst wie im Tutorial beschrieben, dann routet der Client alles in den Tunnel. Auch bei OpenVPN z.B. wir das am VPN Server eingestellt. Nicht am Client.
In der pfsense konnte ich eine Einstellung für redirect nicht finden.
Dann hast du das Tutorial NICHT oder nicht richtig gelesen ! face-sad
IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten
Das gilt für alle Client nicht nur Winblows. Funktioniert hier mit einem iPhone mit aktuellem IOS und Android mit StrongSwan fehlerlos.
eider ist die IP des iPhone noch immer die von meinem LTE-Provider. Was tun?
Benutzt dein LTE Provider im Mobilfunknetz ggf. private RFC 1918 IP Adressen ? Wenn ja dann macht der CGN und dann funktioniert es deshalb nicht.
Bei vielen Billigen "nur Surf" Accounts landet man oft auf einem APN der nur private IP Netze mit CGN nutzt im Funknetz.
Mit öffentlichen IPs im WAN funktioniert es wie gesagt fehlerfrei.
Im Zweifel mal die Log Dateien löschen, dann VPN Verbindung aufbauen und das IPsec Log der FW ansehen. Dort steht in der Regel alles was beim Tunnelaufbau passiert.
Member: dremeier
dremeier May 10, 2019 at 19:48:47 (UTC)
Goto Top
Hallo aqui,
jetzt erst sehe ich das ja Du das Tutorial geschrieben hast! Wahnsinn. Kann ich dich irgendwo supporten?
Die pfsense läuft bei mir mal gerade 5 Tag und mir raucht der Kopf auch wenn mir das Thema nicht ganz neu ist (Ubuntu Server mit dnsmasq und Iptables usw.) habe ich das Gefühl bei der pfsense wieder von Vorne zu beginnen.
Das remote Netz steht auf 0.0.0.0/0, habe nun auch verstanden, das da durch IPsec weiß das alles getunnelt werden muss. Tut es aber nicht. Evtl sind bei mir die Firewall Regeln nicht oder falsch gesetzt.
Ein Log werde ich die Tage mal dran hängen.....
Z.Z. kämpfe ich mit einem ganz anderem Problem und IPsec läuft gar nicht mehr. Ich habe erfolgreich eine OpenVPN Verbindung mit ExpressVPN und pfBlockerNG eingerichtet. Jedoch muss ich einige Geräte von dem OpenVPN Tunnel befreien bzw wifi-Calling umleiten zum anderen kann ich ohne OpenVPN gar nicht mehr in´s Internet. <-- Werde dafür mal einen neuen Thread öffnen müssen.