我想从 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!
我对 OpenVPN 连接有相同的行为tcp
(包括成功的nc
)。
我能想到的这种行为(客户端发送请求但没有收到任何回复)的第一个原因是路由或防火墙错误。但来自同一系统(curl www.google.com
例如同一提示符)的任何其他连接都会成功。那个地方没有防火墙(流量完全开放)。
另一个原因可能是某些上游(ISP)的过滤。但事实并非如此,因为 LAN 上的客户端(通过上面的机器传输并最终通过同一接口退出)可以成功连接。
此消息和连接失败的其他原因可能是什么?
答案1
虽然有点晚了,但原因是适应性防火墙一旦“识别”到 OpenVPN(可能基于特定数据包)就会阻止该流量
答案2
对于 pfSense 用户
由于某种原因,在 OpenVPN 服务器中,你必须将接口设置为任意,而不是 WAN