41.5. ファイアウォールの直接ルール
firewalld サービスは、通常のルールや直接ルールなど、複数のルール設定方法を提供します。
これらの違いの一つは、それぞれの方法が基盤となるパケットフィルタリングフレームワーク (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 に置き換えてください。