маршрутизация на основе используемого интерфейса?

У меня два подключения к Интернету. По умолчанию eth0 и туннель vpn на tun0 .

my 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

Шлюз для tun0 - 10.8.8.1 , хотя я не хочу устанавливать его по умолчанию. Я бы хотел, например, использовать ping -I tun0 8.8.8.8 или curl --interface tun0 http://somewebsite.com , и в этой конкретной ситуации я бы хотел бы использовать tun0 в качестве исходящего соединения.

Возможно ли это?

0
задан 15 March 2017 в 23:20
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
0
ответ дан 5 December 2019 в 08:24

Теги

Похожие вопросы