根据使用的接口进行路由?

根据使用的接口进行路由?

我有两个互联网连接。一个是默认连接eth0,另一个是 VPN 隧道tun0

我的ip show route节目:

default via 149.202.xxx.xxx dev eth0
10.8.8.0/24 dev tun0  proto kernel  scope link  src 10.8.8.234
149.202.xxx.0/24 dev eth0  proto kernel  scope link  src 149.202.xxx.yy

网关tun010.8.8.1,尽管我不想将其设置为默认网关。例如,我想使用ping -I tun0 8.8.8.8curl --interface tun0 http://somewebsite.com,在这种特定情况下,我想将其用作tun0我的传出连接。

是否可以?

答案1

这对我有用:

echo "10 vpn" >> /etc/iproute2/rt_tables
ip route add default via 10.8.8.1 dev tun0 table vpn
ip rule add from 10.8.8.234/32 table vpn
ip rule add to 10.8.8.1/32 table vpn
ip route flush cache

并证明:

$ curl ifconfig.co
149.202.xxx.xxx

$ curl --interface tun0 ifconfig.co
178.250.xxx.xxx

相关内容