iproute несколько ADSL балансировщик нагрузки через виртуальную машину

10

В течение долгого времени (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). Я не понимаю, что изменилось.

Какие-либо предложения?

Дрю Андерсон
источник
Многие люди жалуются на проблемы с сетью. Можете ли вы обновить ядро ​​до 3.14? Вот некоторые инструкции по установке: linuxg.net/…
Sacx
Обновление до 3.14 убило ВМ. Ядро паники. Может быть, я не сделал это правильно, но я следовал этим инструкциям. Тем временем я понизил до 12.04 (переустановленная ВМ), чтобы продолжать использовать старые рабочие функции, поддержка до 2017 года, вероятно, в порядке.
Дрю Андерсон
Таким образом, люди знают, что я больше не нуждаюсь в этом решении (сменила работу), поэтому я не буду знать, смогу ли я заставить это работать в 14.04.
Дрю Андерсон
оба маршрутизатора находятся в одной сети L3? Лучше всего иметь 1 подсеть на сетевую карту / маршрут.
user158798

Ответы:

2

Я понимаю, что оригинальный плакат больше не нуждается в решении, но вот мое мнение о лучшем решении этой проблемы. Я также понимаю, что автор предпочел бы использовать Ubuntu, но ручная настройка правил маршрутизации не подходит для передачи прав собственности другим или даже для ссылки на себя годами позже.

Я лично предложил бы более надежную настройку с использованием виртуальной машины PFSense для балансировки нагрузки соединений. Я бы, вероятно, также предложил выполнять NAT на самой коробке PFSense, а не на модемах. У меня что-то похожее на это настроено в виртуальной машине, и это работает хорошо.

Для соединений между модемами и виртуальной машиной PFSense я использую коммутатор с поддержкой vlan, чтобы подключить 3 отдельных VLans к виртуальной машине, и разделить их на 3 отдельных порта коммутатора. Это фактически обеспечивает прямой (виртуальный) кабель от каждого модема к блоку pfsense, а другой кабель - к локальной сети. Затем вы можете настроить модемы для сквозной передачи, которая варьируется от поставщика к поставщику.

Это правда, что это обходит проблему, а не решает ее напрямую, но установка NAT на самих модемах кажется мне просто вызовом проблемы. Кроме того, PFSense специально разработан в качестве готового решения для маршрутизатора, поэтому он поддерживает и будет продолжать тестироваться с подобными конфигурациями, обеспечивая лучшую надежность посредством обновлений.

stonecrusher
источник
этот ответ мог бы быть лучше как комментарий, но у меня нет репутации для этого.
каменная дробилка