使用 nftables 对 ARP 请求的速率限制
Rate limit for ARP requests using nftables
我目前正在尝试使用 nftables 限制 ARP 流量。我正在使用以下规则:
table arp filter {
chain input {
limit rate 15/second accept # handle 3
}
chain output {
}
}
然而,这些都没有效果。我做错了什么?我还尝试丢弃所有不符合第一条规则的数据包。
table arp filter {
chain input {
limit rate 10/second accept # handle 3
drop # handle 4
}
chain output {
}
}
编辑: 我已将以下行添加到链中:
type filter hook input priority 0; policy accept;
这给我留下了以下配置:
table arp filter {
chain input {
type filter hook input priority 0; policy accept;
limit rate 10/second accept # handle 3
drop # handle 4
}
chain output {
type filter hook output priority 0; policy accept;
}
}
这很好用,但为什么呢?
我相信这是因为在 nftables 链不会自动关联到 table,所以我们必须显式定义一个钩子来激活链。请注意,每个地址系列都有一组不同的挂钩:https://www.mankier.com/8/nft#Address_Families
我目前正在尝试使用 nftables 限制 ARP 流量。我正在使用以下规则:
table arp filter {
chain input {
limit rate 15/second accept # handle 3
}
chain output {
}
}
然而,这些都没有效果。我做错了什么?我还尝试丢弃所有不符合第一条规则的数据包。
table arp filter {
chain input {
limit rate 10/second accept # handle 3
drop # handle 4
}
chain output {
}
}
编辑: 我已将以下行添加到链中:
type filter hook input priority 0; policy accept;
这给我留下了以下配置:
table arp filter {
chain input {
type filter hook input priority 0; policy accept;
limit rate 10/second accept # handle 3
drop # handle 4
}
chain output {
type filter hook output priority 0; policy accept;
}
}
这很好用,但为什么呢?
我相信这是因为在 nftables 链不会自动关联到 table,所以我们必须显式定义一个钩子来激活链。请注意,每个地址系列都有一组不同的挂钩:https://www.mankier.com/8/nft#Address_Families