我正在尝试找出 IPTABLES 规则,以便将 ICMP(ping)流量限制为每秒 5 个数据包。以下是我到目前为止尝试过的命令,但没有成功:
iptables -A OUTPUT -p icmp -m limit --limit 5/second -j ACCEPT
有人知道该怎么写这个吗?
答案1
几年前,当攻击很常见时,这曾经是相当标准的说法smurf
。我已经好几年没见过这样的情况了,但无论如何,常见的防御方法是使用以下三条规则:
iptables -A INPUT -p icmp -m icmp --icmp-type address-mask-request -j DROP
iptables -A INPUT -p icmp -m icmp --icmp-type timestamp-request -j DROP
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 1/second -j ACCEPT
前两条规则对于保护来说是必要的;如果这是不是如果你担心,那么就放弃它们,使用另一个。在大多数正常情况下,你可以比最初设想的更严格,每秒 1 ping 足以满足合法用途。
正如您所看到的,声明要监视的协议是icmp
不够的:您还必须加载icmp
模块-m icmp
。