Red Hat Training

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

5.15. 「Rich Language」構文を使用した複雑なファイアウォールルールの設定

豊富な言語構文を使用すると、複雑なファイアウォールルールを、direct-interface メソッドよりも容易に理解しやすい方法で作成できます。さらに、設定は永続化できます。この言語は、値でキーワードを使用し、iptables ルールの抽象表現です。ゾーンはこの言語を使用して設定できますが、現在の設定方法は引き続きサポートされます。

5.15.1. Rich Language コマンドのフォーマット

このセクションのコマンドはすべて root で実行する必要があります。ルールを追加するコマンドの形式は、以下のとおりです。
firewall-cmd [--zone=zone][]
--add-rich-rule='rule' --timeout=timeval
これにより、ゾーンゾーンに リッチ言語ルールが追加されます。このオプションは複数回指定できます。ゾーンを省略すると、デフォルトのゾーンが使用されます。タイムアウトを指定すると、ルールまたはルールは指定された期間のみアクティブのままとなり、その後自動的に削除されます。時間の値は、s (秒 )、m (分 )、または h (時間)を指定して時間の単位を指定できます。デフォルトは seconds です。
ルールを削除するには、次のコマンドを実行します。
firewall-cmd [--zone=zone]
--remove-rich-rule='rule'
これにより、ゾーンゾーンのリッチ言語 ルールが削除されます。このオプションは複数回指定できます。ゾーンを省略すると、デフォルトのゾーンが使用されます。
ルールが存在するかどうかを確認するには、次のコマンドを実行します。
firewall-cmd [--zone=zone]
--query-rich-rule='rule'
これにより、ゾーンゾーンにリッチ言語 ルールが追加されたかどうかが返されます。このコマンドでは、有効な場合は yes と出力され、終了ステータスは 0 になります。無効の場合は no と出力され、終了ステータスは 1 になります。ゾーンを省略すると、デフォルトのゾーンが使用されます。
ゾーン設定ファイルで使用されるリッチ言語表現の詳細は、firewalld.zone(5) man ページを参照してください。