Назад | Перейти на главную страницу

CentOS Dual WAN - балансировка нагрузки и аварийное переключение

Я настраиваю сервер Linux (CentOS) для работы в качестве маршрутизатора с балансировкой нагрузки и аварийным переключением (когда одна интернет-линия не работает, другая должна действовать). Клиенты, подключенные к eth1 (LAN), должны иметь доступ к Интернету.

Моя ссылка ( http://fatalsite.net/?p=90 )

Интерфейсы:

eth1 = LAN

eth2 = WAN1 - 192.168.1.100 / шлюз 192.168.1.1 - ISP1

eth3 = WAN2 - 192.168.10.5 / шлюз 192.168.10.1 - ISP2

Как я могу это сделать?

Спасибо!


хорошо. поэтому я настроил нат и включил пересылку, но все еще могу подключиться к Интернету через интерфейс LAN.

я тоже сделал это, но не повезло:

iptables -A INPUT -i eth2 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -i eth3 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables --table nat --append POSTROUTING --out-interface eth2 -j MASQUERADE

iptables --table nat --append POSTROUTING --out-interface eth3 -j MASQUERADE

iptables --append FORWARD --in-interface eth1 -j ACCEPT

Собственно предоставленная вами ссылка описывает решение для вашего шлюзового маршрутизатора. Что не хватает, так это настройка локальной сети. Вот оно:

  • настроить NAT на обоих интерфейсах

iptables -t nat -A POSTROUTING -o eth2 -s -j MASQUERADE

iptables -t nat -A POSTROUTING -o eth3 -s -j MASQUERADE

  • убедитесь, что вы включили пересылку (sysctl -w net.ipv4.ip_forward=1)

  • проверьте, жив ли facebook.com, выполнив ping или попробовав http-запрос - если он жив, ничего не делайте ;-) Вы можете предположить, что если facebook.com жив, ваша WAN-ссылка работает нормально. Если он не работает - люди все равно будут звонить вам и кричать, что Интернет не работает, потому что facebook больше не работает. Для этого вы можете написать сценарий.

  • в случае, если соединение не работает - вам нужно выполнить только одну задачу: добавить правило IP и направить свой трафик через ссылку WAN переключения при отказе. Снова включен первичный WAN - удалите правило и очистите кеш. Как это:

ip rule add from 1.2.3.0/24 table WAN2

ip route flush cache

или восстановить трафик:

ip rule delete from 1.2.3.0/24 table WAN2

ip route flush cache

  • Сделайте ваши изменения постоянными. Я не знаком с CentOS, но sysctl.conf и rc.local должны быть к вашим услугам.

  • Почему вам не нужно переключать шлюз по умолчанию на вашем компьютере? Согласно вашей ссылке, вы уже добавили маршруты по умолчанию в разные таблицы маршрутизации. Это означает, что ваш ящик будет по-прежнему доступен через вторичную таблицу маршрутизации. И да, даже если первичный шлюз не работает, вы сможете связаться с ним с помощью вторичной таблицы, у которой есть собственный маршрут по умолчанию.

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

  • И последнее: если ваши WAN-ссылки являются частными сетями, вы не сможете получить доступ к своему устройству из-за пределов своей сети, кроме перенаправления портов или настройки vpn-ссылки. В этом случае может потребоваться переключение шлюзов.

  • Для ссылки на источник проверьте здесь.