[Gelöst] OpenVPN4UCS stellt keine Verbindung her

Ich bekomme die Konfigurion von OpenVPN4UCS nicht zum laufen.

Folgendes Netzwerk:

UCS-DC: 192.168.2.90/24
UCS-BDC: 192.168.2.254/24 - hier ist OpenVPN installiert

Im Router (AVM 6590) ist der Port 1194 an den 192.168.2.254 weitergeleitet (UDP)

Ich habe einen öffentlichen DynDNS-Eintrag: http://dyndnsname.selfthost.eu

root@ucs002254:~# systemctl status openvpn -l
● openvpn.service - OpenVPN service
   Loaded: loaded (/lib/systemd/system/openvpn.service; enabled; vendor preset: enabled)
   Active: active (exited) since Fri 2020-07-10 21:56:10 CEST; 16h ago
  Process: 6890 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 6890 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   Memory: 0B
      CPU: 0
   CGroup: /system.slice/openvpn.service

Jul 10 21:56:10 ucs002254 systemd[1]: Starting OpenVPN service...
Jul 10 21:56:10 ucs002254 systemd[1]: Started OpenVPN service.

root@ucs002254:~# netstat -tulpn | grep 1194
udp        0      0 0.0.0.0:1194            0.0.0.0:*                           6905/openvpn

root@ucs002254:~# univention-ldapsearch cn=ucs002254 univentionOpenvpnPort univentionOpenvpnActive univentionOpenvpnNet univentionOpenvpnAddress
# extended LDIF
#
# LDAPv3
# base <dc=mykeysoft,dc=lan> (default) with scope subtree
# filter: cn=ucs002254
# requesting: univentionOpenvpnPort univentionOpenvpnActive univentionOpenvpnNet univentionOpenvpnAddress
#

# ucs002254, dc, computers, mykeysoft.lan
dn: cn=ucs002254,cn=dc,cn=computers,dc=mykeysoft,dc=lan
univentionOpenvpnPort: 1194
univentionOpenvpnNet: 192.168.9.0/24
univentionOpenvpnActive: 1
univentionOpenvpnAddress: dyndnsname.selfhost.eu

# search result
search: 3
result: 0 Success

# numResponses: 2
# numEntries: 1
root@ucs002254:~# univention-run-join-scripts --force --run-scripts 94univention-openvpn-master
univention-run-join-scripts: runs all join scripts existing on local computer.
copyright (c) 2001-2020 Univention GmbH, Germany

Enter DC Master Account : Administrator
Enter DC Master Password:

Search LDAP binddn:                                        done
Running pre-joinscripts hook(s):                           done
Running 94univention-openvpn-master.inst                   done
Running post-joinscripts hook(s):                          done

Ich habe dann dass Ready2Go Paket vom DC geladen und versucht eine Verbindung herzustellen.

Du solltest Deinen DNS-Eintrag von s…eu aus Deinem Beitrag entfernen, er könnte manche “Spieler” anlocken.
Ich habe mal versucht, Deinen Server via OpenVPN zu erreichen.
Mein OpenVPN-Client meldet im Log u.a:

Sat Jul 11 19:53:13 2020 MANAGEMENT: >STATE:1594489993,AUTH,,,,,,
Sat Jul 11 19:53:13 2020 TLS: Initial packet from [AF_INET]xxx.xxx.xxx.xxx:1194, sid=68xxxxxxxxxx4bf
Sat Jul 11 19:53:13 2020 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Sat Jul 11 19:53:13 2020 VERIFY ERROR: depth=1, error=self signed certificate in certificate chain: C=DE, ST=DE, L=DE, O=zzzz, OU=Univention Corporate Server, CN=Univention Corporate Server Root CA (ID=xUBMYUQp), emailAddress=ssl@xxx.yyy
Sat Jul 11 19:53:13 2020 OpenSSL: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed (klar, ich habe kein passendes Zertifikat)

Also:
Dein OpenVPN-Server ist erreichbar. Das Log meldet natürlich einen Zertifikatfehler, weil ich ein falsches verwende. Aber der Client meldet auch “ERROR: self signed certificate in use”.

Schaue Die mal die OpenVPN-Logdatei auf Deinem Client-Rechner an, ob dort auch ein Zertifikatfehler gemeldet wird.

Es ist ratsam, ein Letsencrypt-Zertifikat zu installieren, da viele Anwendungen selbstsignierte Zertifikate nicht zulassen.

Um die Verbindung zu testen, musst Du von außerhalb Deines LAN die VPN-Verbindung aufbauen. Ich nutze für diese Zwecke die WWAN-Karte meines Notebooks, einen UMTS/LTE-Router oder WLAN-Tethering über mein Smartphone.

OK - das mit dem Zertifikat könnte das Problem sein.

Dazu nur eine Frage: ich habe ja 2 Server - der DC und den BDC - muss ich dann Letsencrypt auf BEIDEN oder nur auf dem dem, wo OpenVPN läuft einrichten? Ich habe nur eine Domain und die unterschiedlichen Server werden durch Portweiterleitungen (8443 und 8080) angesprochen.

Ich würde erst einmal prüfen, ob Du überhaupt Zugriff von außen auf den OpenVPN-Server bekommst. Achte vor allem darauf, dass Du die richtige Serveradresse verwendest, in Deinem Beitrag oben hattest Du selfthost statt selfhost geschrieben.

Auch solltest Du von außerhalb Deines LAN (z.B. mit Tethering über Smartphone) den Zugriff testen.

Außerdem muss der OpenVPN-Client die Zertifikate verwenden, die Du mit dem Ready2Go Paket heruntergeladen hast. Ob dies der Fall ist, kannst Du in der Logdatei auf dem OpenVPN-Client-Rechner sehen.

Theoretisch sollte der VPN-Zugriff auch mit selbstsignierten Zertifikaten funktionieren.
Laut Googlesuche nach “openvpn error=self signed certificate in certificate chain” scheinen viele mit selbstsignierten Zertifikaten zu arbeiten, meistens war ein Konfigurationsfehler oder ein falsches Zertifikat Ursache für Probleme.

Wenn alle Stricke reißen, dann nach einer Komplettsicherung von DC und BDC die Installation von Letsencrypt versuchen.

Das Letsencrypt-Zertifikat zertifiziert alle Dienste (E-Mail, Browserzugriff, Next- oder Owncloud etc.) nach außen und nicht nur OpenVPN.

Problem in Deiner Portweiterleitungskonfiguration:
Letsencrypt setzt die Ports 80 und 443 bei Zertifikaterstellung und -erneuerung voraus.

Da das selbstsignierte-CA von Letsencrypt nicht ersetzt wird, sollte die Kommunikation zwischen DC und BDC hiervon unberührt sein.

1 Like

So - ich hab jetzt nochmal alles frisch eingestellt und überprüft - OpenVPN deaktiviert/aktiviert - neue Ready2Go-Pakete geladen und in den Client geladen.

Jetzt baut er die Verbindung auf - alles perfekt. Jetzt werde ich noch einen abschließenden Test machen: beide Server neustarten - und dann sehen, ob ich dann immer noch mich verbinden kann. Wenn das klappen sollte, dann ist das Problem anscheinend gelöst

Prima.

Und solltest Du mit einem Android-Gerät OpenVPN nutzen wollen, habe ich hierzu eine Anleitung gepostet. Dort müssen die Zertifikate in die ovpn-Datei eingebunden werden.

1 Like
Mastodon