nftablesにはこれがあります
table inet my_table {
chain badips {
ip saddr 185.165.190.17 counter packets 0 bytes 0 drop
}
type filter hook input priority filter; policy drop;
# Block badips
counter packets 0 bytes 0 jump badips
}
計画は長いIPリストをbadips
チェーンに入れることです。一意のIPだけを追加するには?同じIPを追加しないようにする方法はありますか?
今私は走る
nft add rule inet my_table badips "ip saddr <IP> counter packets 0 bytes 0 drop"
nftルールでは、チェーンnft create rule
には他に何もありません。
答え1
各IPのルールを追加しないでください。ルールを作成して使用してください。置く。たとえば、
table inet my_table {
set badips_v4 {
type ipv4_addr
}
set badips_v6 {
type ipv6_addr
}
chain badips {
type filter hook input priority filter; policy accept;
counter ip saddr @badips_v4 drop
counter ip6 saddr @badips_v6 drop
}
}
これらのルールを使用すると、IP を適切なコレクションに追加してブロックすることができます。
nft add element inet my_table badips_v4 { 185.165.190.17 }
ステートメントを複数回実行すると、複数のエントリは追加されませんset
。 aはset
一意のアイテムのコレクションなので、アイテムがすでにaにある場合はset
再追加することは何もしません。