3.2.2. Instradamento diretto e iptables
È possibile risolvere il problema riguardante ARP durante l'utilizzo del metodo d'instradamento diretto tramite la creazione di regole del firewall
iptables
. Per configurare l'instradamento diretto utilizzando iptables
è necessario utilizzare regole in grado di creare un proxy trasparente, e che permettono quindi ad un real server di servire i pacchetti inviati all'indirizzo VIP, anche se l'indirizzo VIP non è presente sul sistema.
Il metodo
iptables
è più semplice da configurare rispetto al metodo arptables_jf
. Questo metodo è in grado di evitare interamente il verificarsi delle problematiche LVS ARP poichè gli indirizzi IP virtuali esistono solo sul director LVS attivo.
Tuttavia sono presenti alcune problematiche relative alla prestazione se si utilizza il metodo
iptables
rispetto a arptables_jf
. Tali problematiche sono dovute ad un overhead durante l'inoltro/mascheramento di ogni pacchetto.
Non sarà possibile altresì riutilizzare le porte con il metodo
arptables_jf
. Per esempio, non è possibile eseguire due servizi Apache HTTP Server separati ma assegnati alla porta 80, poichè entrambi devono essere associati a INADDR_ANY
e non agli indirizzi IP virtuali.
Per configurare l'instradamento diretto utilizzando il metodo
iptables
seguite le fasi di seguito riportate:
- Su ogni real server eseguite il seguente comando per ogni combinazione di protocollo (TCP o UDP), VIP, e porta da servire:
iptables -t nat -A PREROUTING -p <tcp|udp> -d <vip> --dport <port> -j REDIRECT
Questo comando causerà la processazione, da parte dei real server, dei pacchetti destinati al VIP e alla porta a loro conferiti. - Salvate la configurazione su ogni real server:
#
service iptables save
#chkconfig --level 2345 iptables on
I comandi sopra riportati causano il ricaricamento della configurazione diiptables
al momento dell'avvio — prima dell'avvio della rete.