我已经在 Azure 虚拟机上设置了 OpenVPN 服务器。对于设置,我使用了https://github.com/Nyr/openvpn-install 中的脚本。
然后我使用sudo openvpn --config client.ovpn它完美地连接到服务器。然后我从客户端机器上断开以太网电缆,然后重新连接它。客户端然后尝试重新连接,但它永远不会成功。然后我尝试杀死客户端 ( ctrl+c) 并使用相同的命令重新启动它 - 这有效。
客户端当前位于具有至少两个 NAT 层的办公网络上。最终,客户端将位于相当不稳定的客户端网络上,我无法控制网络设置。
无论我使用TCP或 ,我都会得到相同的行为UDP。
为什么重新连接的行为与停止然后启动 OpenVPN 客户端不同?
如果一切都失败了,我当然可以制作一个包装脚本来重新启动 OpenVPN 客户端,但我当然不想这样做。
服务器和客户端都运行 Ubuntu server 18.04
该.ovpn文件的标题是:
client
dev tun
proto udp
sndbuf 0
rcvbuf 0
remote <host> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA512
cipher AES-256-CBC
setenv opt block-outside-dns
key-direction 1
verb 3
Run Code Online (Sandbox Code Playgroud)
使用时从OpenVPN客户端登录UDP(TCP看起来很相似):
$ sudo openvpn …Run Code Online (Sandbox Code Playgroud)