PfSense - VPN IPsec keine Verbindung von extern
Hallo liebe Forenmitglieder,
ich habe mich jetzt mal an meine VPN Konfiguration gemacht und Probleme bei der Verbindung von außerhalb.
Konfiguriert habe ich exakt nach dieser sehr guten Anleitung
IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten
Meine Hardware Konfiguration
Telekom Glasfasermodem (Down=100MBít/s ; Up=50MBit/s) > pfSense als Router / Firewall mit PPPoE Einwahl.
Es ist somit keine Kaskade vorhanden und WAN der pfSense sollte über meine öffentliche IP Adresse erreichbar sein.
Problem
Als Test habe ich das Certifikat in ein iPhone installiert und dort den VPN Zugang konfiguriert.
Ich habe zwar keine statische IP aber für den Moment geht es ja auch mit der aktuelle zugewiesenen öffentlichen IP. Diese war 84.150.xxx.xxx.
Wenn ich mit dem iPhone noch mit meinem Hausnetz verbunden bin funktioniert das Verbinden über VPN. Das iPhone und auch die pfSense zeigt eine aktive Verbindung an. Trenne ich das iPhone jedoch vom Hausnetz und versuche mich somit über das iPhone Vodafone 3G Netz einzuwählen klappt es nicht.
In System / Advanced / Firewall & NAT ist zugelassen das VPN automatisch FIrewall Rules erstellen darf welche in /tmp/rules.debug folgendermaßen sichtbar sind.
Frage
pfSense so wie im Tutorial konfiguriert. Hier noch einmal als Screenshots
Edit Phase 1
Edit Phase 2
Mobile Clients
Preshared Keys
Firewall Rule IPsec
Konfiguration des Certifikates
Diese beiden (Server Zertifikat und die CA) habe ich dann auch in das iPhone importiert. Dies ist im Tutorial aber etwas wiedersprüchlich, da dort gesagt wird man soll das Serverzertifikat importieren, dann aber das man zum CA Reiter soll. Das Serverzertifikat ist jedoch unter certificates.
CA
certificates
Und die Konfiguration des VPN im iPhone (Serveradresse funktioniert natürlich nur solange wie diese aktuell ist)
ich habe mich jetzt mal an meine VPN Konfiguration gemacht und Probleme bei der Verbindung von außerhalb.
Konfiguriert habe ich exakt nach dieser sehr guten Anleitung
IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten
Meine Hardware Konfiguration
Telekom Glasfasermodem (Down=100MBít/s ; Up=50MBit/s) > pfSense als Router / Firewall mit PPPoE Einwahl.
Es ist somit keine Kaskade vorhanden und WAN der pfSense sollte über meine öffentliche IP Adresse erreichbar sein.
Problem
Als Test habe ich das Certifikat in ein iPhone installiert und dort den VPN Zugang konfiguriert.
Ich habe zwar keine statische IP aber für den Moment geht es ja auch mit der aktuelle zugewiesenen öffentlichen IP. Diese war 84.150.xxx.xxx.
Wenn ich mit dem iPhone noch mit meinem Hausnetz verbunden bin funktioniert das Verbinden über VPN. Das iPhone und auch die pfSense zeigt eine aktive Verbindung an. Trenne ich das iPhone jedoch vom Hausnetz und versuche mich somit über das iPhone Vodafone 3G Netz einzuwählen klappt es nicht.
In System / Advanced / Firewall & NAT ist zugelassen das VPN automatisch FIrewall Rules erstellen darf welche in /tmp/rules.debug folgendermaßen sichtbar sind.
# VPN Rules
pass in on $WAN reply-to ( pppoe0 62.155.xxx.x ) proto udp from any to (self) port = 500 tracker 1000113691 keep state label "IPsec: Mobiluser Phase 1 - inbound isakmp"
pass in on $WAN reply-to ( pppoe0 62.155.xxx.x ) proto udp from any to (self) port = 4500 tracker 1000113692 keep state label "IPsec: Mobiluser Phase 1 - inbound nat-t"
pass in on $WAN reply-to ( pppoe0 62.155.xxx.x ) proto esp from any to (self) tracker 1000113693 keep state label "IPsec: Mobiluser Phase 1 - inbound esp proto"
Frage
- Was kann ich falsch gemacht haben das ich keine VPN Verbindung von außerhalb bekomme?
- Meine öffentliche IPv4 Address ist 84.150..., in den VPN Rules wird eine Gateway IPv4 mit 62.155... angezeigt. Was ist der Unterschied und macht das eventuell Probleme?
pfSense so wie im Tutorial konfiguriert. Hier noch einmal als Screenshots
Edit Phase 1
Edit Phase 2
Mobile Clients
Preshared Keys
Firewall Rule IPsec
Konfiguration des Certifikates
Diese beiden (Server Zertifikat und die CA) habe ich dann auch in das iPhone importiert. Dies ist im Tutorial aber etwas wiedersprüchlich, da dort gesagt wird man soll das Serverzertifikat importieren, dann aber das man zum CA Reiter soll. Das Serverzertifikat ist jedoch unter certificates.
CA
certificates
Und die Konfiguration des VPN im iPhone (Serveradresse funktioniert natürlich nur solange wie diese aktuell ist)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 636016
Url: https://administrator.de/forum/pfsense-vpn-ipsec-keine-verbindung-von-extern-636016.html
Ausgedruckt am: 22.12.2024 um 13:12 Uhr
12 Kommentare
Neuester Kommentar
Könnte sein das genau das das Problem ist. Wenn du in deinem Zertifikat keinen DNS oder IP der WAN-Schnittstelle angibst und im IPhone dann die IP/DNS einrichtest. Kann das Zertifikat in diesem Fall nicht verifiziert werden.
Deshalb brauchst du entweder ein DynDNS oder eine feste IP, sonst geht es nicht. Dies muss dann wiederum als SAN im Zertifikat konfiguriert werden. In dem Tutorial von aqui steht auch explizit drin, alle möglichen Varianten eintragen! Intern ist es wiederum kein Problem, da du es ja mit "pfsense" ansprichst.
Deshalb brauchst du entweder ein DynDNS oder eine feste IP, sonst geht es nicht. Dies muss dann wiederum als SAN im Zertifikat konfiguriert werden. In dem Tutorial von aqui steht auch explizit drin, alle möglichen Varianten eintragen! Intern ist es wiederum kein Problem, da du es ja mit "pfsense" ansprichst.
Was steht denn bei dir im pfSense VPN Log wenn du dich mit dem Client verbinden willst ???
Das wäre ja zuerst der erste Anlaufpunkt ?!
Ggf. sollte du das Log VORHER löschen mit Klick auf
Sinnvoll ist auch vorher die Log Reihenfolge zu ändern, damit du nie neuesten Messages immer oben hast:
Der Logoutput sagt in der Regel im Klartext wo der Fehler ist !
Das wäre ja zuerst der erste Anlaufpunkt ?!
Ggf. sollte du das Log VORHER löschen mit Klick auf
Sinnvoll ist auch vorher die Log Reihenfolge zu ändern, damit du nie neuesten Messages immer oben hast:
Der Logoutput sagt in der Regel im Klartext wo der Fehler ist !
Das iPhone zeigt aber über 4G nun kein VPN Zeichen an.
Welches iPhone Modell hast du ?Bedenke das ältere Modelle kein DH Group 14 und SHA256 supporten. Dann solltest du besser auf DH Group 2 gehen. Siehe dazu auch die Anmerkung im Tutorial !
Im Zweifel kannst du auch auf L2TP umstellen, was etwas toleranter ist.
PfSense VPN mit L2TP (IPsec) Protokoll für mobile Nutzer
Scheint ein jahrelanger Bug zu sein das das VPN Zeichen im Mobilen Netz nicht angezeigt wird.
Nein ! Funktioniert hier mit einem 6, 8er und X mit der pfSense Konfig fehlerlos.Das 6s sollte auch AES 256 und DH Group 14 supporten.
DasiPhone zeigt unter den Einstellungen eine aktive VPN Verbindung an und auch die pfSense meldet das mein VPN User online ist.
Mehr kann man nicht verlangen....works as designed ! 😉Endlich Zugriff von überall auf mein Heimnetz
Glückwunsch ! 👏 So sollte es sein !Zu den Fragen:
1.)
Das kommt immer etwas auf den Client und den Server an. Wenn du ein Redirect an der pfSense konfigurierst dann sendet auch der Apple iOS Client generell alles in den Tunnel.
2.)
Das ist völliger Quatsch und eine absolute Fehlkonfiguration. DNS (53) hat im Port Forwarding absolut NICHTS zu suchen. Normal lernt die Firewall dynamisch vom Provider per DHCP Client oder PPPoE ihren DNS Server. Arbeitet sie in einer Kaskade wird der DNS Server (in der Regel dann der davor kaskadierte Router) statisch als DNS eingetragen.
Zudem muss man zwingend den DNS Prozess richtig einstellen auf der Firewall:
- DNS Forwarder DEaktivieren
- Dann den DNS Resolver AKTIVIEREN
- und zwingend dort den Forwarding Mode aktivieren
Ansonsten ignoriert die Firewall sämtliche DNS Server und fragt statisch immer fest die Root Server !!
Port Forwarding mit DNS ist also generell völliger Quatsch und grundsätzlich falsch.
3.)
In welchem Netz dein iPhone ist siehst du in den TCP IP Settings des Telefons und HE.NET Tools. In welche Netze du darfst kann dir hier ja keiner beantworten, da du es versäumt hast hier mal dein Regelwerk zu posten. Ohne dein pfSense Regelwerk zu kennen braucht man ja die berühmte Kristallkugel um diese Frage zu beantworten, denn das Regelwerk bestimmst DU allein ja selber...
4.)
Was ist wenn ich zwei VLAN von VPN erreichbar machen möchte?
Da gibt es 2 Optionen:- Einmal dein oben angesprochens Gateway Redirect. Also alles in den Tunnel zu routen und damit dann auch alle VLANs erreichbar zu machen.
- Zum anderen trägst du in den Phase 2 SAs des IPsec Setups einfach noch dein 2tes VLAN ein.
Beispiel: Alle deine VLANs haben einen /24er Prefix und liegen im Bereich 172.16.x.0 wobei x die VLAN ID ist. Dann kannst du in der IPsec SA einfach einen 16 Bit Prefix angeben beim remoten Netz also 172.16.0.0 /16 (255.255.0.0) und dann wird sämtlicher Traffic in alle 172.16er Netze in den Tunnel geroutet also alle deine VLANs.
(Damit genau nicht die des Providers genommen werden)
Aber genau DIE will man ja wegen der geringen Laufzeiten verwenden. Schnüffel DNS ala Google 8.8.8.8 macht ja kein normaler Mensch.Und auch wenn solange man den Resolver bzw. Forwarder nicht customized wird gar nichts benutzt weder statisch noch DHCP oder PPPoE sondern immer rein nur die Root Server die in der Firmware hardgecodet sind.
Port Forwarding hat mit dem DNS Setup nicht das Geringste zu tun. Das ist sogar fatal wenn man damit ein Loch in die Firewall bohrt.
ein Rechner nicht den per Default zugewiesenen DNS Server meiner pfSense nehmen, sondern man trägt in Windows z.B. selber einen anderen ein.
Mit "per Default" meinst du per DHCP ?? Dort trägt sofern man es nicht cistomized die pfSense ja immer sich selber ein. Clients bekommen also immer die lokale pfSense IP als DNS, logisch, denn die Firewall arbeitet als DNS Proxy.Wenn man das verhindern will das lokale Clients sich selber böse DNS Server eintragen sei es statisch oder wie auch immer, dann erzeugt man ein entsprechendes Regelwerk am LAN Port indem man UDP oder TCP 53 Traffic rein nur auf die pfsense IP zulässt ihn aber zu anderen Destinationen blockt.
Fertisch !!!
Noch viel besser macht man das mit einem DNS Filter auf der pfSense wie pfBlocker NG
https://www.computing-competence.de/2018/06/11/mit-pfsense-werbung-und-p ...
Oder mit einem PiHole im lokalen Netz als DNS Server:
Raspberry Pi Zero W als Pi-hole Adblocker
Port Forwarding für Port 53 ist der falsche Weg und zudem völlig unsinnig weil das nix mit DNS zu tun hat.
Provide a virtual IP address to clients Was würde sein wenn ich das nicht mache? Was hat das für einen Zweck für meine Verbindung?
Ein IP Client braucht ja nun einmal eine gültige IP Adresse um überhaupt kommunizieren zu können in einem IP Netz. Wie sollte es ohne gehen ??Lass es mal weg, dann siehst du doch was passiert...
Provide a list of accessible networks to clients Wozu macht man das? Was hat man davon?
SecurityVerstehe ich das richtig das dies jetzt von der pfSense Seite aus in den Tunnel geroutet wird?
Richtig verstanden...