LinuxForum.Fans
Тема

iproute2 и подключение через двух провайдеров(продолжение)

Автор: selivan 4 сообщений 2709 просмотров
#127192

Имеются два провайдера.

Выпустить определённый трафик через одного из них у меня получилось: http://linuxforum.ru/viewtopic.php?pid=142507

Теперь нужно определённый трафик от локальных процессов пустить через второго провайдера. Для примера возьму удалённый хост 8.8.8.8(гуглёвский бесплатный DNS), но сразу предупреждаю, что реальные правила более сложные и просто

text

ip rule add to 8.8.8.8 lookup vpn

не подходит. Но если я смогу сделать это для 8.8.8.8, написать более сложные правила для -j MARK не проблема :)

Итак:

text

#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:

#127205

цепочки input и output для локальных процессов вам надо ставить метки в PREROUTING либо FORWARD
но наскоко я знаю iptables не работает с именами.

#127505

Мне как раз и нужно настроить локальные процессы качать определённые типы траффика (хост/протокол/порт, то есть просто ip rule add to ... не катит) через второго провайдера, для чего я использую mangle OUTPUT. А оно не прокатывает :(

#127514

Меть тогда в POSTROUTING раз локальные.

Войдите или зарегистрируйтесь, чтобы ответить.