wer_wolf Posted June 11, 2015 · Report post Уже несколько дней мучаюсь с настройкой решил спросить совета Есть машина с ubuntu 3 сетевых карты 2 смотрят на провайдеров одна во внутреннюю сеть. На машине поднят Squid, OpenVPN и NAT для части пользователей. Хочется сделать одновременную работу по 2 внешним каналам в более менее адекватной балансировкой прописал вот такие правила ip route add $P1_NET dev $IF1 src $IP1 table $TBL1 > /dev/null 2>&1 ip route add default via $P1 table $TBL1 > /dev/null 2>&1 ip route add $P2_NET dev $IF2 src $IP2 table $TBL2 > /dev/null 2>&1 ip route add default via $P2 table $TBL2 > /dev/null 2>&1 ip route add $P1_NET dev $IF1 src $IP1 > /dev/null 2>&1 ip route add $P2_NET dev $IF2 src $IP2 > /dev/null 2>&1 ip route add default via $P1 > /dev/null 2>&1 ip rule add from $IP1 table $TBL1 > /dev/null 2>&1 ip rule add from $IP2 table $TBL2 > /dev/null 2>&1 ip route add $P0_NET dev $IF0 table $TBL1 > /dev/null 2>&1 ip route add $P2_NET dev $IF2 table $TBL1 > /dev/null 2>&1 ip route add 127.0.0.0/8 dev lo table $TBL1 > /dev/null 2>&1 ip route add $P0_NET dev $IF0 table $TBL2 > /dev/null 2>&1 ip route add $P1_NET dev $IF1 table $TBL2 > /dev/null 2>&1 ip route add 127.0.0.0/8 dev lo table $TBL2 > /dev/null 2>&1 iptables -t nat -F POSTROUTING iptables -t nat -A POSTROUTING -s $P0_NET -o $IF1 -j MASQUERADE iptables -t nat -A POSTROUTING -s $P0_NET -o $IF2 -j MASQUERADE где LAN interface IF0 WAN interface 1 IF1="p4p1" WAN interface 2 IF2="p5p1" IP1,2 мои внешние адреса P1,2 шлюзы моих провайдеров P1_NET,P2_NET мои подсети внешние Р0_NET внутреня TBL1,TBL2 таблицы маршрутизации Ну естественно удалил добавление шлюза при поднятии внешних интефейсов ну и собственно правило роута с балансом ip route delete default ip route add default scope global nexthop via $P1 dev $IF1 weight $W1 \ nexthop via $P2 dev $IF2 weight $W2 По VPN и Сквиду все ок, а вот в НАТ поблема когда пингую скажем 8.8.8.8 то получаю разный TTL пакетов ответа и большие потери. плюс при просмотре кеша маршрута на самом сервере вижу вот такое ip route get 8.8.8.8 8.8.8.8 via 22.22.22.97 dev p5p1 src 22.22.22.99 cache ip route get 8.8.8.8 8.8.8.8 via 11.11.11.9 dev p4p1 src 11.11.11.12 cache ip route get 8.8.8.8 8.8.8.8 via 11.11.11.9 dev p4p1 src 11.11.11.12 cache ip route get 8.8.8.8 8.8.8.8 via 22.22.22.97 dev p5p1 src 22.22.22.99 cache ip route get 8.8.8.8 8.8.8.8 via 11.11.11.9 dev p4p1 src 11.11.11.12 cache ip route get 8.8.8.8 8.8.8.8 via 22.22.22.97 dev p5p1 src 22.22.22.99 cache То есть постоянно меняется маршрут в кеше. Если кто то такое делал подскажите в чем мой трабл? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
trksergey Posted June 16, 2015 · Report post Тоже пробовал похожий скрипт для резервирования и балансировки, возникли такие же проблемы. Пришлось балансировать в "ручную" - промаркировал сети в iptables и для каждого маркера добавил маршрут на провайдера. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted June 16, 2015 · Report post подождите, какой кеш? routing cache ведь миллион лет как выпилен из ядра. покажите uname -a Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...