3.2.2. Enrutado directo y iptables
También se puede solucionar este problema de ARP utilizando el método de enrutado directo a través de reglas de cortafuegos de
iptables
. Para configurar el enrutado directo con iptables
, debe añadir reglas que creen un proxy transparente para que el servidor real sirva paquetes enviados a la dirección VIP aunque ésta no exista en el sistema.
El método con
iptables
es más sencillo de configurar que el método con arptables_jf
. Este método también sortea el problema de ARP de LVS en su totalidad porque las direcciones IP virtuales solo existen en el nodo director LVS activo.
Sin embargo, el método con
iptables
presenta algunas desventajas de rendimiento en comparación con arptables_jf
porque hay sobrecarga en el enmascaramiento y reenvío de cada paquete.
Tampoco se puede reusar los puertos cuando se utiliza el método con
iptables
. Por ejemplo, no es posible ejecutar dos servicios Apache HTTP Server separados vinculados al puerto 80 porque ambos deben estar vinculados a una instancia de INADDR_ANY
de las direcciones IP virtuales.
Para configurar el enrutado directo utilizando
iptables
, ejecute los siguientes pasos:
- En cada servidor real, ejecute los siguientes comandos para cada combinación de VIP, puerto y protocolo (TCP o UDP) que será servido por el servidor real:
iptables -t nat -A PREROUTING -p <tcp|udp> -d <vip> --dport <port> -j REDIRECT
Este comando hará que el servidor real procese paquetes destinados para el VIP y puertos dados. - Guarde la configuración en cada servidor real:
#
service iptables save
#chkconfig --level 2345 iptables on
Los comandos anteriores hacen que el sistema recargue la configuración deiptables
durante el arranque — antes de iniciar la red.