![每个 ip 每分钟/秒允许的默认连接数](https://linux22.com/image/100913/%E6%AF%8F%E4%B8%AA%20ip%20%E6%AF%8F%E5%88%86%E9%92%9F%2F%E7%A7%92%E5%85%81%E8%AE%B8%E7%9A%84%E9%BB%98%E8%AE%A4%E8%BF%9E%E6%8E%A5%E6%95%B0.png)
我应用以下规则作为 DDoS 预防的一部分。
防止欺骗数据包
-A INPUT -s 255.0.0.0/8 -j LOG --log-prefix "Spoofed source IP"
-A INPUT -s 255.0.0.0/8 -j DROP
-A INPUT -s 0.0.0.0/8 -j LOG --log-prefix "Spoofed source IP"
-A INPUT -s 0.0.0.0/8 -j DROP
防止隐形扫描和 TCP SYN 泛洪
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix "Stealth scan attempt?"
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
现在我们要强制规定每个 IP 地址每分钟不允许的连接数。为此,我计划使用--limit
扩展。不过现在看来还是推荐使用--cstate
扩展。很少询问..
- iptables 每分钟/秒允许每个 ip 地址的默认连接数是多少。
- 默认每分钟/秒连接数?操作系统级别的任何此类限制
假设我想允许每秒 60 个连接,如果超出该限制,我将强制每秒 25 个连接。对于这个,下面的规则很好
/sbin/iptables -A INPUT -p tcp -m conntrack --ctstate NEW -m limit --limit 25/s --limit-burst 60 -j ACCEPT /sbin/iptables -A INPUT -p tcp -m conntrack --ctstate NEW -j DROP
添加第一条规则后是否还需要第二条规则。