当我尝试从网络内部通过 VNC 连接到特定机器 #1 (192.168.1.221) 时,我可以毫无问题地连接到它。当我尝试从网络外部通过我的 OpenVPN VPN 进行连接时,我无法这样做,连接要么需要大约 5 分钟才能加载,然后不断断开等,要么我会收到“连接尝试超时”的提示。我有另一台机器 #2 (192.168.1.220),我可以通过 VNC 毫无问题地连接到它。
这台机器是一台装有两块网卡的 Windows 10 机器,IP 地址是静态的,运行 Ultra VNC Server 1.2.2.4。VPN 服务器是运行在 Ubuntu Server 机器上的 OpenVPN,机器的 IP 地址是 192.168.1.84,但 VPN 会将您置于 10.8.0.X/24 上。
我注意到,
- 如果我 ping 192.168.1.220,我会得到 10% - 30% 的数据包丢失
- 如果我在尝试通过 VPN 连接时运行 wireshark,我会收到一系列 [TCP 重传]、[TCP 无序] 和 [TCP DUP ACK ######] 错误
- 查看作业时,我会循环设置 192.168.1.84 已连接,192.168.1.84 断开连接。
到目前为止我已经尝试过,
- 重启机器
- 将 IP 从 .221 更改为其他 IP
- 接了一条新线,并尝试使用第二个网卡
- 更新 WinVNC 至最新版本
- 将 NIC 设置为不同的速度/双工
- 使用与默认 5900 不同的端口
- 各种 VNC 查看客户端
- 如果我通过 telnet 连接到它,我会收到 rfb 003.008 响应,我理解这意味着它成功了
经过一番研究,我相信这可能是 MTU 问题或路由表问题,但我不确定。我对路由器上的 MTU 进行了一些调整,能够 ping 通它,丢包更少,但无法打开 VNC,我读到一些关于 VNC 不喜欢 1500 以下的 MTU(因为我必须将我的 MTU 设置为 1500 以下)的内容,那么我该怎么办?如果是路由表,是在机器上还是在 VPN 服务器上?
国王问候,科尔德盖特