如何绕过 VPN 连接?

如何绕过 VPN 连接?

我的路由器 (192.168.1.1) 通过 PPPoE 连接到互联网。服务器 (192.168.1.20) 已安装 OpenVPN 客户端,所有其他计算机都从 DHCP 获取 192.168.1.20 作为默认网关。我的 IP 电话不需要 VPN,这就是我手动将其默认网关设置为 192.168.1.1 的原因。这很完美。
我可以对服务器执行类似操作,使其安装传输以通过 192.168.1.1 下载种子吗?我不熟悉 iptables(我只是复制粘贴规则以在服务器上配置 NAT 以共享 VPN 连接)。
为了更简单:如何添加 iptables 规则以将所有非中转数据包从服务器转发到 192.168.1.1,而不是使用 VPN 连接?提前致谢!

答案1

一个简单的方法是使用单独的用户来运行 torrent 客户端,然后使用 iptables 简单地标记数据包并适当地路由它们。

iptables -t mangle -A OUTPUT -m owner --uid-owner custom_user -j MARK --set-mark 11

完成后,您需要沿着非隧道网关路由带有该标记的数据包:

ip rule add fwmark 11 table 11
ip route add 0.0.0.0/0 table 11 dev whatever_dev_here

替换whatever_dev_here为您的本地连接的设备名称。

答案2

我花了几个小时终于找到了解决方案。虽然不如之前建议的那么好,但仍然有效。

route del -net 0.0.0.0 netmask 128.0.0.0 dev tun0

我只是删除了 openvpn 客户端创建的默认网关路由。因此,来自机器的所有流量都转到 192.168.1.1,正如我所需要的。
但由于 NAT 伪装,我网络中的其他设备仍然超出了 VPN。
我已将此字符串添加到 /etc/rc.local

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

相关内容