Opnsense OpenVPN (Firewall)-Problematik

Porfavorio

Cadet 2nd Year
Registriert
Mai 2022
Beiträge
20
Hallo,

ich habe nun das nächste Thema, bei welchem ich Hilfe benötige.

Auf einer Opnsense habe ich OpenVPN nach Anleitung(en) eingerichtet und möchte mich vom Client mit dem Server verbinden.
Ich habe zwar schon ein funktionierendes VPN-Setup (Access Server) im Heimnetz. Da dieses aber eine eigene VM belegt, würde ich das gerne auf der Opnsense realisieren.

Zum grundsätzlichen Setup in meinem Netz: Die Opnsense hängt hinter einer Fritz!Box. Port 1194 UDP dort ist an die Opnsense geforwarded.
Ich habe auf der Opnsense-Firewall auf dem WAN-Interface Port 1194 freigegeben. Auf dem OpenVPN Interface habe ich alles für das entsprechende Subnetz freigegeben. Letzteres spielt aber ja keine Rolle, da schon keine Verbindung zustande kommt.

Was ich festgestellt habe, ist dass die Verbindung nur bei ausgeschalteter Opnsense Firewall funktioniert, ansonsten jedoch nicht. Damit kann nach meinem Verständnis eine Fehlkonfiguration des OpenVPN-Servers an sich oder des Client-Zertifikats als auch des NAT-Routers ausgeschlossen werden. Das Problem muss wohl in der Firewall liegen, ich weiß jedoch nicht, wo.

Folgende Fehlermeldungen erhalte ich:

[TIME] UDP link local (bound): [AF_INET][undef]:0
[TIME] UDP link remote: [AF_INET]PUBLICIP_DYNDNS:1194
[TIME] TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
[TIME] TLS Error: TLS handshake failed
[TIME] SIGUSR1[soft,tls-error] received, process restarting


Hat jemand eine Idee, wie ich den Fehler hier eingrenzen könnte?

Falls weitere Informationen benötigt werden, bitte melden.
 
Porfavorio schrieb:
Was ich festgestellt habe, ist dass die Verbindung nur bei ausgeschalteter Opnsense Firewall funktioniert, ansonsten jedoch nicht. Damit kann nach meinem Verständnis eine Fehlkonfiguration des OpenVPN-Servers an sich oder des Client-Zertifikats als auch des NAT-Routers ausgeschlossen werden. Das Problem muss wohl in der Firewall liegen, ich weiß jedoch nicht, wo.
Was meinst du mit ausgeschalteter OpnSense? Ich dachte auf OpnSense läuft der OpenVPN-Server? Wie kann letzterer noch funktionieren wenn ersteres ausgeschaltet ist?
 
Gute Frage, ohne dies bis ans Ende durchzudenken, schien mir das sicherer, zumal es hier einen dauerhaften Tunnel (Wireguard) in ein anderes Netz gibt. Kann/sollte ich diese komplett deaktivieren?

Die VM läuft auf einem ESXi, dieser auf einem HP Microserver. Inwiefern kann das eine Rolle spielen?
 
Könntest Du die Config posten? ist da irgendwas mit X.509-Auth drinnen? Das hat bei mir zu einem ähnlichen Fehler geführt, obwohl der expected Hostname, dem real Hostname entsprach.
 
So sieht z.B. meine Server-Config aus, kannst auch mal die verbosity hoch setzen um eine ausführlichere Fehlermeldung zu erhalten.
Code:
port 1195   mode server   proto udp4  #tcp-nodelay  dev tun   user nobody  group nogroup   server 172.16.0.0 255.255.255.0  topology subnet   #push "dhcp-option DNS 1.1.1.1"  push "dhcp-option DNS 192.168.178.10"  push "route 192.168.178.0 255.255.255.0"  push "redirect-gateway def1"   ca /etc/openvpn/server/ca.crt  cert /etc/openvpn/server/debian-vpn.crt  key /etc/openvpn/server/debian-vpn.key  # This file should be kept secret   dh /etc/openvpn/server/dh.pem   remote-cert-tls client  verify-client-cert require  tls-version-min 1.3  auth SHA256  tls-crypt /etc/openvpn/server/ta.key  tls-ciphersuites TLS_AES_128_GCM_SHA256  cipher AES-128-GCM  tls-server   client-to-client   keepalive 10 20  persist-key  persist-tun   log /etc/openvpn/openvpn.log  verb 3
 
Zuletzt bearbeitet:
till69 schrieb:
So lange, bis Du das Problem gelöst hast.

Probier mal OpenWRT als VM ... ist evtl. die einfachere Lösung.
Ich habe doch ein funktionierendes Wireguard-Site-to-Site-Setup auf der opnsense. Ich sehe jetzt keinen Grund, hier einfach vorschnell zu wechseln. Das müsste schon beides auf einer VM laufen, sonst bringt das ja herzlich wenig.

Ich will das Problem doch lösen. Das war jetzt eher eine grundlegende Frage.
Ergänzung ()

Die Fehlermeldung wird leider auch mit verb 3 nicht genauer.
Wie komme ich denn an die Config-Datei? Nur über den FreeBSD Host oder auch irgendwie über die opnsense?
 
