3.2.2. 直接路由及 iptables
您可能还会通过创建
iptables
防火墙规则使用直接路由方法处理 ARP 事件。要使用 iptables
配置直接路由,您必须添加可生成透明代理服务器的规则,以便真实服务器可在系统中并不存在的 VIP 地址的情况下还可将数据包发送到 VIP 地址。
iptables
方法是比 arptables_jf
更简单的配置方法。此方法还可完全绕过 LVS ARP 事件,因为虚拟 IP 地址只存在于活跃的 LVS 负载均衡器(LVS director)中。
但是与
arptables_jf
相比,使用 iptables
方法有一些性能上的问题,因为每次在转发/伪装数据包时都会超载。
您还无法重新利用使用
iptables
方法的端口。例如,无法将两个独立 Apache HTTP Server 服务绑定到端口 80,因为它们必须绑定到 INADDR_ANY
而不是虚拟 IP 地址。
要使用
iptables
方法配置直接路由,请执行以下步骤:
- 在每个真实服务器中,为每个 VIP、端口和协议(TCP 或者 UDP)组合运行以下命令使其为真实服务器服务:
iptables -t nat -A PREROUTING -p <tcp|udp> -d <vip> --dport <port> -j REDIRECT
此命令可使真实服务器处理目的地址为 VIP 和给定端口的数据包。 - 在每个真实服务器保存配置:
#
service iptables save
#chkconfig --level 2345 iptables on
以上命令可使系统在引导时重新载入iptables
配置 — 在启动网络前。