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
다시 추가하는 것은 아무 작업도 하지 않습니다.