将以下命令放在防火墙脚本中,其作用是将IP段为192.168.1.66-192.168.1.126之间的主机的总连接数限制在200个。并且将TCP 20-23,25,53,80,110,443和UDP 53端口排除。
可能在Tomato中查看全局连接数会发现远远超过200个,这个并不是说iptables的设置没有生效,检验的办法就是将TCP的最大连接数设置为1,然后开始下载,这时应该是无法访问网页了。
#Limit TCP connections per user
iptables -t nat -I PREROUTING -p tcp --syn -m iprange --src-range 192.168.1.66-192.168.1.126 -m connlimit --connlimit-above 100 -j DROP
#Limit all *other* connections per user including UDP
iptables -t nat -I PREROUTING -p ! tcp -m iprange --src-range 192.168.1.66-192.168.1.126 -m connlimit --connlimit-above 100 -j DROP
#TCP 20-23,25,53,80,110,443 are not affected
iptables -t nat -I PREROUTING -p tcp --dport 20:23,25,53,80,110,443 -j ACCEPT
#UDP 53 is not affected
iptables -t nat -I PREROUTING -p udp --dport 53 -j ACCEPT
本文介绍如何使用iptables命令来限制特定IP段内的主机总连接数,并排除某些关键TCP和UDP端口不受该限制的影响。通过三个具体的iptables规则,实现了对192.168.1.66到192.168.1.126之间IP地址的连接数限制,同时确保常用服务端口如HTTP、HTTPS等正常工作。
17

被折叠的 条评论
为什么被折叠?



