Menu Close

Red Hat Training

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

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:
  1. 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.
  2. Speichern Sie die Konfiguration auf jedem realen Server:
    # service iptables save
    # chkconfig --level 2345 iptables on
    Die oben aufgeführten Befehle veranlassen das System, die iptables-Konfiguration beim Booten neu zu laden — bevor das Netzwerk gestartet wird.