42.5.3. 動的セットを使用してパケットパスからエントリーを追加する


nftables の動的セットは、パケットデータから IP アドレス、ポート、MAC アドレスなどの要素を自動的に追加します。これにより、リアルタイムのデータ収集が可能になり、動的な拒否リストまたは禁止リストが作成され、セキュリティーの脅威に即座に対応できるようになります。

前提条件

  • inet ファミリーに example_chain チェーンおよび example_table テーブルがある。

手順

  1. 空のファイルを作成します。以下の例では、IPv4 アドレスのセットを作成します。

    • 複数の IPv4 アドレスを格納することができるセットを作成するには、次のコマンドを実行します。

      # nft add set inet example_table example_set { type ipv4_addr \; }
    • IPv4 アドレス範囲を保存できるセットを作成するには、次のコマンドを実行します。

      # nft add set inet example_table example_set { type ipv4_addr \; flags interval \; }
      重要

      シェルがセミコロンをコマンドの終わりとして解釈しないようにするには、バックスラッシュでセミコロンをエスケープする必要があります。

  2. 着信パケットの送信元 IPv4 アドレスを example_set セットに動的に追加するためのルールを作成します。

    # nft add rule inet example_table example_chain set add ip saddr @example_set

    このコマンドは、example_chain ルールチェーンと example_table 内に新しいルールを作成し、パケットの送信元 IPv4 アドレスを example_set に動的に追加します。

検証

  • ルールが追加されたことを確認します。

    # nft list ruleset
    ...
    table ip example_table {
    	set example_set {
    		type ipv4_addr
    		elements = { 192.0.2.250, 192.0.2.251 }
    	}
    
    	chain example_chain {
        type filter hook input priority 0
    		add @example_set { ip saddr }
    	}
    }

    このコマンドは、現在 nftables にロードされているルールセット全体を表示します。これは、IP がルールをアクティブにトリガーしており、example_set が適切なアドレスで更新されていることを示しています。

次のステップ

  • 動的な IP セットを作成したら、それをさまざまなセキュリティー、フィルタリング、トラフィック制御の目的で使用できます。以下に例を示します。

    • ネットワークトラフィックをブロック、制限、またはログに記録する
    • 信頼済みユーザーを禁止しないように、許可リストと組み合わせて使用する
    • 過剰なブロックを防ぐために自動タイムアウトを使用する
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る