这是我在这里的第一篇帖子,希望我的格式正确
我已经在 openVZ VPS 上设置了一个 openvpn 服务器。努力了两天但连接总是失败,原因是:
TLS Error: TLS key negotiation failed to occur within 60 seconds
TLS Error: TLS handshake failed
防火墙(服务器上的 iptables 已刷新,Windows 防火墙已禁用)双方都有有效的 IP,并且中间不应有任何阻止流量的东西。
我尝试了所有可能的解决方案,但没有成功:-我在本地安装了一个虚拟机,设置了 openvpn 服务器和客户端,创建了服务器和客户端密钥和配置文件,成功连接。然后将配置和密钥传输到 VPS 和客户端,更改 IP 设置。仍然出现 TLS 错误
-我尝试反转连接,在我的客户端机器上设置 openVPN 服务器,并在服务器机器上设置客户端。仍然出现相同的错误消息。
- 尝试将日志级别提高到 6,以下是日志:
日志:
us=142536 LZO compression initialized
us=142627 Control Channel MTU parms [ L:1542 D:166 EF:66 EB:0 ET:0 EL:0 ]
us=142682 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
us=142727 Local Options String: 'V4,dev-type tun,link-m tu 1542,tun-mtu 1500,proto UDPv4,comp-lzo,keydir 1,cipher-CBC,auth SHA1,keysi ze 128,tls-auth,key-method 2,tls-client'
us=142747 Expected Remote Options String: 'V4,dev-type tun,link-mtu 1542,tun-mtu 1500,proto UDPv4,comp-lzo,keydir 0,cipher BF-CBC,auth SHA1,keysize 128,tls-auth,key-method 2,tls-server'
us=142773 Local Options hash (VER=V4): '504e774e'
us=142793 Expected Remote Options hash (VER=V4): '14168603'
us=142815 Socket Buffers: R=[137216->131072] S=[137216 131072]
us=142833 UDPv4 link local: [undef]
us=142849 UDPv4 link remote: 94.183.120.141:1194
us=142902 UDPv4 WRITE [42] to 94.183.120.141:1194: P_CONTROL_HARD_RESET_CLIENT_V2 kid=0 pid=[ #1 ] [ ] pid=0 DATA len=0
。 。
Thu Oct 21 18:40:14 2010 us=131626 UDPv4 WRITE [42] to 94.183.120.141:1194: P_CONTROL_HARD_RESET_CLIENT_V2 kid=0 pid=[ #28 ] [ ] pid=0 DATA len=0
Thu Oct 21 18:40:16 2010 us=519518 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
us=519578 TLS Error: TLS handshake failed
us=519661 TCP/UDP: Closing socket
我认为这可能是一种网络问题,与 MTU 有关。我怎样才能确定错误出在哪里?我真的很沮丧,请问有什么建议吗?
答案1
警告
TLS Error: TLS key negotiation failed to occur within 60 seconds
TLS Error: TLS handshake failed
99% 的情况是由于 (UDP) 数据包无法从客户端到达服务器或从服务器到达客户端而导致的。检查客户端和服务器之间的路由器和防火墙,并尝试切换到“proto tcp”以查看是否有帮助 - 一些廉价路由器无法正确转发 UDP 数据包。
嗨嗨。
吉吉克
答案2
您可能希望首先尝试不使用任何类型的 TLS 或加密进行连接。这至少可以帮助您确定到底出了什么问题,从而消除密钥问题。我还会在两端执行 tcpdump,以查看流量是否到达一侧,并且可能由于路由问题而无法返回。