对每个ip限速 下面关于iptables命令的详细参数简单说明一下: iptables的connlimit模块可限制全局的并发连接数。其用法如下: 命令要点: 用上述命令配置好防火墙后,可用以下方法测试效果: 正确配置情形下,第一个和第二个nc连接是正常的,第三个连接起会出现 broken pipe 错误,即无法连接,说明防火墙达到了预期效果(也可以用 iptables设定的规则,掉电重启会清空。若需要保存,最好是使用iptables-save/restore配合重定向,示例如下:iptables -A INPUT -i eth0 -m hashlimit --hashlimit-above 128kb/s --hashlimit-mode srcip --hashlimit-name in -j DROP
iptables -A OUTPUT -o eth0 -m hashlimit --hashlimit-above 128kb/s --hashlimit-mode dstip --hashlimit-name out -j DROP
iptables的命令参数说明
匹配数据包的一些条件参数:
限制并发数
iptables -I INPUT -p tcp --syn --dport 8081 -m connlimit --connlimit-above 2 --connlimit-mask 0 -j DROP
-p tcp:针对tcp协议过滤;
--dport 8081:对8081端口起作用;
-m connlimit:使用connlimit模块
--connlimit-above 2:最多不超过2个并发连接
--connlimit-mask 0: 默认ip掩码是32,即限制单ip并发连接数,设置为0则限制全局连接。
nc -l 8081 -k;nc localhost 8081。netstat -nt | grep 8081查看已建立连接)。允许单个IP的最大连接数为 3
iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 3 -j REJECT
删除规则
iptables -L -n --line-number
iptables -D INPUT 3
保存设置及重启自动恢复
iptables-save > /etc/iptables-rules
iptables-restore < /etc/iptables-rules