我正在尝试为我们的一名员工排除连接问题,他使用 OpenVPN 客户端连接到我们的办公室基础设施。据我所知,他是唯一一个受到此问题影响的人,这个问题基本上让他连接正常,但几分钟到一两个小时后,他的连接就会断开。
他通过 wifi 使用 W10,无法使用 LAN 电缆,他的 ovpn 客户端日志如下所示:
Thu Jan 28 11:28:05 2021 Connection reset, restarting [-1]
Thu Jan 28 11:32:21 2021 [ApplianceCertificate_xxxxxxxxxxxxx] Inactivity timeout (--ping-restart), restarting
Thu Jan 28 11:32:21 2021 SIGUSR1[soft,ping-restart] received, process restarting
Thu Jan 28 11:32:21 2021 MANAGEMENT: >STATE:1611829941,RECONNECTING,ping-restart,,,,,
Thu Jan 28 11:52:01 2021 read TCPv4_CLIENT: Connection timed out (WSAETIMEDOUT) (code=10060)
Thu Jan 28 11:52:01 2021 Connection reset, restarting [-1]
Thu Jan 28 11:52:01 2021 SIGUSR1[soft,connection-reset] received, process restarting
Thu Jan 28 13:52:17 2021 Connection reset, restarting [-1]
Thu Jan 28 13:52:17 2021 SIGUSR1[soft,connection-reset] received, process restarting
Thu Jan 28 13:52:17 2021 MANAGEMENT: >STATE:1611838337,RECONNECTING,connection-reset,,,,,
因为我也想测试他的互联网连接,所以我让他对 google.com 运行连续 ping 命令,虽然大多数数据包都顺利通过,但也有一些数据包丢失(6 分钟内丢失了 4 个数据包,速率为每秒一个查询)。根据日志,我发现这Connection timed out (WSAETIMEDOUT) (code=10060)
基本上代表客户端和 vpn 服务器之间的连接问题,这就是为什么我认为这可能是由偶尔发生的少量丢失数据包引起的。我只是不太确定 vpn 会如此敏感。他还告诉我其他一切都正常,包括通话,这就是我怀疑少量丢失的数据包实际上可能是导致这种情况的根本原因的原因。
我查看了他的路由器配置(路由器最近也重新启动了),据我所知,没有任何迹象表明配置错误。
我有点不知该如何确认根本原因是互联网连接。我想过让他用手机设置一个热点 wifi 几个小时,但我担心如果他必须参加电话会议的话会产生费用,所以现在我还没有尝试过。
有什么想法或建议吗?谢谢!
答案1
正确配置的 OpenVPN 并不那么敏感,不会因为丢失几个数据包而中断。但您的测试并未表明只有很少数据包丢失。这可能被解释为互联网在几秒钟内根本无法访问,而这并不是“几个数据包”。
如果 OpenVPN 是通过 TCP 配置的(不推荐),则它非常敏感。首先,TCP 连接不可能只在流的中间丢失几个字节。TCP 是“可靠的”,这意味着另一方会及时收到发送的所有数据,或者连接被重置为断开。如果任何一方收到“TCP 重置”数据包或 ICMP 不可达信息之一,连接也会被重置。例如,路由器在间歇性短暂的互联网中断(WiFi 重新关联、PPPoE 重新连接等)时可能会生成此类 ICMP 不可达信息。
此外,如果您的 WiFi 上没有静态 IP,或路由器上没有静态公共 IP,则重新连接后,您可能会获得另一个分配的 IP,或被 SNAT 到另一个端口。如果远程 VPN 配置不允许“浮动”客户端,也需要重新连接。
总体而言,这似乎是互联网连接问题。请排除故障。
答案2
我遇到了完全相同的情况,我是唯一遇到此问题的人。这是由于 WiFi 连接的 MTU 值过高造成的。我将网卡的 MTU 自动设置更改为手动设置,使用 1400 作为新值。问题立即消失。