Red Hat Training

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

3.2.2. ダイレクト Routing 及び iptables

iptables ファイアウォールルールを作成することにより、 ダイレクト routing メソッドを使用して ARP 問題を迂回することも出来ます。iptables を使用してダイレクト routing を設定するには、 VIP アドレスがシステム上に存在しなくても VIP アドレスに送信されたパケットを実サーバーが サービスするように透過的なプロキシーを作成するルールを追加する必要があります。
iptables メソッドは arptables_jf メソッドよりも 設定が 簡単です。仮想 IP アドレスがアクティブ LVS ディレクタ上にのみ存在するため、 このメソッドでは LVS ARP 問題も完全に回避します。
しかし、各パケットの転送/マスカレードでのオーバーヘッドがあるため、arptables_jf に 比較すると、iptables メソッドの 使用にはパフォーマンス問題があります。
また、iptables メソッドを使用してポートの再使用は出来ません。例えば、二つの別々の Apache HTTP Server サービスは 両方共、仮想 IP アドレスではなく、INADDR_ANY にバインドする必要があるため、ポート 80 にバインドされた二つの別々の Apache HTTP Server サービスは稼働できません。
iptables メソッドを使用してダイレクト routing を設定するには、以下の手順を 実行します:
  1. 各実サーバー上で、実サーバーの為に意図されたサービスの VIP 、ポート、プロトコル(TCP か UDP)の 全ての組み合わせ用に以下のコマンドを実行します:
    iptables -t nat -A PREROUTING -p <tcp|udp> -d <vip> --dport <port> -j REDIRECT
    このコマンドは実サーバーが VIP とその与えられたポートを目的地としたパケットを処理するように します。
  2. 各実サーバー上で設定を保存します:
    # service iptables save
    # chkconfig --level 2345 iptables on
    上記のコマンドは、システムが起動時に — ネットワークが開始する前に、iptables 設定を リロードするようにします。