Red Hat Training

A Red Hat training course is available for RHEL 8

49.3.7. nftables チェーンの特定の位置へのルールの挿入

本セクションでは、nftables チェーンで、既存のルールの前後にルールを追加する方法を説明します。これにより、正しい場所に新しいルールを配置することができます。

前提条件

  • ルールを追加するチェーンが存在する。

手順

  1. nft -a list ruleset コマンドを使用して、ハンドルなど、example_table 内のすべてのチェーンとそのルールを表示します。

    # nft -a list table inet example_table
    table inet example_table { # handle 1
      chain example_chain { # handle 1
        type filter hook input priority filter; policy accept;
        tcp dport 22 accept # handle 2
        tcp dport 443 accept # handle 3
        tcp dport 389 accept # handle 4
      }
    }

    -a を使用すると、ハンドルが表示されます。次の手順で新しいルールを配置するときに、この情報が必要です。

  2. example_tableexample_chain チェーンに新しいルールを挿入します。

    • ハンドル 3 の前に、ポート 636 で TCP トラフィックを許可するルールを挿入するには、次のコマンドを実行します。

      # nft insert rule inet example_table example_chain position 3 tcp dport 636 accept
    • ハンドル 3 の後ろに、ポート 80 で TCP トラフィックを許可するルールを追加するには、次のコマンドを実行します。

      # nft add rule inet example_table example_chain position 3 tcp dport 80 accept
  3. 必要に応じて、example_table ですべてのチェーンとそのルールを表示します。

    # nft -a list table inet example_table
    table inet example_table { # handle 1
      chain example_chain { # handle 1
        type filter hook input priority filter; policy accept;
        tcp dport 22 accept # handle 2
        tcp dport 636 accept # handle 5
        tcp dport 443 accept # handle 3
        tcp dport 80 accept # handle 6
        tcp dport 389 accept # handle 4
      }
    }

関連情報

  • アドレスファミリーの詳細は、man ページの nft(8)Address families セクションを参照してください。
  • ルールを実行できるその他のアクションの詳細は、man ページの nft(8)Rules セクションを参照してください。