同时使用 OpenVPN 和 eth0

同时使用 OpenVPN 和 eth0

我使用 openVPN 连接到 VPN。现在,建立连接后,我的所有流量都会通过 tun0。

我的 LAN 网关是 10.100.98.4...因此,为了让应用程序使用我的直接互联网连接,我

sudo route 添加默认网关 10.100.98.4

但是,我现在不能使用 tun0。我知道这是因为

curl --interface tun0 google.com

没有给我任何东西..我该怎么办同时使用两个连接.我怎样才能实现这一点?

路由表:-

未运行VPN:-

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.100.98.0     *               255.255.255.0   U     1      0        0 eth0
default         10.100.98.4     0.0.0.0         UG    0      0        0 eth0

使用VPN:-

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.10.0.1       10.10.54.230    255.255.255.255 UGH   0      0        0 tun0
10.10.54.230    *               255.255.255.255 UH    0      0        0 tun0
free-vpn.torvpn 10.100.98.4     255.255.255.255 UGH   0      0        0 eth0
10.100.98.0     *               255.255.255.0   U     1      0        0 eth0
default         10.10.54.230    0.0.0.0         UG    0      0        0 tun0

执行路线命令后

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.10.0.1       10.10.54.230    255.255.255.255 UGH   0      0        0 tun0
10.10.54.230    *               255.255.255.255 UH    0      0        0 tun0
free-vpn.torvpn 10.100.98.4     255.255.255.255 UGH   0      0        0 eth0
10.100.98.0     *               255.255.255.0   U     1      0        0 eth0
default         10.100.98.4     0.0.0.0         UG    0      0        0 eth0
default         10.10.54.230    0.0.0.0         UG    0      0        0 tun0

答案1

添加默认路由后,您将告诉所有流量返回网关,因此只会发生奇怪的事情。

如果您需要访问 VPN 另一端的特定网络,则需要添加指向 的特定路由tun0。您可以在隧道启动后手动添加路由,或者更好的方法是更改​​ OpenVPN 的server.conf文件以在隧道启动时将路由“推送”给您。

如果你想做一些更复杂的事情 - 比如你想强制所有端口 80 和 443 的流量通过 VPN,但让其他所有流量都出去eth0- 那么你可以使用iptables源 NAT 流量匹配特定规则到 IP 地址tun0- 有点像这样:-

iptables -t nat -A POSTROUTING -s 10.10.98.0/24 -d ! 10.10.98.0/24 -p tcp --dport 80 -j SNAT --to-source 10.10.54.230
iptables -t nat -A POSTROUTING -s 10.10.98.0/24 -d ! 10.10.98.0/24 -p tcp --dport 443 -j SNAT --to-source 10.10.54.230

为了使这个特性持久化,以 root 身份iptables-save > /etc/iptables/iptables.rules

祝你好运!

相关内容