Je configure un serveur OpenVPN (version 2.3.10) sur un serveur Windows 2012 mais je ne peux pas le faire fonctionner.
Le serveur est derrière un routeur et j'ai ouvert le port 1194 et créé une règle pour transmettre le trafic sur ce port au serveur.
Voici le journal que je vois sur le serveur lorsque j'essaie de me connecter à partir d'un client:
Mon Mar 21 11:11:47 2016 XX.XX.XX.XX:57804 TLS: Initial packet from [AF_INET]XX.XX.XX.XX:57804, sid=fdf7a7ac 0264c7f3
Mon Mar 21 11:12:38 2016 XX.XX.XX.XX:55938 TLS: Initial packet from [AF_INET]XX.XX.XX.XX:55938, sid=1f242a3f e454a525
Mon Mar 21 11:12:48 2016 XX.XX.XX.XX:57804 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Mon Mar 21 11:12:48 2016 XX.XX.XX.XX:57804 TLS Error: TLS handshake failed
Mon Mar 21 11:12:48 2016 XX.XX.XX.XX:57804 SIGUSR1[soft,tls-error] received, client-instance restarting
Où XX.XX.XX.XX est l'IP du client. Je comprends donc que le client est au moins en mesure d'arriver au serveur, donc il n'y a pas de problèmes de routage ou de pare-feu.
J'ai suivi la description fournie ici. Guide Windows simple Des idées?
XX.XX.XX.XX
représentent la même adresse (veuillez ne pas masquer de telles choses ), je suis intéressé par le changement des numéros de port source (57804, 55938). Cela me suggère qu'il y a un NAT non fiable sur le chemin, ce qui est le plus souvent le cas pour UDP. Utilisez-vous le transport UDP ou TCP, et si le premier, pouvez-vous essayer le second et voir si le problème disparaît?man openvpn
chercher quelque chose qui contrôle le protocole. N'oubliez pas de le modifier à la fois sur le client et sur le serveur, si vous décidez de faire le test.Réponses:
Ce qui est intéressant, c'est comment le numéro de port change en cours de route:
Cela me fait penser que, quelque part entre le client et le serveur, il y a un périphérique NAT qui se comporte mal, un périphérique avec des entrées de table d'état de très courte durée, qui modifie le numéro de port source qu'il applique au flux établi du client, ce qui provoque le serveur à pense que deux communications de courte durée sont en cours, au lieu d'une communication continue.
Ces périphériques ne le font généralement qu'avec UDP, je vous ai donc conseillé de confirmer que vous utilisez UDP et d'essayer TCP à la place. C'est ce que vous avez fait et avez constaté que cela résout le problème. L'étape suivante consiste à identifier le périphérique NAT qui se comporte mal, à le frapper avec un marteau club et à le remplacer par un autre qui ne commet pas l'erreur cardinale de supposer que toutes les communications UDP sont éphémères; mais vous avez indiqué que vous êtes satisfait de passer à TCP comme solution de contournement, et donc l'affaire est terminée.
la source
C'est l'une des erreurs les plus courantes dans la configuration d'Openvpn et il existe une entrée FAQ pour cela. Je vais citer ceci ici:
Il est fort probable que l'un de ces problèmes provoque également le même problème dans votre cas. Il suffit donc de parcourir la liste une par une pour la résoudre.
Réf: erreur TLS: la négociation de la clé TLS n'a pas pu se produire dans les 60 secondes (vérifiez votre connectivité réseau)
la source
J'obtenais des délais d'attente de négociation de clés TLS comme celui-ci. Mais dans mon cas, j'ai réalisé que la liaison distante était une adresse IP locale.
Le VPN sur notre pare-feu pfSense avait été par erreur placé sur l'interface LAN au lieu de l'interface WAN, et donc la configuration exportée était configurée pour essayer de se connecter à l'adresse IP LAN du pare-feu - qui n'allait jamais fonctionner avec le client étant naturellement sur un LAN différent.
Je pense que les principaux enseignements à en tirer sont les suivants:
L'obtention d'un délai de négociation clé ne signifie pas nécessairement que vous avez même réussi à vous connecter à quoi que ce soit.
À ce stade, il peut donc être utile de vérifier que vous vous connectez réellement au bon endroit, et qu'aucune règle de pare-feu ne bloque la connexion, etc. Surtout si votre configuration a été générée automatiquement.
Notez que l'obtention d'une invite de connexion ne signifie pas que vous êtes connecté , car OpenVPN vous demande vos informations d'identification avant d'essayer de vous connecter.
Assurez-vous que votre serveur VPN écoute sur la bonne interface.
(Bien sûr, c'est l'une des nombreuses erreurs de configuration côté serveur qui peuvent se produire, telles que les règles de pare-feu, la mise en place du mauvais numéro de port, le mélange de TCP et UDP, etc.)
la source
J'ai eu la même erreur et aucun conseil n'a aidé, tout semblait aller bien: adresses IP, ports, pare-feu, tout. Est devenu fou pendant 2 heures.
La solution était de changer le protocole d'UDP en TCP dans la configuration client (apparemment j'ai désactivé UDP exprès il y a longtemps).
J'espère que cela aide quelqu'un :)
LE: cela a résolu mon problème mais ce n'est pas la meilleure approche selon les commentaires ci-dessous. Vous devez utiliser UDP au lieu de TCP. Cela m'a aidé car j'avais des paramètres différents entre les configurations client et serveur.
la source
Notez que vous pouvez obtenir une erreur de négociation de clé TLS, sans vous connecter avec succès au serveur OpenVPN - ou même avec succès vous connecter à quoi que ce soit!
J'ai modifié une configuration VPN pour me connecter à localhost, sur un port qui n'écoutait rien:
L'erreur peut vous endormir dans un faux sens que vous parlez à un serveur VPN.
Vous pouvez même être invité à fournir des informations d'identification en premier, mais rien en dehors de votre ordinateur ne les a réellement demandées.
la source
Aucune des solutions mentionnées précédemment n'a fonctionné. Dans mon cas, même si le journal client a montré la même erreur
TLS Error: TLS key negotiation failed to occur within 60 seconds
, les journaux du serveur ont montréVERIFY ERROR: depth=0, error=CRL has expired
.Sur le serveur, les étapes suivantes ont résolu le problème de connexion:
la source
J'ai rencontré cette erreur dans AWS, où OpenVPN a été installé sur un serveur avec une IP publique, mais sur une instance qui se trouvait dans un sous-réseau privé, c'est-à-dire un sous-réseau qui n'avait pas de route vers une passerelle Internet.
Une fois que j'ai déployé OpenVPN sur un serveur au sein d'un sous-réseau public, tout a bien fonctionné :)
Sur les sous-réseaux publics / privés dans AWS: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html
la source
J'ai également rencontré le
TLS key negotiation failed to occur within 60 seconds
problème.D'après la suggestion officielle, comme Diamant post, il doit y avoir quelque chose de mal dans la connexion réseau. Cependant, ni le pare-feu ni le NAT ne provoquent le problème.
Dans mon cas, j'ai d'abord vérifié la connexion par
nc -uvz xxx.xxx.xxx.xxx 1194
. Le lien est OK.En outre, plusieurs autres clients VPN dans le même réseau local fonctionnent correctement.
De quelque part, j'ai remarqué que la connexion udp a des problèmes de réponse ou de transfert de port.
J'arrête donc les clients vpn en cours d'exécution de la plus grande adresse IP au client suspendu, par exemple, de "10.8.0.100" à "10.8.0.50".
Ensuite, démarrez les clients vpn arrêtés à l'envers.
Coup! Tous les clients VPN fonctionnent correctement.
En conclusion, il y a une chance conduit au
TLS key negotiation failed to occur within 60 seconds
problème que plusieurs clients vpn au sein d'un LAN démarrent dans une mauvaise séquence.la source
Une raison possible est que si le serveur requiert une version TLS plus récente, alors le TLS pris en charge par le client. soit 1,2 vs 1,0.
La chose évidente à essayer est de mettre à jour le client OpenVPN ou de modifier le côté serveur pour accepter TLS 1.0.
la source