OpenVPN 已连接但有时无法与 OpenVPN 服务器建立数据连接

OpenVPN 已连接但有时无法与 OpenVPN 服务器建立数据连接

我在 Digital Ocean 上的 Ubuntu 服务器 (16.04.2) 上运行 OpenVPN 服务器。这个服务器已经运行了一段时间。据我所知,它运行良好,没有任何问题。

1) 我有一个 Ubuntu 客户端。这台计算机始终能够毫无问题地连接到服务器,无论是使用顶部菜单栏上的 Unity OpenVPN 连接器还是直接使用 .ovpn 文件。

2)我有一个使用 Open VPN 客户端的 Android 移动客户端,并且它始终连接到同一台服务器。

3) 我有一个定期使用的 Windows 客户端。它连接服务器时从未出现问题。

问题周期性地出现在上面的 #1 上:Ubuntu 客户端。正如我所说,它始终可以无问题地连接。但有时,在连接时,无论如何连接,都会出现 0 路流量。当它处于这种“状态”时,重新启动或重新连接并不能解决问题。它会这样持续一天左右,然后它会正常工作数周,然后再次出现这个小数字。

所有设备都使用同一个 WiFi,在这些故障期间,只有 Ubuntu 客户端会受到影响。当它受到影响时,网络命令会变得非常慢(例如“route”)。

当它工作中,路线返回:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.10.0.5       128.0.0.0       UG    0      0        0 tun0
default         gateway         0.0.0.0         UG    600    0        0 wlp3s0
10.10.0.1       10.10.0.5       255.255.255.255 UGH   0      0        0 tun0
10.10.0.5       0.0.0.0         255.255.255.255 UH    0      0        0 tun0
128.0.0.0       10.10.0.5       128.0.0.0       UG    0      0        0 tun0
[servers name]  gateway         255.255.255.255 UGH   0      0        0 wlp3s0
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 docker0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.0.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp3s0

当它不管用,路线返回(尽管非常缓慢):

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.10.0.5       0.0.0.0         UG    50     0        0 tun0
default         192.168.0.1     0.0.0.0         UG    600    0        0 wlp3s0
10.10.0.1       10.10.0.5       255.255.255.255 UGH   50     0        0 tun0
10.10.0.5       0.0.0.0         255.255.255.255 UH    50     0        0 tun0
[server’s name] 192.168.0.1     255.255.255.255 UGH   600    0        0 wlp3s0
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 docker0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.0.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp3s0

为什么会出现这种情况?我不知道,也没有找到任何信息。再次强调:多个客户端使用同一个服务器。Android 客户端始终保持连接,从未出现任何问题。Windows 客户端:它作为 Vbox 客户端在出现问题的同一个 Ubuntu 客户端上运行。如果它出现问题,那么我不会将其连接到 VPN,但同一台机器上的 Winows Vbox 客户端在连接时没有问题,在来回移动字节时也没有问题。

客户端的 .ovpn(所有客户端相同):

client
dev tun
mssfix 1200
proto udp
remote vpn.myserver.com 443
resolv-retry infinite
nobind
persist-key
persist-tun
pkcs12 mykey.p12
remote-cert-tls server
comp-lzo
verb 3
auth-user-pass

再次强调,身份验证和连接从来都不是问题。MTU 大小至关重要:MTU 自动发现在任何地方都不可靠,如果 MTU 大小没有减小,客户端和服务器之间的一些“咖啡店”或云端路由器就会出现问题,因为实际数据包大小有时会超过最大值并导致问题。但是,正如我所说,唯一有问题的客户端是 Ubuntu 客户端。同样的配置在其他地方都有效。

我也尝试了各种其他配置(客户端和服务器):TCP 而不是 UDP;不同的端口号。

感谢您的帮助。

相关内容