Имеются два провайдера.
Выпустить определённый трафик через одного из них у меня получилось: http://linuxforum.ru/viewtopic.php?pid=142507
Теперь нужно определённый трафик от локальных процессов пустить через второго провайдера. Для примера возьму удалённый хост 8.8.8.8(гуглёвский бесплатный DNS), но сразу предупреждаю, что реальные правила более сложные и просто
ip rule add to 8.8.8.8 lookup vpn
не подходит. Но если я смогу сделать это для 8.8.8.8, написать более сложные правила для -j MARK не проблема :)
Итак:
#ip route list
...
...
... # тут куча всего, не суть дело важно
default dev ppp0 scope link # первый провайдер
#ip route list table vpn
192.168.1.0/24 dev tap0 scope link src 192.168.1.252
default via 192.168.1.1 dev tap0 # второй провайдер
#ip rule list
0: from all lookup local
100: from all fwmark 0x1 lookup vpn
32766: from all lookup main
32767: from all lookup default
#iptables -t mangle -A OUTPUT -d 8.8.8.8/32 -j MARK --set-mark 1
#ip route flush cache
traceroute до 8.8.8.8 показывает, что траффик всё равно идёт через первого провайдера :(
Куда копать? :WALL: