41.5. ファイアウォールの直接ルール
firewalld
サービスでは、次のような複数の方法でルールを設定できます。
- 通常ルール
- 直接ルール
これらの違いの 1 つは、それぞれの方法において基盤となるバックエンド (iptables
または nftables
) とどのように対話するかです。
直接ルールは、iptables
との直接的なやり取りを可能にする高度な低レベルのルールです。これらは、firewalld
の構造化されたゾーンベースの管理をバイパスして、より詳細な制御を可能にします。生の iptables
構文を使用して、firewall-cmd
コマンドで直接ルールを手動で定義します。たとえば、firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -s 198.51.100.1 -j DROP です
。このコマンドは、198.51.100.1 の送信元 IP アドレスからのトラフィックをドロップする iptables
ルールを追加します。
ただし、直接ルールを使用すると欠点もあります。特に、nftables が
主要なファイアウォールバックエンドである場合に当てはまります。以下に例を示します。
-
直接ルールは維持が難しく、
nftables
ベースのfirewalld
設定と競合する可能性があります。 -
直接ルールは、生の式やステートフルオブジェクトなど、
nftables
にある高度な機能をサポートしません。 -
直接的なルールは将来に耐えられません。
iptables
コンポーネントは非推奨であり、最終的には RHEL から削除される予定です。
前述の理由により、firewalld の
直接ルールを nftables
に置き換えることを検討してください。詳細は、ナレッジベースソリューション firewalld の直接ルールを nftables に置き換える方法 を参照してください。