Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix IPTables-在特定条件下阻止端口_Unix_Iptables - Fatal编程技术网

Unix IPTables-在特定条件下阻止端口

Unix IPTables-在特定条件下阻止端口,unix,iptables,Unix,Iptables,作为一个刚开始使用IPTables的人,我有一个问题,我希望stackoverflow能在我接受IPTables man文件并做一些我后悔的事情之前帮上忙 我有一个IPtables规则,在达到特定连接限制时阻止传入请求: iptables -A INPUT -p tcp --syn --dport 7000 -m connlimit --connlimit-above 3500 --connlimit-mask 0 -j REJECT 我的问题是,当端口7000上的连接达到某个限制时,是否可以

作为一个刚开始使用IPTables的人,我有一个问题,我希望stackoverflow能在我接受IPTables man文件并做一些我后悔的事情之前帮上忙

我有一个IPtables规则,在达到特定连接限制时阻止传入请求:

iptables -A INPUT -p tcp --syn --dport 7000 -m connlimit --connlimit-above 3500 --connlimit-mask 0 -j REJECT
我的问题是,当端口7000上的连接达到某个限制时,是否可以阻止ICMP(PING)响应


提前感谢。

答案是否定的。如果要阻止ICMP,请使用-p ICMP而不是-p tcp

还有一件事需要澄清:ICMP是layer3协议,但端口号是在layer4中定义的。因此,在ICMP中永远找不到端口号概念


(您可以在此处查看ICMP数据包格式:)

我怀疑您需要类似fail2ban的东西来实现类似的功能。这并非完全不可能,但并不推荐(疯狂的想法)。您可以在达到限制后使用iptables登录,然后cron会每分钟检查内核日志中的任何端口7000。如果找到任何端口7000,将激活iptables规则以删除所有icmp。