我有一个在云中运行的 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...]
Run Code Online (Sandbox Code Playgroud)
正常的 HTTP 流量和我测试过的任何其他类型的流量似乎都可以正常工作,除了 HTTPS。
我几乎完全按照本指南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
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏。
编辑:我将它从端口 443 移开,然后它又开始工作了。如果您想使用 HTTPS,似乎无法进行重定向。我只需要找到另一个开放的端口。
问题是REDIRECT 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 地址)。
| 归档时间: |
|
| 查看次数: |
21139 次 |
| 最近记录: |