3.2.2. Routage direct et iptables
Vous pouvez également contourner le problème ARP utilisant la méthode de routage direct en créant des règles de pare-feu
iptables
. Pour configurer le routage direct en utilisant iptables
, vous devez ajouter des règles afin de créer un proxy transparent de telle manière qu'un serveur réel puisse servir les paquets envoyés aux adresses VIP, même si les adresses IP n'existent pas sur le système.
La méthode
iptables
est plus facile à configurer que la méthode arptables_jf
. Cette méthode permet aussi d'éviter complètement le problème ARP LVS car les adresses IP virtuelles existent uniquement sur le "director" LVS actif.
Toutefois, il y a des problèmes de performances lors de l'utilisation de la méthode
iptables
par rapport à la méthode arptables_jf
étant donné qu'il y a une surcharge dans la transmission/le masquage de tous les paquets.
Vous ne pouvez également pas réutiliser les ports avec la méthode
iptables
. Il n'est pas possible, par exemple, de démarrer deux services Apache HTTP Server différents sur le port 80 car les deux doivent être liés au paramètre INADDR_ANY
plutôt qu'aux adresses IP virtuelles.
Pour configurer le routage direct en utilisation la méthode
iptables
, effectuez les étapes suivantes :
- Sur chaque serveur réel, exécutez la commande suivante pour toutes les adresses VIP, tous les ports et toutes les combinaisons de protocoles (TCP ou UDP) destinés à être utilisés par le serveur réel :
iptables -t nat -A PREROUTING -p <tcp|udp> -d <vip> --dport <port> -j REDIRECT
Cette commande fera en sorte que les serveurs réels traitent tous les paquets destinés l'adresse VIP et au port qui ont été spécifiés. - Enregistrez la configuration sur chaque serveur réel :
#
service iptables save
#chkconfig --level 2345 iptables on
Les commandes ci-dessus font en sorte que le système recharge la configurationiptables
au démarrage — avant que le réseau ne soit démarré.