命令:
iptables -N syn-flood
iptables -A syn-flood -m limit --limit 50/s --limit-burst 10 -j RETURN
iptables -A syn-flood -j DROP
iptables -I INPUT -j syn-flood
解释:
-N 创建一个条新的链 --limit 50/s 表示每秒50次;1/m 则为每分钟一次 --limit-burst 表示允许触发 limit 限制的最大包个数 (预设5),它就像是一个容器,最多装10个,超过10个就装不下了,这些包就给后面的规则了 -I INPUT -j syn-flood 把INPUT的包交给syn-flood链处理 这里的--limit-burst=10相当于说最开始有10个可以匹配的包去转发,然后匹配的包的个数是根据--limit=50/s进行限制的,也就是每秒限制转发50个数据包,多余的会被下面符合要求的DROP规则去处理,进行丢弃,这样就实现了对数据包的限速问题。
来源:https://www.centos.bz/2017/09/%E5%88%A9%E7%94%A8iptables%E9%98%B2%E6%AD%A2syn-flood%E6%94%BB%E5%87%BB/