Menu Close
Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
3.2.2. firewalld を使用したダイレクトルーティング
firewalld
でファイアウォールルールを作成することで、 ダイレクトルーティングメソッドを使用した場合の ARP 問題を回避することもできます。firewalld
を使用してダイレクトルーティングを設定するには、VIP アドレスがシステム上に存在しなくても VIP アドレスに送信されたパケットを実サーバーが扱うように透過プロキシを作成するルールを追加する必要があります。
firewalld
メソッドは arptables
メソッドよりも設定が簡単です。単一または複数の仮想 IP アドレスがアクティブ LVS ディレクター上にのみ存在するため、このメソッドでは LVS ARP 問題も完全に回避できます。
しかし、パケットが返されるたびにオーバーヘッドが発生するため、
firewalld
メソッドは arptables
と比較してパフォーマンスに大きく影響します。
また、
firewalld
メソッドを使用してポートを再利用することはできません。例えば、2 つの別々の Apache HTTP Server サービスは両方とも仮想 IP アドレスではなく INADDR_ANY
にバインドする必要があるため、ポート 80 にバインドされた 2 つの別々の &HTTPD; サービスを実行することはできません。
firewalld
メソッドを使用してダイレトルーティングを設定するには、すべての実サーバーで以下の手順を実行してください。
firewalld
が実行されていることを確認します。#
systemctl start firewalld
firewalld
がシステム起動時に開始するように有効化されていることを確認します。#
systemctl enable firewalld
- 実サーバーに対して処理されるすべての VIP、ポート、プロトコル (TCPまたはUDP) の組み合わせに以下のコマンドを使用します。このコマンドで、実サーバーは与えられた VIP とポートが宛先となっているパケットを処理します。
#
firewall-cmd --permanent --direct --add-rule ipv4 nat PREROUTING 0 -d vip -p tcp|udp -m tcp|udp --dport port -j REDIRECT
- ファイアウォールルールを再読み込みし、状態情報を維持します。
#
firewall-cmd --reload
現在の永続的設定は、新しいfirewalld
ランタイム設定と次回のシステム起動時の設定となります。