3.2.2. Direktes Routing und iptables
Sie können das ARP-Problem ggf. auch umgehen, indem Sie die direkte Routing-Methode durch das Erstellen von
iptables
Firewall-Regeln verwenden. Um direktes Routing unter Verwendung von iptables
zu konfigurieren, müssen Sie Regeln hinzufügen, die einen transparenten Proxy erstellen, so dass ein realer Server Pakete, die an die VIP-Adresse geschickt werden, bedient, auch wenn die VIP-Adresse nicht auf dem System existiert.
Die
iptables
-Methode ist einfacher zu konfigurieren, als die arptables_jf
-Methode. Diese Methode umgeht außerdem das LVS-ARP-Problem komplett, da die virtuelle(n) IP-Adresse(n) nur auf dem aktiven LVS-Director existieren.
Allerdings treten bei der Verwendung der
iptables
-Methode Leistungsprobleme im Vergleich zu arptables_jf
auf, da Overhead bei der Weiterleitung / beim Masquerading von jedem Paket auftritt.
Auch können Sie Ports nicht noch einmal verwenden, wenn Sie die
iptables
-Methode benutzen. Es ist beispielsweise nicht möglich, zwei separate Apache HTTP Server-Dienste auf Port 80 laufen zu lassen, da sich beide mit INADDR_ANY
anstelle der virtuellen IP-Adresse binden müssen.
Um direkt Routing unter Verwendung der
iptables
-Methode zu konfigurieren, führen Sie die folgenden Schritte durch:
- Führen Sie auf jedem realen Server den folgenden Befehl für jede VIP, jeden Port und jede Kombination von Protokollen (TCP oder UDP), die für die realen Server bedient werden sollen, aus:
iptables -t nat -A PREROUTING -p <tcp|udp> -d <vip> --dport <port> -j REDIRECT
Dieser Befehl veranlasst die realen Server, Pakete zu verarbeiten, die für die VIP und den spezifizierten Port bestimmt sind. - Speichern Sie die Konfiguration auf jedem realen Server:
#
service iptables save
#chkconfig --level 2345 iptables on
Die oben aufgeführten Befehle veranlassen das System, dieiptables
-Konfiguration beim Booten neu zu laden — bevor das Netzwerk gestartet wird.