使绑定到其他网络接口的程序使用非默认网关

使绑定到其他网络接口的程序使用非默认网关

我希望绑定到非 eth0 网络接口的程序在建立连接时使用其他默认网关。

ip rule add oif tun0 table 11
ip route add default via 10.3.33.20 table 11
ip route flush cache
ip rule list
0:      from all lookup local
32764:  from all iif tun0 lookup 11
32765:  from all oif tun0 lookup 11
32766:  from all lookup main
32767:  from all lookup default
ip route list table all
default via 10.3.33.20 dev tun0 table 11
default via 172.104.159.1 dev eth0 proto static metric 100
10.3.0.0/16 dev tun0 proto kernel scope link src 10.3.33.21
172.104.159.0/24 dev eth0 proto kernel scope link src 172.104.159.249 metric 100
...

当我将程序绑定到接口 tun0 时,它不会将任何内容传输到网关 10.3.33.20

答案1

作品:

ip rule add from <tun0-interface-ip> table 11 
ip route add default via 10.3.33.20 table 11
ip route flush cache

由于某种原因无法工作:

ip rule add oif tun0 table 11
ip route add default via 10.3.33.20 table 11
ip route flush cache

相关内容