3.2.2. Прямая маршрутизация и iptables
3.2.2. Прямая маршрутизация и iptables
Обойти ограничение ARP в окружении с прямой маршрутизацией можно, создав прозрачный прокси с помощью правил
iptables
. Это позволит серверам обслуживать пакеты, отправленные на виртуальный адрес, даже если такого адреса нет в системе.
Использование
iptables
упрощает работу по сравнению с arptables_jf
и позволяет избежать уже упомянутой проблемы ARP, так как виртуальные адреса существуют только на активном маршрутизаторе LVS.
Недостаток
iptables
заключается в снижении производительности вследствие дополнительных операций перенаправления и маскирования всех пакетов.
iptables
не разрешает повторное использование портов. Например, невозможно одновременное выполнение двух экземпляров Apache, привязанных к порту 80, так как каждый из них должен быть привязан к INADDR_ANY
, а не к виртуальному адресу.
Последовательность шагов при настройке прямой маршрутизации с
iptables
описывается ниже.
- На каждом реальном сервере, для всех обслуживаемых им комбинаций виртуальных адресов, портов и протоколов (TCP или UDP), выполните
iptables -t nat -A PREROUTING -p <tcp|udp> -d <виртуальный_ip> --dport <порт> -j REDIRECT
Теперь серверы смогут обрабатывать пакеты, предназначенные указанным виртуальным адресам и портам. - Сохраните настройки на каждом сервере:
#
service iptables save
#chkconfig --level 2345 iptables on
Конфигурацияiptables
будет загружаться при загрузке системы, до инициализации сети.