我在两个完全不同的networking上有两个非常不同的客户端,都无法连接到新configuration的OpenVPN服务器,这两个客户端在服务器上导致日志条目如下:
Aug 8 20:37:15 myserver ovpn-server[3797]: 12.34.56.78:48573 TLS: Initial packet from [AF_INET]12.34.56.78:48573, sid=80063aef 9e45c93a Aug 8 20:38:15 myserver ovpn-server[3797]: 12.34.56.78:48573 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity) Aug 8 20:38:15 myserver ovpn-server[3797]: 12.34.56.78:48573 TLS Error: TLS handshake failed Aug 8 20:38:15 myserver ovpn-server[3797]: 12.34.56.78:48573 SIGUSR1[soft,tls-error] received, client-instance restarting
客户端是在连接到NAT ADSL路由器的* buntu便携式计算机上的OpenVPN,以及具有内置OpenVPN客户端的3G / 4G WWAN路由器。
以下是我目前检查的内容:
什么ELSE可能造成这种情况?
编辑:所以,情节变厚…无奈之下,我试图改变整个configuration链,而不是使用TCP,否则保持原样。 砰! 我* buntu笔记本电脑上的OpenVPN客户端能够直接连接。 但是当3G / 4G路由器的OpenVPN客户端甚至不支持TCP传输时该怎么办? 我还没有在这里完成!
编辑:只是在这里明确; 我改变了四件事情,以使其工作:
proto tcp而不是proto udp并重新启动OpenVPN Use a TCP connectioncheckbox 每个其他的设置和configuration都与以前一样。
编辑:我有一个鬼鬼祟祟的怀疑,在我的VPN服务器上UDPstream量的路由发生了一些奇怪的事情; OpenVPNconfiguration绑定的IP地址不是服务器的主IP地址,事实上它甚至不在同一个子网上。 以下是路由表的样子:
$ route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 11-22-33-1.thing 0.0.0.0 UG 0 0 0 eth0 22.33.44.0 * 255.255.255.0 U 0 0 0 eth0 10.8.0.0 * 255.255.255.0 U 0 0 0 tun0 11.22.33.0 * 255.255.255.0 U 0 0 0 eth0 $ ip route default via 11.22.33.1 dev eth0 onlink 22.33.44.0/24 dev eth0 proto kernel scope link src 22.33.44.55 10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.1 11.22.33.0/24 dev eth0 proto kernel scope link src 11.22.33.44
22.33.44.55 IP地址稍后分配,是OpenVPN绑定的IP地址。 现在我第一个承认,我几乎不知道IP路由,但是可能是因为它没有自己的默认路由而导致“新”IP地址上的UDPstream量丢失了,或者什么东西?
原来我是正确的:OpenVPN的server.config的local 22.33.44.55选项丢失。 添加它并重新启动OpenVPN解决了这个问题,UDP传输现在在我的从IP上。 没有它,OpenVPN的响应是通过默认的IP发送的 – 尽pipe我不明白为什么这也不能阻止TCP工作。 小学生的错误,如果你喜欢,但我使用的OpenSSLconfiguration脚本( https://github.com/Angristan/OpenVPN-install ) 没有要求在设置过程中使用的IP地址,所以我只是假定这已经configuration正确。