我想从 Ubuntu 主机连接到 OpenVPN 服务器,该主机还用作其他内部连接的防火墙(两个 AP 和几个在该服务器上运行的虚拟机)。
我的连接挂在
Sat Nov 19 22:09:41 2016 UDPv4 link remote: [AF_INET]185.145.38.234:1194
Sat Nov 19 22:10:41 2016 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Sat Nov 19 22:10:41 2016 TLS Error: TLS handshake failed
Sat Nov 19 22:10:41 2016 SIGUSR1[soft,tls-error] received, process restarting
Sat Nov 19 22:10:41 2016 Restart pause, 2 second(s)
Atcpdump
的连接表明
root@srv ~# tcpdump -i any host 185.145.38.234
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
22:35:38.933443 IP 192.168.0.10.41552 > 185.145.38.234.openvpn: UDP, length 42
22:35:40.116782 IP 192.168.0.10.41552 > 185.145.38.234.openvpn: UDP, length 42
22:35:44.849548 IP 192.168.0.10.41552 > 185.145.38.234.openvpn: UDP, length 42
我可以从同一提示连接到任何服务,允许所有流量。当尝试专门连接到该端口时,我得到
root@srv ~# nc -v -u 185.145.38.234 1194
Connection to 185.145.38.234 1194 port [udp/openvpn] succeeded!
我对tcp
OpenVPN 连接有相同的行为(包括成功的nc
)。
我能想到这种行为的第一个原因(客户端发送请求但没有得到任何回复)是错误的路由或防火墙。但是来自同一系统的任何其他连接(curl www.google.com
例如,相同的提示)都会成功。那个地方没有防火墙(流量完全开放)。
另一个原因可能是上游(ISP)的一些过滤。情况并非如此,因为 LAN 上的客户端(通过上面的机器并最终通过同一接口退出)可以成功连接。
此消息和连接失败的其他原因可能是什么?
不知何故迟到了,但原因是自适应防火墙在将流量“识别”为 OpenVPN 后立即阻止流量(可能基于特定数据包)