我在云中运行一个 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 地址)。