我觉得 limit 模块是你正在寻找的,如 iptables-extensions 的手册页 建议:
limit
iptables-extensions
limit 该模块使用令牌桶过滤器以有限的速率匹配。使用此扩展程序的规则将匹配,直到达到此限制。它可以与。结合使用 LOG 例如,目标是提供有限的日志记录。 xt_limit 没有否定支持 - 你将不得不使用 -m hashlimit ! --hashlimit rate 在这种情况下,省略 --hashlimit-mode 。 --limit rate[/second|/minute|/hour|/day] 最大平均匹配率:指定为数字,带有可选的“/秒”,“/分钟”,“/小时”或“/天”后缀;默认值为3 /小时。 --limit-burst number 要匹配的最大初始数据包数:每次达到上述指定限制时,此数字将再充电一次,最多为此数字;默认值为5。
该模块使用令牌桶过滤器以有限的速率匹配。使用此扩展程序的规则将匹配,直到达到此限制。它可以与。结合使用 LOG 例如,目标是提供有限的日志记录。 xt_limit 没有否定支持 - 你将不得不使用 -m hashlimit ! --hashlimit rate 在这种情况下,省略 --hashlimit-mode 。 --limit rate[/second|/minute|/hour|/day] 最大平均匹配率:指定为数字,带有可选的“/秒”,“/分钟”,“/小时”或“/天”后缀;默认值为3 /小时。 --limit-burst number 要匹配的最大初始数据包数:每次达到上述指定限制时,此数字将再充电一次,最多为此数字;默认值为5。
该模块使用令牌桶过滤器以有限的速率匹配。使用此扩展程序的规则将匹配,直到达到此限制。它可以与。结合使用 LOG 例如,目标是提供有限的日志记录。 xt_limit 没有否定支持 - 你将不得不使用 -m hashlimit ! --hashlimit rate 在这种情况下,省略 --hashlimit-mode 。
LOG
xt_limit
-m hashlimit ! --hashlimit rate
--hashlimit-mode
--limit rate[/second|/minute|/hour|/day] 最大平均匹配率:指定为数字,带有可选的“/秒”,“/分钟”,“/小时”或“/天”后缀;默认值为3 /小时。
--limit rate[/second|/minute|/hour|/day]
--limit-burst number 要匹配的最大初始数据包数:每次达到上述指定限制时,此数字将再充电一次,最多为此数字;默认值为5。
--limit-burst number
因此,并在此基础上进行 这个答案 ,我认为这种事情会起作用:
iptables -N LOGANDDROP iptables -A INPUT -s 192.168.1.0/24 -j LOGANDDROP iptables -A LOGANDDROP -m limit --limit 5/min -j LOG --log-prefix "iptables dropped packets " --log-level 7 iptables -A LOGANDDROP -j DROP
您可以通过在不同规则中使用多个限制约束来实现更精细的粒度。