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:
- 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. - Speichern Sie die Konfiguration auf jedem realen Server:
#
service iptables save
#chkconfig --level 2345 iptables on
Die obigen Befehle veranlassen das System dazu, dieiptables
-Konfiguration beim Systemstart – noch vor dem Start des Netzwerks – neu zu laden.