第6章 リッチルールの優先度設定
リッチルールを使用すると、ファイアウォールルールをより高度かつ柔軟な方法で定義できます。リッチルールは、サービスやポートなどでは複雑なファイアウォールルールを表現しきれない場合に特に役立ちます。
リッチルールの背後にある概念:
- 粒度と柔軟性
- より具体的な基準に基づき、ネットワークトラフィックの詳細な条件を定義できます。
- ルール構造
リッチルールは、ファミリー (IPv4 または IPv6) と、それに続く条件およびアクションで構成されます。
rule family="ipv4|ipv6" [conditions] [actions]
rule family="ipv4|ipv6" [conditions] [actions]
Copy to Clipboard Copied! - conditions
- 特定の基準が満たされた場合にのみ、リッチルールを適用できます。
- actions
- 条件に一致するネットワークトラフィックに何が起きるかを定義できます。
- combining multiple conditions
- より具体的かつ複雑なフィルタリングを作成できます。
- hierarchical control and reusability
- リッチルールを、ゾーンやサービスなどの他のファイアウォールメカニズムと組み合わせることができます。
デフォルトでは、リッチルールはルールアクションに基づいて設定されます。たとえば、allow
ルールよりも deny
ルールが優先されます。リッチルールで priority
パラメーターを使用すると、管理者はリッチルールとその実行順序をきめ細かく制御できます。priority
パラメーターを使用すると、ルールはまず優先度の値によって昇順にソートされます。多くのルールが同じ priority
を持つ場合、ルールの順序はルールアクションによって決まります。アクションも同じである場合、順序は定義されない可能性があります。
6.1. priority パラメーターを異なるチェーンにルールを整理する方法
リッチルールの priority
パラメーターは、-32768
から 32767
までの任意の数値に設定でき、数値が小さいほど優先度が高くなります。
firewalld
サービスは、優先度の値に基づいて、ルールを異なるチェーンに整理します。
-
優先度が 0 未満 - ルールは
_pre
接尾辞が付いたチェーンにリダイレクトされます。 -
優先度が 0 を超える - ルールは
_post
接尾辞が付いたチェーンにリダイレクトされます。 -
優先度が 0 - アクションに基づいて、ルールは、
_log
、_deny
、または_allow
のアクションを使用してチェーンにリダイレクトされます。
このサブチェーンでは、firewalld
は優先度の値に基づいてルールを分類します。
詳細は、システム上の firewalld.richlanguage(5) man ページを参照してください。