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 を設定するには、以下の手順を 実行します:
- 各実サーバー上で、実サーバーの為に意図されたサービスの VIP 、ポート、プロトコル(TCP か UDP)の 全ての組み合わせ用に以下のコマンドを実行します:
iptables -t nat -A PREROUTING -p <tcp|udp> -d <vip> --dport <port> -j REDIRECT
このコマンドは実サーバーが VIP とその与えられたポートを目的地としたパケットを処理するように します。 - 各実サーバー上で設定を保存します:
#
service iptables save
#chkconfig --level 2345 iptables on
上記のコマンドは、システムが起動時に — ネットワークが開始する前に、iptables
設定を リロードするようにします。