本ページでは、firewalldのリッチルール設定について説明します。

リッチルールの概要

リッチルールとは、接続を許可するtcp/udpのポート番号と送信元IPアドレスの両方で通信を制御する機能です。リッチルールは、ゾーンに対して定義します。

設定済みリッチルールの確認

ゾーンに設定済みのリッチルールを確認するには、以下のコマンドを実行します。
以下の例では、 publicゾーンに設定済みのリッチルール一覧を表示させています。デフォルトでは設定済みのリッチルールが存在しないので、何も表示されません。

# firewall-cmd --zone=public --list-rich-rules

リッチルールの追加

ゾーンにリッチルールを追加するには、以下のコマンドを実行します。
以下の例では、publicゾーンに対して192.168.10.0/24のセグメントから80/tcpポート宛の通信許可設定を追加しています。

# ゾーンにリッチルールを追加
# firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.10.0/24" port port="80" protocol="tcp" accept'
success

# 設定をリロードして反映
# firewall-cmd --reload
success

以下のコマンドで、ゾーンにリッチルールが追加されたことを確認できます。

# firewall-cmd --zone=public --list-rich-rules
rule family="ipv4" source address="192.168.10.0/24" port port="80" protocol="tcp" accept

リッチルールの削除

ゾーンからリッチルールを削除するには、以下のコマンドを実行します。
以下の例では、前述のリッチルールの追加の説明で指定した内容を削除しています。リッチルールを削除する際は、--remove-rich-rule=オプションの値に、--list-rich-rulesで表示される内容をクオート(')で囲んで1行丸ごと指定します。

# ゾーンからリッチルールを削除
# firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.10.0/24" port port="80" protocol="tcp" accept'
success

# 設定をリロードして反映
# firewall-cmd --reload
success

以下のコマンドで、ゾーンからリッチルールが削除されたことを確認できます。

# firewall-cmd --zone=public --list-rich-rules