[gelöst] OpenVPN Verbindungsproblem

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

[gelöst] OpenVPN Verbindungsproblem

Beitrag von joe2017 » 21.11.2019 11:44:13

Hallo zusammen,

ich habe eine neue VPN Verbindung zwischen zwei Debian Servern aufgesetzt. Eigentlich sollte alles funktionieren. Jedoch erhalte ich eine Fehlermeldung und hoffe das mir jemand einen Tipp geben kann.

Ich habe für einen Test den VPN-Server und den VPN-Client direkt mit einem LAN Kabel verbunden.
Der VPN-Server zeigt mir mit ip -c addr bereits einen tun0 Adapter an. Der Client noch nicht.
Anbei die Fehlermeldung wenn ich folgendes am VPN-Client ausführe (sudo openvpn --config /etc/openvpn/client.conf).

TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
TLS Error: TLS handshake failed

Code: Alles auswählen

WARNING: file '/etc/openvpn/ssl/vpnClient_ecdsa_re.key.pem' is group or others accessible
WARNING: file '/etc/openvpn/ssl/ta.key' is group or others accessible
OpenVPN 2.4.7 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Feb 20 2019
library versions: OpenSSL 1.1.1d  10 Sep 2019, LZO 2.10
Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
TCP/UDP: Preserving recently used remote address: [AF_INET]192.168.25.1:1194
Socket Buffers: R=[212992->212992] S=[212992->212992]
UDP link local: (not bound)
UDP link remote: [AF_INET]192.168.25.1:1194
NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay
TLS: Initial packet from [AF_INET]192.168.25.1:1194, sid=aabe510f 5816457f
VERIFY OK: depth=2, C=DE, ST=***, L=***, O=***, OU=***, CN=RootCA.local.net
VERIFY OK: depth=1, C=DE, ST=***, O=***, OU=***, CN=IntCA.local.net
VERIFY KU OK
Validating certificate extended key usage
++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
VERIFY EKU OK
VERIFY OK: depth=0, C=DE, ST=***, L=***, O=***, OU=vpnServer.local.net Server Cert, CN=vpnServer.local.net
Thu Nov 21 11:20:42 2019 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Thu Nov 21 11:20:42 2019 TLS Error: TLS handshake failed
Thu Nov 21 11:20:42 2019 SIGUSR1[soft,tls-error] received, process restarting
Thu Nov 21 11:20:42 2019 Restart pause, 5 second(s)
Meine Zertifikate habe ich überprüft. Hier kann ich keinen Fehler entdecken.
Die Firewall habe ich aktuell noch unkonfiguriert belassen und somit ist alles offen.
Die beiden Server können sich untereinander anpingen.

Wo könnte ich noch suchen? Was könnte das Problem sein?
Zuletzt geändert von joe2017 am 03.12.2019 11:14:34, insgesamt 1-mal geändert.

Benutzeravatar
orcape
Beiträge: 1525
Registriert: 07.11.2008 18:37:24
Wohnort: 50°36'23.99"N / 12°10'20.66"E

Re: OpenVPN Verbindungsproblem

Beitrag von orcape » 24.11.2019 16:39:14

Hi joe,
der Fehler ist eindeutig.
TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
TLS Error: TLS handshake failed
Ein TLS-Fehler hat man oft bei selbst erstellten Zertifikaten. Es kann natürlich auch ein Fehler in der Config sein, die einen Handshake verhindert.
Um hier gezielt zu helfen, fehlt aber einiges an Input.
Testaufbau, evtl. Firewall, die configs von Server und Client und wie gesagt, die Zertifikate müssen passen und genau da können sich genug Fehler einschleichen, die man auf den ersten Blick übersieht.
Gruß orcape

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: OpenVPN Verbindungsproblem

Beitrag von joe2017 » 03.12.2019 10:32:47

Ich hab den Fehler gefunden! Es hatte natürlich mit dem Zertifikat zu tun!

Ich habe auf dem Server und dem Client ein Server Zertifikat erzeugt und nich ein Server und Client Zertifikat. :facepalm:
Danke für den Gedankenanstoß.

Benutzeravatar
orcape
Beiträge: 1525
Registriert: 07.11.2008 18:37:24
Wohnort: 50°36'23.99"N / 12°10'20.66"E

