IPセットを交換する必要がありますか、動的に追加/削除できますか?

IPセットを交換する必要がありますか、動的に追加/削除できますか?

の意味を知りたいです。ipset(8)

セットに一致するルールを追加してから、そのセットに対して操作を実行できますか?または、名前と一致するルールiptablesに適用されるようにセットを作成し、以前のセットと置き換えることができますか?iptablesつまり、IPセットを一時的に追加または削除できますか?それとも、IPセットがアクティブな間にセット全体を交換できますか?


私が尋ねる理由は次のとおりです。コレクションを作成するとしましょう。

ipset create PCs hash:ip
ipset add PCs 1.1.1.1
ipset add PCs 2.2.2.2

...など。そして、HTTPへのアクセスを許可するルールは次のとおりです。

iptables -A INPUT -p tcp --dport 80 -m set --set PCs src -j ACCEPT

実行するとどうなりますか?

ipset add PCs 3.3.3.3

これで、ルールはiptablesIP 3.3.3.3にもすぐに適用されますか?

私はルール-j SET --add-set ...内で一時的なIPセットを使用してこれを行うことができることを発見しましたiptables。これにより、特定の時点でコレクションを運営することが可能でなければならないと思います。

しかし、ipsetプロジェクトのウェブサイトは、新しい(調整された)セットを別のセットに置き換えることがより良いオプションであることを示しているようです。経由ipset swapまたは経由ipset restore -!

誰でもこれについて明らかにできますか?

答え1

定義されたコレクションからIPを動的に追加および削除できます。これがIPsetの基本的なアイデアの1つです。これが不可能な場合、完全なset拡張はiptables意味がありません。

主な目的ipsetは、一致カテゴリを(動的に)定義できるようにすることです(たとえば、各ホストのルールを魔法のように追加することなく、悪意のあるホストを動的にブラックリストに追加するなど)。

から抜粋アイピーセットホームページ

  • 複数のIPアドレスまたはポート番号を保存し、一度にiptableコレクションと一致させます。
  • パフォーマンスに影響を与えずにIPアドレスまたはポートに基づいてiptablesルールを動的に更新します。
  • 単一のiptablesルールを使用して、複雑なIPアドレスとポートベースのルールセットを表現し、IPセットレートの利点を享受してください。

関連情報