coltseavers
Goto Top

OpenVPN-Verbindung kann nicht hergestellt werden

Hallo zusammen,

ich versuche gerade eine OpenVPN-Verbindung zwischen einem Win10-Client und einem Win-Server 2019 herzustellen.
Ich versuche mich da gerade einzuarbeiten, aber offenbar fehlt mir noch ein wenig Wissen und ich weiß gerade nicht, woran es hapert.

Ausgangslage:
Router Server: Fritzbox 7590
Win-Server 2019 IP: 192.168.178.10
In der Fritzbox ist eine UDP-Weiterleitung des Ports 33442 auf den Server aktiviert.

Der Win10-Client hängt ebenfalls an einer Fritzbox.

Die Windows-Firewall ist testweise auf beiden Geräten deaktiviert.

Auf dem Server habe ich die community-Edition von OpenVPN 2.5.0 installiert (mit allen Features), ebenso auf dem Client.
Anschließend habe ich auf dem Server mit Easy RSA 3 eine CA eingerichtet und Zertifikate erstellt.
easyrsa-start.bat
easyrsa init-pki
easyrsa build-ca (Passphrase und CN eingegeben)

easyrsa build-server-full server1 nopass

easyrsa build-client-full client1 nopass

easyrsa gen-dh

Dann die client- und server-config erstellt:
Server:
port 33442
proto udp
dev tun
comp-lzo
verb 3

server 192.168.63.0 255.255.255.0	 #erstellt automatisch einen dhcp-server und richtet den vpn-server unter 192.168.63.1 ein.
push "route 192.168.178.0 255.255.255.0" #teilt den clients mit, welches ip-netz durch das vpn erreichbar ist  

#Zertifikate 
ca C:\\OpenVPN\\easy-rsa\\pki\\ca.crt
cert C:\\OpenVPN\\easy-rsa\\pki\\issued\\server1.crt
key C:\\OpenVPN\\easy-rsa\\pki\\private\\server1.key
dh C:\\OpenVPN\\easy-rsa\\pki\\dh.pem


# TLS Security
cipher AES-256-CBC
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
auth SHA512
auth-nocache


keepalive 10 60
persist-key
persist-tun
push "persists-key"  
push "persist-tun"  

Client:
dev tun
client
proto udp

remote "ip-adresse" 44556  
persist-key
persist-tun
comp-lzo
verb 3

cipher AES-256-CBC
auth SHA512
auth-nocache
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256


#zertifikate
ca ca.crt
cert client1.crt
key client1.key

Beim Verbindungsversuch kommt dann im Server-Log der Fehler:

Sun Dec 20 17:32:25 2020 MANAGEMENT: >STATE:1608481945,ASSIGN_IP,,192.168.63.1,,,,
Sun Dec 20 17:32:25 2020 IPv4 MTU set to 1500 on interface 38 using service
Sun Dec 20 17:32:25 2020 MANAGEMENT: >STATE:1608481945,ADD_ROUTES,,,,,,
Sun Dec 20 17:32:25 2020 C:\Windows\system32\route.exe ADD 192.168.63.0 MASK 255.255.255.0 192.168.63.2
Sun Dec 20 17:32:25 2020 Route addition via service succeeded
Sun Dec 20 17:32:25 2020 Could not determine IPv4/IPv6 protocol. Using AF_INET6
Sun Dec 20 17:32:25 2020 Socket Buffers: R=[131072->131072] S=[131072->131072]
Sun Dec 20 17:32:25 2020 setsockopt(IPV6_V6ONLY=0)
Sun Dec 20 17:32:25 2020 UDPv6 link local (bound): [AF_INET6][undef]:44556
Sun Dec 20 17:32:25 2020 UDPv6 link remote: [AF_UNSPEC]
Sun Dec 20 17:32:25 2020 MULTI: multi_init called, r=256 v=256
Sun Dec 20 17:32:25 2020 IFCONFIG POOL IPv4: base=192.168.63.4 size=62
Sun Dec 20 17:32:25 2020 Initialization Sequence Completed
Sun Dec 20 17:32:25 2020 MANAGEMENT: >STATE:1608481945,CONNECTED,SUCCESS,192.168.63.1,,,,
Sun Dec 20 17:32:32 2020 ip-adresse-client:22161 TLS: Initial packet from [AF_INET6]::ffff:ip-adresse:22161, sid=f5932cf4 9c9ade49
Sun Dec 20 17:33:32 2020 ip-adresse-client:22161 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Sun Dec 20 17:33:32 2020 ip-adresse-client:22161 TLS Error: TLS handshake failed

openvpn.net/faq/tls-error-tls-key-negotiation-failed-to-occur-within-60-seconds-check-your-network-connectivity/
Angeblich soll der Fehler auftreten, wenn es grundsätzliche Verbindungsprobleme gibt (z.B. fehlende Portweiterleitung), aber da die IP-Adresse des Clients im Server-Log auftaucht, scheint der Client den Server schonmal kontaktieren zu können. Daran liegt es also vermutlich nicht.

