AlmaLinux 9/RHEL および nftables: チェーンで「type filter hook input priority filter」が引き続き発生する

AlmaLinux 9/RHEL および nftables: チェーンで「type filter hook input priority filter」が引き続き発生する

全てにおいて良い日!

まず最初に、私は Linux 初心者であり、StackExchange も初めてなので、質問の仕方が正しいことを願っています。

新しい AlmaLinux インストール (v9.1、最小インストール、ヘッドレス管理およびセキュリティ ツール) で nftables をファイアウォールとして使用したいと思います。firewalld が邪魔にならないように、次の方法で firewalld を無効にしました。

'''

    # systemctl disable firewalld
    # systemctl stop firewalld
    # systemctl mask firewalld

'''

次に、nfs パッケージをインストールして 1.0.4-2-el9 に更新し、次のコマンドでサービスを開始しました。

'''

    # systemctl enable nftables
    # systemctl start nftables

'''

私の意図は、ip(v4) と ip6 (inet を使用するのではなく) 用に別のテーブルを作成することでした。ip6 は使いたくないからです。別の ip6 テーブルを作成すると、それを使用してすべての ip6 トラフィックをドロップし、独自の ip テーブルで ip(v4) の管理に集中できます。セットアップは 2 つのインターフェイスで、1 つは着信 WAN トラフィック用 (ファイアウォール/ルーターを通過後)、もう 1 つはサーバーの管理を含む LAN に面しています。現在、インターフェイスは両方とも 10.0.0.0/24 にありますが、DMZ を作成する場合は、DMZ の WAN インターフェイスのみを構成する必要があります。

そこで、次のテーブルを作成しました:

'''

    # nft add table ip firewall4
    # nft add table ip6 firewall6
    # nft list tables

'''

両方のテーブルの存在を確認します。

新しいチェーンを追加し、その内容を次のように確認しました。

'''

    # nft add chain ip6 firewall6 input { type filter hook input priority 0\; }
    # nft list table ip6 firewall6

'''

私が得続ける出力は(何をしても、何を変更しても)次のとおりです。

'''

     table ip6 firewall6 {
        chain input {
                type filter hook input priority filter; policy accept;
        }
}

'''

別の優先度(例:1)を試すと、「type filter hook input priority filter +1; policy」が表示されます。チェーンを削除して再度挿入するには、完全なコマンド(up up だけではなく)を入力します。

あらゆる例/ハウツー/ドキュメントで、「優先度 0」が見られます。「優先度フィルター」が正しいかどうかはわかりません。明らかに「フィルター」は「0」とは異なるため、追加されるチェーンとルールが無視されるのではないかと心配しています。また、「フィルター」が同じテーブル内の他のチェーンでどのように優先されるのか理解できません。

私の質問は次のとおりです:

  1. 「優先フィルター」は問題ありませんか、それともテーブルにさらに追加すると変更されますか?
  2. OK でない場合、優先的に値を取得するにはどうすればよいでしょうか?

皆様、どうぞよろしくお願いいたします!

答え1

キーワードは、filterチェーン優先度として使用される場合、0 に変換され、逆も同様です (値が少し異なるブリッジ ファミリを除く)。 の以前のバージョンでは、nftablesこれは表示されませんでした。新しいバージョンでは表示されます。その役割に変更はありません。

出力が優先度を解決するのを避けるために、マニュアルページ:

-y--numeric-priority

ベースチェーンの優先度を数値で表示します。

それは次のようになります:

nft -y list ruleset

他のオプション ( など-n) も、他のことと一緒に実行される可能性があります。

この優先度の値は、歴史的に使用されてきた優先度から来ています。iptablesまたはNetfilter独自の機能によって、例えば次のように説明されます。nftables' ウィキはこちら:Netfilter_hooks - フック内の優先度

nftables ファミリー 典型的なフック nftキーワード 価値 Netfilter 内部優先度 説明
[...]
inet、ip、ip6、arp、netdev 全て フィルター 0 NF_IP_PRI_フィルター フィルタリング操作、フィルタテーブル
[...]

また、優先順位は同じテーブル内のチェーンの優先順位ではなく、同じ同じテーブルにあるがフックが異なる 2 つのチェーン (例:preroutingまたはforward) は、優先順位が比較されることはありません。フック名によって順序が既に定義されているためです。同じテーブルにない場合でも、同じフックとファミリー内のチェーンだけが優先順位を比較され、どのチェーンが最初に評価されるかが判断されます。ファミリーごとにフックごとに 1 つのチェーンのみを使用している場合、この値はあまり重要ではありません。ただし、Netfilter 自体の機能 (-400 での prerouting/defragmentation、-200 での prerouting/conntrack 操作など) に関しては、依然として重要になることがあります。

関連情報