LinuxForum.Fans
Тема

iproute2+iptables+ 2 ISP

Автор: sapsan 6 сообщений 2306 просмотров
#324617

Доброго времени суток!
Столкнулся с проблемой при настройке распределения интернет-трафика между двух провайдеров.
Делал по сему мануалу http://help.ubuntu.ru/wiki/ip_balancing вторым способом, без проверки на наличие связи с провайдерами, добавляя строку:

text
ip route add default scope global nexthop via $P1 dev $IF1 weight $W1 \
nexthop via $P2 dev $IF2 weight $W2

Беда заключается в чем: выставлена одинаковая стоимость маршрутов, пингуем внешний ресурс и получаем потери в 50%. При просмотре пакетов на интерфейсах, при помощи tcpdump, получается, что во второй интерфейс вылетает пакет с ip-адресом первого интерфейса в качестве источника.

Пробовал маркировать пакеты средствами iptables, но iproute2 флаги не воспринимает. Как быть в такой ситуации?

#324662
sapsan написал:
Доброго времени суток!
Столкнулся с проблемой при настройке распределения интернет-трафика между двух провайдеров.
Делал по сему мануалу http://help.ubuntu.ru/wiki/ip_balancing вторым способом, без проверки на наличие связи с провайдерами, добавляя строку:
text
ip route add default scope global nexthop via $P1 dev $IF1 weight $W1 \
nexthop via $P2 dev $IF2 weight $W2

Беда заключается в чем: выставлена одинаковая стоимость маршрутов, пингуем внешний ресурс и получаем потери в 50%. При просмотре пакетов на интерфейсах, при помощи tcpdump, получается, что во второй интерфейс вылетает пакет с ip-адресом первого интерфейса в качестве источника.

Пробовал маркировать пакеты средствами iptables, но iproute2 флаги не воспринимает. Как быть в такой ситуации?

Читать lartc и iptables tutorial.

#324668

А у вас переменные стоимости $W1 $W2 маршрутов откуда берутся????. Поменяйте их и выставите ту стоимость что нужно. И примените новое правило для динамической маршрутизации.

#324670
kisil написал:
А у вас переменые стоимости $W1 $W2 маршрутов откуда берутса????. Поменяйте их и выставите ту стоимость что нужно. И примените новое правило для динамическоц маршрутизации.

$W1 и $W2 берутся из файла vars, но т.к. пока что ввожу эту строку вручную, то оба они равны 1. Процент потерь напрямую зависит от стоимости маршрутов, к примеру если 1:1, то потери будут составлять стабильные 50%; если 3:1 - то могут и 25%, могут и 75%.

Alexey_1 написал:
Читать lartc и iptables tutorial.

В части чего именно? Если бы я знал свою ошибку, я бы сюда не обращался за помощью

#324704

Я тут взглянул на ман по LARTC, полность не дошло, но попробуйте в weight выставить например так 1:1000.
Потери могут быть, так как сказано в мане, маршруты кешируютса. Но может при таком значении они будут минимальны. И да покажите вывод вашей таблицы маршрутизации.

#324737

Вывод ip route:

text
default 
        nexthop via 46.xxx.xxx.xxx  dev eth0 weight 1
        nexthop via 10.yyy.yyy.yyy  dev ppp0 weight 1
10.43.zzz.zzz/24 dev eth2  proto kernel  scope link  src 10.43.zzz.zzz 
10.yyy.yyy.yyy dev ppp0  proto kernel  scope link  src 92.xyz.xyz.xyz 
46.xxx.xxx.xxx/27 dev eth0  proto kernel  scope link  src 46.xxx.xxx.xxx 
92.xyz.xyz.xyz/24 dev ppp0  scope link  src 92.xyz.xyz.xyz 
127.0.0.0/8 dev lo  scope link 

При рассировке с помощью mtr с самого шлюза пакеты попадают в нужные интерфейсы, но если пытаются в интернет попасть хосты из локалки, то исходящие пакеты с шлюза ведут себя как попало. Как понимаю, то загвоздка в фаерволе. В iptables добавлены 2а правила:

iptables -t nat -A POSTROUTING -s 10.43.zzz.zzz/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.43.zzz.zzz/24 -o ppp0 -j MASQUERADE

Результат "ноль"

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