Jedoch: wenn ich am Client den Status des OpenVPN-Clients beobachte, tauchen dort keine "Bytes eingehend" auf.
Muss denn am Router des Clients auch eine Portweiterleitung eingerichtet werden?? Ich hoffe, nicht?!
Wie gesagt: die Firewall ist aus.


Kann mir jemand erklären, was ich falsch mache?
Der Client hängt übrigens an einem DS-Lite-Anschluss - könnte es damit zu tun haben?

Vielen Dank vorab!

Gruß,
Colt

Content-ID: 634071

Url: https://administrator.de/contentid/634071

Ausgedruckt am: 22.11.2024 um 06:11 Uhr

aqui
aqui 20.12.2020 aktualisiert um 18:17:48 Uhr
Goto Top
Hiesiges OpenVPN Tutorial hast du genau gelesen und alle Schritte befolgt ?
Merkzettel: VPN Installation mit OpenVPN
Der Client hängt übrigens an einem DS-Lite-Anschluss - könnte es damit zu tun haben?
Nein, eigentlich nicht, denn dann ist der richtigerweise der Initiator, eröffnet also beim CGN Provider eine NAT Session über die die VPN Verbindung dann rennt.
Wichtig ist das es ein UDP 1194 (oder bei dir UDP 44556) Forward auf Serverseite gibt soweit der Server in einem lokalen LAN hinter einem NAT Router steht.
44556 ist übrigens keine besonders intelligente Wahl, denn das ist noch ein IANA Port und könnte Probleme machen. Normalerweise sollte man immer die Ephemeral_Ports von 49152 bis 65535 dafür verwenden um auf Nummer sicher zu gehen. Zudem sind die meist nicht in den üblichen Port Scannern aktiv.
Du darfst ja nicht vergessen das du mit einer innenliegenden OVPN Lösung immer ungeschützten Internet Traffic auf den Server legen musst !
Complzo sollte man wegen der Voracle Security Lücke auch niemals verwenden. Zudem ist es in aktuellen OVPN Versionen nicht mehr unterstützt. Compression sollte man generell deaktivieren (siehe Tutorial).
Kommentiere in einem nächsten Step die TLS Schritte mal komplett aus um sicherzugehen das es nichts mit dem TLS an sich zu tun hat.
NordicMike
NordicMike 21.12.2020 um 07:11:11 Uhr
Goto Top
Sun Dec 20 17:32:25 2020 Could not determine IPv4/IPv6 protocol. Using AF_INET6
Du wirst vermutlich das leidige DS-Lite Thema haben. Such mal nach OpenVPN und DS-Lite.

Du kannst es natürlich auch komplett mit IPv6 versuchen bzw, wenn du es weiter mit IPv4 machen willst, solltest du darauf achten, dass das Gastnetz und Servernetz nicht beide auf 192.168.178.x stehen, das kann dann nicht unterschieden und damit auch nicht geroutet werden.
coltseavers
coltseavers 21.12.2020 aktualisiert um 09:45:42 Uhr
Goto Top
Zitat von @aqui:
Kommentiere in einem nächsten Step die TLS Schritte mal komplett aus um sicherzugehen das es nichts mit dem TLS an sich zu tun hat.
Muss man denn TLS-technisch irgendwas einrichten oder konfigurieren?
Habe bisher wirklich nur das gemacht, was im 1. Post steht: Zertifikate und Config-Dateien erstellt (und auf client/server verteilt) - sonst nichts.

community.openvpn.net/openvpn/wiki/EasyRSA3-OpenVPN-Howto

In diesem HowTo wird am Ende noch was von easytls erzählt, was in anderen HowTos gar nicht auftaucht. Deshalb bin ich gerade etwas verwirrt und frage mich, ob man das benötigt und was das bewirkt.

Danke für den Hinweis mit den Ports und dem comp-lzo - habe es angepasst bzw entfernt.


Zitat von @NordicMike:

Sun Dec 20 17:32:25 2020 Could not determine IPv4/IPv6 protocol. Using AF_INET6
Du wirst vermutlich das leidige DS-Lite Thema haben. Such mal nach OpenVPN und DS-Lite.

negativ, habe das gleiche Problem auch, wenn ich über Telekom-Mobilfunk versuche das VPN aufzubauen.


Du kannst es natürlich auch komplett mit IPv6 versuchen bzw, wenn du es weiter mit IPv4 machen willst, solltest du darauf achten, dass das Gastnetz und Servernetz nicht beide auf 192.168.178.x stehen, das kann dann nicht unterschieden und damit auch nicht geroutet werden.

Ja, ich möchte es gerne mit IPv4 machen. Gast- und Servernetz sind natürlich unterschiedliche Subnetze.

Gruß
Colt
NordicMike
NordicMike 21.12.2020 um 11:12:00 Uhr
Goto Top
wenn ich über Telekom-Mobilfunk ersuche das VPN aufzubauen.
Das ist das Gleiche in Grün, auch die Mobilfunkanbieter sparen an IPv4 IP Adressen. Es gibt noch Fehler, bei denen die MTU zu groß ist, das sagen dir aber die Logfiles.