У меня два подключения к Интернету. По умолчанию 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
в качестве исходящего соединения.
Возможно ли это?
Вот что мне помогло:
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