wer_wolf Опубликовано 11 июня, 2015 · Жалоба Уже несколько дней мучаюсь с настройкой решил спросить совета Есть машина с 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 То есть постоянно меняется маршрут в кеше. Если кто то такое делал подскажите в чем мой трабл? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
trksergey Опубликовано 16 июня, 2015 · Жалоба Тоже пробовал похожий скрипт для резервирования и балансировки, возникли такие же проблемы. Пришлось балансировать в "ручную" - промаркировал сети в iptables и для каждого маркера добавил маршрут на провайдера. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 16 июня, 2015 · Жалоба подождите, какой кеш? routing cache ведь миллион лет как выпилен из ядра. покажите uname -a Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...