Na irgendwo wirst Du doch die Möglichkeit haben, Parameter zu setzen. Mein Wissen beschränkt sich hier leider auf OpenVPN in Verbindung mit einem richtigen Debian als Unterbau.
 
Läuft über die Weboberfläche. Anbei Screenshots.
 

Anhänge

  • opnsenseopenvpn1.png
    opnsenseopenvpn1.png
    46,8 KB · Aufrufe: 218
  • opnsenseopenvpn2.png
    opnsenseopenvpn2.png
    50,1 KB · Aufrufe: 217
  • opnsenseopenvpn3.png
    opnsenseopenvpn3.png
    46,7 KB · Aufrufe: 201
  • opnsenseopenvpn4.png
    opnsenseopenvpn4.png
    46,6 KB · Aufrufe: 206
  • opnsenseopenvpn5.png
    opnsenseopenvpn5.png
    35,9 KB · Aufrufe: 203
  • opnsenseopenvpn6.png
    opnsenseopenvpn6.png
    47 KB · Aufrufe: 210
Aber Du sagst ja, dass die Verbindung bei ausgeschalteter Opnsense Firewall die Verbindung steht? Also so habe ich Deinen Ausgangspost jetzt verstanden. Auf den Bildern ist jetzt für meine Augen nichts ungewöhnliches zu sehen, außer dass der Verschlüsselungsalgorithmus relativ schwach ist, das tut aber bei TLS-Problemen nichts zur Sache.
 
Porfavorio schrieb:
Ich will das Problem doch lösen.
Das hast Du bereits:
Porfavorio schrieb:
Was ich festgestellt habe, ist dass die Verbindung nur bei ausgeschalteter Opnsense Firewall funktioniert
Also eine zu restriktive Firewall. Auch an den ausgehenden Verkehr gedacht?

Aber für VPN Spielereien hinter einer Fritzbox ist Debian oder OpenWRT eigentlich die bessere Wahl ;)
 
Zuletzt bearbeitet:
Ich habe es (grob) identifiziert, aber nicht gelöst. Woran müsste ich da denn denken? Default müsste meines Wissens alles raus gehen - liege ich da falsch?
 
Porfavorio schrieb:
Das Problem muss wohl in der Firewall liegen, ich weiß jedoch nicht, wo.
Wir auch nicht, da wir im Gegensatz zu dir die definierten Regeln nicht kennen. Was genau erwartest du nun von uns?

Porfavorio schrieb:
Hat jemand eine Idee, wie ich den Fehler hier eingrenzen könnte?
Firewall -> Diagnostics -> Packet Capture
 
  • Gefällt mir
Reaktionen: snaxilian
Eine Firewall in einer VM? Dann hoffe ich mal, daß dort nichts anderes läuft auf dem microserver… oder daß dieser zumindest zwei verbaute nics hat, die beide dediziert mit der Firewall VM assoziiert sind.
Müßig zu erwähnen, daß eine FW kaum sicher sein kann, wenn noch jede Menge crap da drauf läuft.
Oder wenn der gefilterte Traffic über dieselben Kabel geht wie der ungefilterte.


Log file ist schon der richtige Weg. Capture geht auch, ist aber imo zuviel overhead, wenn man noch nicht ins logfile geschaut hat.
Und für udp bedenken, daß das keine Verbindungen sind und daß daher connection states nicht verfügbar sind. Einschließlich impliziter Rück-Regeln.
 
  • Gefällt mir
Reaktionen: snaxilian und Raijin
Wonach sollte ich denn im Packet Capture Resultat suchen?
Log File sagt mir nur:

2022-05-25T14:42:55NoticeopenvpnMANAGEMENT: Client disconnected
2022-05-25T14:42:55NoticeopenvpnMANAGEMENT: CMD 'quit'
2022-05-25T14:42:55NoticeopenvpnMANAGEMENT: CMD 'status 2'
2022-05-25T14:42:55NoticeopenvpnMANAGEMENT: Client connected from /var/etc/openvpn/server1.sock
Ergänzung ()


Die


Default deny / state violation rule

greift hier offenbar. Mal schauen, ob ich hier den Grund herausfinden kann.
 
Zuletzt bearbeitet:
Ich hab's. Ich musste auf dem LAN Interface auch noch eine explizite allow Regel setzen. Warum der Traffic aber über die LAN-Schnittstelle kommt, ist mir nicht klar. Ich habe natürlich die Verbindung via LTE getestet, nicht WLAN. Es geht nun alles super. Kann von extern sowohl auf das lokale Netz als auch auf einen per Site to Site angebundenen Standort zugreifen. :)
 
  • Gefällt mir
Reaktionen: Raijin
Porfavorio schrieb:
Warum der Traffic aber über die LAN-Schnittstelle kommt, ist mir nicht klar.
Wie in #15 bereits erwähnt können wir nichts näheres dazu sagen, da uns die Details fehlen. Ist aber jetzt auch überflüssig, da du es ja hinbekommen hast, dafür :daumen:.
 
Zurück
Oben