の意味を知りたいです。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
これで、ルールはiptables
IP 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セットレートの利点を享受してください。