他のネットワークインターフェースにバインドされたプログラムがデフォルト以外のゲートウェイを使用するようにする

他のネットワークインターフェースにバインドされたプログラムがデフォルト以外のゲートウェイを使用するようにする

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

関連情報