OpenVPN 连接断开,但 SSH 和 Ping 可以工作吗?

OpenVPN 连接断开,但 SSH 和 Ping 可以工作吗?

我遇到了一个有点奇怪的问题,我的 WNDR3700 路由器上运行着一个使用 DD-WRT 的 OpenVPN 服务器。

服务器配置

push "route 192.168.1.0 255.255.255.0"
server 192.168.1.0 255.255.255.0

dev tun0
proto udp
keepalive 10 120
dh /tmp/openvpn/dh.pem
ca /tmp/openvpn/ca.crt
cert /tmp/openvpn/cert.pem
key /tmp/openvpn/key.pem

顺便说一句,我也尝试了桥接模式,结果是一样的!

客户端配置

remote myserver.com 1194
client 
dev tun
proto udp 
resolv-retry infinite 
nobind 
persist-key 
persist-tun 

ca ca.crt
cert client.crt
key client.key
ns-cert-type server

verb 3

一旦隧道启动,我将使用 comp-lzo 和 cipher。

问题问题是,当我尝试远程桌面或浏览 VPN 端 LAN 内的网站时,连接会断开。但我可以通过 SSH 和 Ping 服务器,而不会断开连接。但只要我尝试访问网站(即 192.168.1.1 路由器管理接口),Ping 就会停止,连接不再起作用。

例子

ping 192.168.1.1  -n 1000
Reply from 192.168.1.1: bytes=32 time=27ms TTL=64
Reply from 192.168.1.1: bytes=32 time=27ms TTL=64
Reply from 192.168.1.1: bytes=32 time=28ms TTL=64
Request timed out.

暂停当我通过 VPN 执行“繁重”操作时,会发生这种情况。有什么建议可以解决此问题吗?之前,相同的设置已在另一个 VPN 服务器上运行,我看不到任何奇怪的设置。

答案1

看起来像是 MTU 问题,通过发送大数据包 ping 进行验证(ping -s)。检查数据包拆分选项,如果有效,请打开 LZO 压缩(否则性能可能会下降)。还要检查是否宣传较小的 MTU(仅适用于路由器链接,不适用于桥接类型链接)

编辑:OpenVPN 文档

这种故障的常见症状是 OpenVPN 连接成功启动,但在使用过程中停止。

如果 --fragment 和 --mssfix 一起使用,--mssfix 将从 --fragment max 选项中获取其默认 max 参数。

因此,可以使用以下选项将最大 UDP 数据包大小降低到 1300(解决与 MTU 相关的连接问题的良好首次尝试):

--tun-mtu 1500 --fragment 1300 --mssfix

答案2

您的 VPN IP 范围似乎与您的内部网络 IP 范围相同 - 这是不可取的/不可能的:

推“路由 192.168.1.0 255.255.255.0”服务器 192.168.1.0 255.255.255.0

尝试选择不同的 VPN IP 范围(例如服务器 10.8.0.0 255.255.255.0)

高血压,

吉吉克

答案3

这里也有类似的问题。在 DD-WRT 论坛上,还有其他人报告了 DD-WRT / WNDR3700 / OpenVPN 组合存在问题。

我将 OpenVPN 配置从路由器传输到 LAN 上的服务器,并且运行正常。

我认为这是由于此路由器与 DD-WRT / OpenVPN 之间存在某种不兼容性,不幸的是,您无能为力。真遗憾。

相关内容