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