В течение долгого времени (2 года?) Я работал на виртуальной машине (сервер Ubuntu 12.04) с очень простой функцией балансировки исходящей нагрузки, отправляя разные исходящие соединения через разные ADSL-маршрутизаторы.
Сконфигурированный просто с помощью iproute без маскарада NAT, NAT управляется самими исходящими ADSL-маршрутизаторами, позволяя соединениям перенаправляться напрямую к отправителю в обход виртуальной машины с балансировкой нагрузки. На виртуальной машине маршрутизатора также нет правил брандмауэра (iptables).
echo 1 > /proc/sys/net/ipv4/ip_forward
# flush initially
ip route flush cache
# remove whatever is there for the default to begin with
ip route delete default
# default load balancing rule
ip route add default scope global \
nexthop via ${ROUTER2} dev ${INTERFACE} weight 6 \
nexthop via ${ROUTER1} dev ${INTERFACE} weight 4
Это хорошо сработало в течение длительного времени.
Я недавно обновил (do-release-upgrade -d) балансировщик нагрузки (серверная виртуальная машина Ubuntu 12.04) до Ubuntu 14.04.
Поскольку обновление интернет-соединений с использованием вышеупомянутой команды «ip route add default» вызывает спорадические проблемы с подключением и создает непригодный опыт. Почти как если бы отдельные пакеты отправлялись через оба маршрутизатора, а не через полные соединения.
Это было предпринято для второй виртуальной машины 14.04 с тем же эффектом.
Я хотел бы иметь такую же функциональность в Ubuntu 14.04 (текущее ядро: 3.13.0-24). Я не понимаю, что изменилось.
Какие-либо предложения?