OpenVPN 来自对端的封装数据包长度错误

OpenVPN 来自对端的封装数据包长度错误

我在云中运行一个 OpenVPN 服务器,设置为在 1194/tcp 上监听,并附加一个 UFW 将 443 转发到 1194(因此我可以在防火墙限制的地方使用我的 VPN。)

当我尝试打开 https 连接到 google.com 时,我的 OpenVPN 服务器日志中出现下面的内容,并且页面几乎崩溃。

WARNING: Bad encapsulated packet length from peer ([[Peer number]]), which must be > 0 and <= 1575 -- please ensure that --tun-mtu or --link-mtu is equal on both peers -- this condition could also indicate a possible active attack on the TCP link -- [Attempting restart...]

除 HTTPS 之外,正常 HTTP 流量和任何我测试过的其他类型的流量似乎都运行良好。

我遵循了本指南https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-16-04几乎完全设置好一切。

为了转发,我在 UFW before.rules 中添加了几行

...
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 1194
COMMIT

任何帮助都将受到赞赏。

编辑:我将其从端口 443 移出,然后它又开始工作了。如果你想使用 HTTPS,似乎无法进行重定向。我只需要找到另一个开放端口。

答案1

问题太广泛了重定向iptables 规则,因为它会影响所有 NAT 流量。它应该仅限于传入 VPN 服务器的流量。

通过指定客户端用于连接 VPN 服务器的接口或 IP 地址来更改该规则,使其仅匹配传入流量。

例如:

-A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 1194

在哪里eth0是 VPN 客户端连接的接口(很可能是 WAN 接口)

或者:

-A PREROUTING -d 192.0.2.0 -p tcp --dport 443 -j REDIRECT --to-port 1194

在哪里192.0.2.0是 VPN 客户端连接的 IP 地址(很可能是外部 IP 地址)。

相关内容