Re: OpenVPN Verbindungsproblem

Beitrag von orcape » 03.12.2019 11:32:04

Abgesehen davon, das es leider sehr unübersichtlich ist, die gesamten Config mit allem Auskommentierten zu überblicken...
Du hast in der Client.conf. die "remote 192.168.25.1 1194" stehen, während in der Server.conf die "server 192.168.30.0 255.255.255.0" steht.
Mach Dir 's einfacher. Vergib einen anderen IP-Bereich für die Tunnel-IP 's. Meinetwegen "server 10.10.30.0 255.255.255.0" (Private IP-Bereiche, Google hilft). Muss nicht immer 192.168.xxx.x sein, das macht es übersichtlicher.
Dann stöpsel die beiden Server an einen Router an und gib denen eine feste IP, je nach LAN-Netz des Routers.
Von mir aus 192.168.30.2 für den OpenVPN-Server und 192.168.30.20 für den Client-Server.
In der Config des OpenVPN-Clients sollte dann "remote 192.168.30.2 1194" stehen.
Dann sollte "sudo openvpn --config /etc/openvpn/client.conf" auf dem Client-Server, den Tunnel starten.
Nicht vergessen "service openvpn start" auf dem Server, denn wenn dieser nicht läuft, kannst Du am Client probieren wie Du willst, es geht nichts.
Gruß orcape

TomL

Re: [gelöst] OpenVPN Verbindungsproblem

Beitrag von TomL » 03.12.2019 11:41:22

Da sind noch weitere Fehler enthalten.... die ich für gravierend halte.

1. Scheinbar ist der Controlchannel nicht zusätzlich via VPN verschlüsselt, sondern nur via DTLS
2. SHA1 halte ich als Paket-Authentifizierung für nicht so glücklich
3. dh-parameter werden hardcoded verwendet
4. Auf dem Datenchannel fehlt die Paket-Authentifizierung
5. remote- und server-IP passen nicht zusammen
6. Es scheint zwar ein EEC-Algorithmus (siehe Name) beabsichtigt zu sein, aber ob das Cert dafür erzeugt wurde, ist nicht erkennbar.

7. Die Conf so zu posten ist eigentlich eine Zumutung für jeden Leser, wenn man -um den Helfern entgegen zu kommen- das auch mit etwas Mühe hätte aufbereiten können:

Code: Alles auswählen

port 1194                                                               client
                                                                        dev tun
proto udp                                                               
dev tun                                                                 proto udp
                                                                        
ca /etc/openvpn/ssl/ca.chain_ecdsa.crt.pem                              remote 192.168.25.1 1194
cert /etc/openvpn/ssl/OpenVpnServer_ecdsa.crt.pem                       resolv-retry infinite
key /etc/openvpn/ssl/OpenVpnServer_ecdsa_re.key.pem                     nobind
                                                                        
dh none                                                                 user openvpn
                                                                        group openvpn
server 192.168.30.0 255.255.255.0                                       
ifconfig-pool-persist /var/log/openvpn/ipp.txt                          persist-key
                                                                        persist-tun
push "route 192.168.200.0 255.255.255.0"                                
push "route 192.168.199.0 255.255.255.0"                                ca /etc/openvpn/ssl/ca.chain_ecdsa.crt.pem
                                                                        cert /etc/openvpn/ssl/OpenVpnClient_ecdsa.crt.pem
client-config-dir ccd                                                   key /etc/openvpn/ssl/OpenVpnClient_ecdsa_re.key.pem
route 192.168.200.0 255.255.255.0                                       
                                                                        remote-cert-tls server
push "redirect-gateway def1 bypass-dhcp"                                
push "dhcp-option DNS 8.8.8.8"                                          tls-auth /etc/openvpn/ssl/ta.key 1
                                                                        cipher AES-256-GCM
client-to-client                                                        
keepalive 10 120                                                        verb 3

tls-auth /etc/openvpn/ssl/ta.key 0
cipher AES-256-GCM

user openvpn
group openvpn

persist-key
persist-tun

status /var/log/openvpn/openvpn-status.log
verb 3
explicit-exit-notify 1

Antworten