搬家后,我遇到了一个非常奇怪的问题。我使用 OpenVPN 连接在日本远程工作,并通过远程桌面连接到我的工作电脑。我最近搬家了。在旧公寓里,一切都运行正常。现在,当我使用移动数据时,一切都运行正常。但当我使用新互联网时,我遇到了非常奇怪的问题:
VPN 连接已成功创建,我可以通过远程桌面连接。直到昨天,这部分工作没有任何问题。从今天开始,我将在大约 1 分钟后断开与远程桌面的连接。总是没有例外。这是在使用 Parallels 远程桌面客户端时。当使用 Windows 远程桌面客户端时,我根本无法连接。
我无法从主机连接到公司的任何内部网站。我可以 ping 和 traceroute 它们,看起来一切正常。
但是当我用手机创建热点并使用本地数据时,一切都运行正常。
公寓里有一台锐捷AP180-AC路由器,墙嵌式设计,尝试过在AP模式和路由器模式之间切换,但是没有任何效果。
我会非常感激任何帮助,因为我一点也不知道这里发生了什么。对我来说这似乎是一种非常奇怪的行为,而且我的网络知识也非常有限。
答案1
当您遇到神秘的网络问题(有些东西可以工作,有些则不行,某些东西似乎随机地开始和停止工作,连接随机失败)时,问题通常在于(大量)数据包丢失。碎片化的 IP 数据包是造成数据包丢失的潜在因素。为了避免出现碎片化的数据包,必须降低 MTU。
这也适用于某些 VPN 隧道,例如 OpenVPN。由于您的隧道是基于 UDP 的,因此隧道连接无法从丢失的数据包中恢复。数据包丢失也会在隧道内部体现出来。某些软件对数据包丢失的反应很差。
使用 OpenVPN,有多种方法可以解决这个问题,所有这些方法都进入客户端配置文件:
- 使用其中一个
link-mtu 1300
或tun-mtu 1300
两个(但不能同时使用)明确降低 MTU - 用于
mtu-disc yes
启用路径 MTU 发现,但这显然只适用于 Linux - 用于
mtu-test
启用不同的 MTU 发现机制,该机制可能适用于所有操作系统,但需要很长时间 - 用于
fragment 1300
让 OpenVPN 内部进行分片
此外,mssfix 1300
可以用来使隧道 TCP 连接正常运行,但这只是性能优化。
对于任何这些选项,选择过低的限制都可能严重影响隧道内的吞吐量。OpenVPN 手册建议在遇到问题时将 1300 作为起点。
您可以阅读更多有关 IP 碎片的信息关于网络工程的此问答。
您仍应检查常规互联网连接是否有明显的数据包丢失。百分之几是可以容忍的,但一旦达到 10-20% 甚至更高,就会变得非常烦人。如果您遇到过多的数据包丢失,则可能是某个地方的连接不良。对于 DSL,这可能是内部电话线质量差/老旧。电缆也对此很敏感,此外还有阻抗不匹配、缺少终端或信号放大器不良等问题。