3.2.2. Direktes Routing und iptables

Sie können das ARP-Problem mit der direkten Routing-Methode auch umgehen, indem Sie iptables-Firewall-Regeln erstellen. Um das direkte Routing mit iptables zu konfigurieren, müssen Sie Regeln hinzufügen, die einen transparenten Proxy erstellen, sodass ein realer Server die an die VIP-Adresse gesendeten Pakete verarbeitet, obwohl die VIP-Adresse nicht auf dem System existiert.
Die iptables-Methode ist einfacher zu konfigurieren als die arptables_jf-Methode. Zudem umgeht diese Methode das LVS-ARP-Problem gänzlich, da die virtuellen IP-Adressen nur auf dem aktiven LVS-Router existieren.
Allerdings bringt die iptables-Methode im Vergleich zu arptables_jf Leistungsnachteile mit sich, da die Weiterleitung und Maskierung jedes Pakets einen Overhead verursacht.
Zudem können Sie mit der iptables-Methode keine Ports wiederverwenden. Beispielsweise ist es nicht möglich, zwei separate Apache HTTP Server-Dienste mit Port 80 zu verknüpfen, da beide mit INADDR_ANY verbunden werden müssen anstelle der virtuellen IP-Adressen.
Führen Sie die folgenden Schritte aus, um direktes Routing mit der iptables-Methode zu konfigurieren:
  1. Führen Sie auf jedem realen Server den folgenden Befehl für jede Kombination aus VIP, Port und Protokoll (TCP oder UDP) aus, die von den realen Servern bedient werden soll:
    iptables -t nat -A PREROUTING -p <tcp|udp> -d <vip> --dport <port> -j REDIRECT
    Dieser Befehl veranlasst die realen Server dazu, Pakete zu verarbeiten, die auf die angegebenen VIPs und Ports abzielen.
  2. Speichern Sie die Konfiguration auf jedem realen Server:
    # service iptables save
    # chkconfig --level 2345 iptables on
    Die obigen Befehle veranlassen das System dazu, die iptables-Konfiguration beim Systemstart – noch vor dem Start des Netzwerks – neu zu laden.