android neueinrichtung: openvpn verbindet nicht mehr mit pfsense



  • Hallo zusammen,

    ich nutze Version 2.4.5-RELEASE-p1 (amd64) mit openvpn. Seit Jahren habe ich einen (bis dato auch funktionierenden) OVPN Server laufen, mit dem ich mich immer problemlos verbinden konnte.

    Crypto: AES-256-CBC/SHA1
    D-H Params: 2048 bits 
    

    Nun musste ich aufgrund eines Fehlers mein Android Gerät neu aufsetzen und kann mich nicht mehr verbinden. Ich bin folgendermaßen vorgegangen

    • VPN => OpenVPN

    • Client Export

    • Host Name Resolution: Other

    • Host Name <meine aus dem WAN erreichbare Subdomain, die hierher weiterleitet>

    • Verify Server CN: Automatic

    • sämtliche Check Boxen darunter nicht angeklickt

    • Authentication Only (No Cert) (was mich wundert, denn in der Inline Konfiguration ist doch ein Cert eingebunden..?)

    • Certificate Name: none

    • Unter Export => - Inline Configurations habe ich zuerst Android getestet; als es dann nicht funktionierte jedoch auch Most Clients und OpenVPN Connect (iOS/Android)

    Die exportiere Datei(en) habe ich auf mein Smartphone gepusht. Dort OpenVPN für Android geöffnet, Oben rechts auf das plus, Profilnamen vergeben, import, Datei ausgewählt, in den Einstellungen Benutzername und Passwort eingegeben (Passwort via adb shell input text, also verschrieben haben werde ich mich nicht bei den unzähligen Versuchen.

    Serverliste:

    • Server: <ip>
    • Port: <port>
    • Aktiviert gecheckt
    • Protokoll UDP
    • Proxy keinen

    IP UND DNS

    • Informationen abrufen aktiviert

    ROUTING

    • VPN für lokale Netze umgehen aktiviert
    • `Block IPv6 (or IPv4) if not used by...? aktiviert
    • (alle anderen Boxen nicht aktiviert)

    AUTHENTIFIZIERUNG/VERSCHLÜSSELUNG

    • TLS-Serverzertifikat erwarten gecheckt
    • TLS-Authentifizierung gecheck
    • Verschlüsselungsalgorhytmus AES-256-CBC
    • Paket-Authentifizierung SHA1

    ERWEITERT

    • Persistentes tun-Device aktiviert
    • Eigene Konfigurationsoptionen aktiviert

    Dort steht

    ncp-ciphers
    AES-256-GCM:AES-128-GCM
    

    Bei der Verbindung via mobile Daten bekomme ich dann folgenden Output:

    TCP/UDP: Preserving recently used remote address: [AF_INET]<ip:port>
    UDP link local (bound): [AF_INET][undef]:<port>
    UDP link local (bound): [AF_INET]<ip>:<port>
    TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
    TLS Error: TLS handshake failed
    SIGUSR1[soft,tls-error] receivedm oricess restarting
    

    Die Einstellungen innerhalb pfSense müssen stimmen, da eine Verbindung ja vorher auch jedes Mal hergestellt werden konnte. Ich kann die Subdomain, die auf pfSense weiterleitet, anpingen (also hier ist kein Fehler bezüglich DDNS o.Ä., sodass keine Verbindung zustande kommen würde o.Ä.).

    Ich kann mich erinnern, dass ich dieses Problem jedes Mal habe, wenn ich die Verbindung neu einrichte (Handywechsel oder, wie dieses Mal, -reset). Irgendwann klappt es dann durch Zufall, aber ich wüsste gerne mal, wo der Fehler liegt und was ich tun muss, damit ab jetzt jede neue Einrichtung funktioniert.

    Vielen Dank für Eure Hilfe und beste Grüße


  • LAYER 8 Moderator

    Ahoi,

    @benjsing said in android neueinrichtung: openvpn verbindet nicht mehr mit pfsense:

    Crypto: AES-256-CBC/SHA1
    D-H Params: 2048 bits

    solltest du bei Gelegenheit mal ändern/anpassen. Empfehlung:

    • AES-GCM-256 (oder 128 würde auch reichen wenn die Hardware eher schwächer ist)
    • SHA-256 (SHA-1 ist eigentlich fast überall raus)
    • DH-Params auf EDCH Only (Kurven) setzen und als Kurve "secp384r1" nehmen. Andernfalls DH mit mind. 2048 besser höher nehmen (3k oder 4k). Aber die Kurven sind da einfacher.

    Auch mit den Settings dann NCP deaktivieren, damit keine andere Variante genutzt wird.

    VPN => OpenVPN

    Frage: Welche VPN App verwendest du. Die offizielle OpenVPN App von OpenVPN SE oder die von Arno Schwabe? Letztere ist etwas "technischer" man kann aber wesentlich mehr einstellen und zumindest bei der zweiten weiß ich, dass man sie auch als quick toggle einrichten kann um super schnell VPN an/aus zu haben.

    sämtliche Check Boxen darunter nicht angeklickt

    ich würde empfehlen den "Use Random Local Port" zu verwenden, andernfalls wird versucht abgehend über Port 1194 die Verbindung aufzubauen. Manchmal klappt das nicht, mit dem Haken wird ein random Port >1024 verwendet. Da das Ziel eh fix <name>:1194 ist, ist die Quelle eigentlich egal.

    Certificate Name: none

    Taucht deine Konfiguration so auf? Hast du einen RAS Server nur mit User/Pass erstellt oder auch mit Zertifikaten als zweiten Faktor?

    Unter Export => - Inline Configurations habe ich zuerst Android getestet; als es dann nicht funktionierte jedoch auch Most Clients und OpenVPN Connect (iOS/Android)

    Für Arno Schwabes Client geht Android oder Most Clients, für OpenVPN Connect sollte man die entsprechende Variante nehmen. Auf jeden Fall eine Inline Config, da sonst auf Android noch umständlich die Zerts oder DH Keys hin müssen.

    ncp-ciphers

    AES-256-GCM:AES-128-GCM

    Oh hast du NCP aktiviert? Würde ich (siehe ganz oben) abschalten, damit klar ist, mit welcher Konfig verbunden wird.

    TLS Handshake könnte der TLS Key sein oder auch dass generell die Verbindung zur Sense nicht klappt. Sieht du denn eingehend auf dem VPN Port einen Verbindungsversuch? Der müsste ja auftauchen. Ansonsten mache für die Regel, die VPN erlaubt auf deinem WAN mal das Logging an, dann müsste der Connect ja auftauchen.

    Ich würde auch Server wie Client mit

    verb 3
    

    etwas geschwätziger machen, damit du mehr siehst, was gelaufen ist. Wenn die Verbindung beim Server ankommt, solltest du entsprechend im Log der Sense auch einen Versuch sehen können, wie sich dein Android verbindet, ansonsten kommt er gar nicht erst an.
    Die Subdomain oder den Host den du nutzt ist pingbar, aber ist es auch von extern die richtige IP? Nicht dass da DynDNS nicht geklappt hat und du gar nicht mit dir verbunden bist :)

    Grüße
    \jens



  • Vielen Dank! Ich habe das aktuelle Serverprofil kopiert und die von Dir vorgeschlagenen Änderungen gemacht. Die VPN Verbindung wird nun ohne Murren hergestellt. Ich bin gespannt, ob ich jetzt einen Unterschied bei der Verbindung bemerken werde (Performance).



  • Nun ist leider noch ein weiteres Problem aufgetaucht:

    Mein Gerät hat die IP 192.168.80.2/24. Meine Kameras liegen in 192.168.100.1/24. Ich kann sämtliche Kameras erreichen (z.B. 192.168.100.4), aber auf meinen Home Assistant (192.168.100.100) habe ich keinen Zugriff. Außerdem funktioniert keine einzige Seite im normalen Internet.

    Ich kann mich an keine Firewall Regel erinnern, die ich einrichten musste, damit das mit dem alten VPN (192.168.70.2/24) funktionierte. Woran könnte es liegen, dass ich bestimmte Dienste nicht erreichen kann, aber ja offensichtlich mit dem Heimnetz verbunden bin (Kameras zeigen Stream)?


  • LAYER 8 Moderator

    @benjsing said in android neueinrichtung: openvpn verbindet nicht mehr mit pfsense:

    aber auf meinen Home Assistant (192.168.100.100)

    Dann ist die Frage was am HA anders ist. Hat der die pfSense als Default GW und routet dorthin oder macht irgendwas anderes "falsch". Oder hat vllt. das Netz selbst in Benutzung und macht was mit .80.x? Irgendwas muss dann an ihm anders sein.

    Außerdem funktioniert keine einzige Seite im normalen Internet.

    Ein zweites Problem. Wenn du über VPN auch dein Internet nutzen willst und nicht nur dein LAN was der Normalfall ist, dann müssen das die Regeln einerseits auf dem OVPN Interface zulassen (.80.x nach any) und zum anderen muss deine Outbound NAT für das .80er Netz natürlich ausgehend auf deinem WAN ein NATting machen. Eventuell fehlt eines davon, was für dein altes VPN mit dem 70er Netz eingerichtet ist?



  • Ich habe meine Firewall Regeln diverse Male durchgeschaut und nichts gefunden, was das Subnet des alten OVPN Profils beinhaltet. Irgendwann habe ich dann das Subnet des neuen Profils auf das des alten geändert, und plötzlich funktionierte alles. Also sowohl Internet über OVPN, als auch endlich wieder der Home Assistant.


  • LAYER 8 Moderator

    Ich habe meine Firewall Regeln diverse Male durchgeschaut und nichts gefunden, was das Subnet des alten OVPN Profils beinhaltet

    Nein keine Regel ;)

    und zum anderen muss deine Outbound NAT für das .80er Netz natürlich ausgehend auf deinem WAN ein NATting machen.

    Outbound NAT Regel eventuell sowie die Frage ob da ein anderes Netz geroutet werden muss o.ä.

    Aber wenns jetzt läuft, auch nicht schlecht. :)



  • Versuche gerade seit Stunden, einen VPN Server aufzusetzen, aber mein Phone hat dann kein "Internet", egal was ich versuche... grrrr. Hoffe nicht, dass es irgendwie mit Andoid-Patches zu tun hat. Verliere echt die Nerven mit der Sch...
    Nutze die App von Schwalbe, hatte aber jetzt längere Zeit keine VPN-Server mehr am Laufen. Verbindung steht, aber Browsen unmöglich.

    Edit: Scheint ein DNS-problem zu sein, wenn ich auf dem Client 8.8.8.8 eintrage geht's. Mir ist schleierhaft warum. Habe ja explizit das Interface der Sense als DNS im Server eingetragen.



  • @JeGr Du meinst unter Firewall => NAT => Outbound... Dort habe ich jetzt gesehen, dass das 70er Subnet (welches funktioniert) eingetragen war und ist, das 80er jedoch nicht. Ist das der Fehler? Ich habe an den Bereich überhaupt nicht gedacht; allerdings sind das automatic rules, umso weniger verstehe ich, weshalb das eine Subnet dann eingetragen wurde, und das andere nicht (denn beide OVPNs wurden ja mithilfe des Wizards erstellt).

    @Bob-Dig hast Du denn die Outbound NAT Regel erstellt? Jetzt wo das Subnet, welches OVPN zugewiesen wurde, dort enthalten ist, funktioniert alles. Auf dem Client hatte ich 8.8.8.8 ebenfalls probiert, was damals bei mir jedoch nicht funktioniert hatte.



  • @benjsing Das steht bei mir in den automatischen Regeln eh immer drin, wenn ich den Server mit der Sense mache, egal ob mit Assistenten oder ohne. Also das kann es nicht sein. Denke es ist ein DNS Problem, ich weiß aber nicht warum. Ich will unbound nutzen, aber das scheint nicht zu gehen.


  • LAYER 8 Moderator

    @Bob-Dig said in android neueinrichtung: openvpn verbindet nicht mehr mit pfsense:

    ich weiß aber nicht warum. Ich will unbound nutzen, aber das scheint nicht zu gehen

    Hast du die LAN IP der Sense eingetragen für DNS?
    Hast du ggf. mal die VPN IP der Sense ausprobiert?

    Gibts Regeln die das verhindern? Funktioniert hier alles ganz normal. Mit oder ohne "alles umleiten". Auch mit DNS.



  • @JeGr said in android neueinrichtung: openvpn verbindet nicht mehr mit pfsense:

    Hast du ggf. mal die VPN IP der Sense ausprobiert?

    Das noch nicht. Es macht mich fertig. Brauch erst mal wieder etwa Abstand, wenn man schon wieder Stunden vertrödelt hat. ☹

    Unbound müsste doch auch VPN bedienen.



  • Jetzt geht es, ich habe nur

    
    Force DNS cache update
    Run "net stop dnscache", "net start dnscache", "ipconfig /flushdns" and "ipconfig /registerdns" on connection initiation. This is known to kick Windows into recognizing pushed DNS servers.
    
    

    und

    
    OpenVPN Clients
    Register connected OpenVPN clients in the DNS Resolver If this option is set, then the common name (CN) of connected OpenVPN clients will be registered in the DNS Resolver, so that their name can be resolved. This only works for OpenVPN servers (Remote Access SSL/TLS) operating in "tun" mode. The domain in System: General Setup should also be set to the proper value.
    
    

    aktiviert.

    Eins von beiden muss es gewesen sein. Werde ich mir das fürs nächste Mal merken? Vermutlich nicht. 😐


  • LAYER 8 Moderator

    Da Android den DNS Update command ignoriert würde ich denken das zweite, macht aber keinen Sinn, weil das nur ein Lease in DNS ist. Würde ich sogar eher ausmachen, damit sich unbound nicht ständig neustartet beim connect, aber wenn du dich eh wenig verbindest, ists vielleicht egal :)

    Ansonsten als DNS im VPN Server entweder die LAN IP von der Sense für Unbound angeben oder die vom VPN Interface, je nachdem wo es buggt. Normalerweise gehts mit der LAN IP, aber manchmal bekommt man eingewählt eine Art permission denied, dann hat es schon geholfen zu testen, welche IP geht (meist die VPN Server IP vom Tunnel .1). Muss irgendeine komische Macke von unbound sein.



  • Es war, wie wahrscheinlich immer, eine Verkettung von Umständen. Ich hatte als DNS zwischen drin mal nicht LAN, sondern ein anderes Interface definiert, was wiederum wohl problematisch war. Es läuft wieder und ich werde ihn hoffentlich nicht weiter anfassen müssen. Das Phone ist übrigens dauernd damit verbunden, über Datenverbindung, aber meistens über Wifi. Sinn dahinter ist, dass ich OpenVPN for Android als App-Firewall (ausgehend) nutzen kann.


  • LAYER 8 Moderator

    @Bob-Dig said in android neueinrichtung: openvpn verbindet nicht mehr mit pfsense:

    Sinn dahinter ist, dass ich OpenVPN for Android als App-Firewall (ausgehend) nutzen kann.

    Das hab ich jetzt nicht ganz verstanden. DNS Filter meinst du? Oder als was genau?



  • @JeGr Ich kann Apps den Zugang zum Internet sperren. Und da mein Phone nicht gerootet ist, kann ich nur eine (VPN-)Software drauf laufen lassen und keine weitere Firewall. Und besagte Software von A. Schwabe eignet sich vorzüglich für beides, zumindest in dem Rahmen, wie ich es brauche. Dafür muss natürlich dauerhaft eine VPN-Verbindung bestehen. 😏


  • LAYER 8 Moderator

    Ahso, du blockst gezielt Apps indem du sagst "darf nicht via VPN kommunizieren". I see :)

    Joa machen ja inzwischen viele non-root apps über den Hook als VPN weil sich anderweitig sonst kein DNS oder sonstwas reinziehen lässt. Blokada und Co agieren da ja ähnlich. Das ist aber mit ein Grund, warum ich gern noch ein ordentlich fastboot-fähiges Gerät mag, bei dem ich einfach rooten kann :D


Log in to reply