Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.2.2. Instradamento diretto e iptables

È possibile risolvere il problema riguardante ARP durante l'utilizzo del metodo d'instradamento diretto, tramite la creazione delle regole firewall di 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 le 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 nel forwarding/masquerading di ogni pacchetto.
Non è possibile altresì riutilizzare le porte usando il metodo iptables. Per esempio, non è possibile eseguire due servizi Apache HTTP Server separati ma uniti alla porta 80, poichè entrambi devono essere uniti a INADDR_ANY invece degli indirizzi IP virtuali.
Per configurare l'instradamento diretto utilizzando il metodo iptables, seguite le fasi di seguito riportate:
  1. 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.
  2. Salvate la configurazione su ogni real server:
    # service iptables save
    # chkconfig --level 2345 iptables on
    I comandi sopra riportati causano il ricaricamento della configurazione di iptables al momento dell'avvio — prima dell'avvio della rete.