limit匹配扩展说明

关于iptables的数据包速率限制,使用匹配扩展-mlimit来控制。

limit匹配扩展

-m、--match limit选项 描述
--limit <rate> 在一定时间内匹配包数目的最大值
--limit-burst <num> 应用限制前初始匹配包数目的最大值

burst峰值定义了通过初始匹配的数据包的数量,默认值是5。当到达了limit-burst定义的限制值,后面的匹配就会受到频率rate的限制。默认频率为每小时3次匹配。可选的时间帧定义包括/second/minute/hour/day

描述下默认情况,当时间限制内的5次匹配初始峰值到达后,下一个小时中最大有3个数据包被匹配,每20分钟一个,不管总共收到了多少个数据包;如果在频率限制内一个也没匹配,则峰值变为1。

示例

一秒内收到5个echo-requests,则限制对入站ping数据包的接受为一秒一个。

# 限制接受icmp-request速率为一秒一个
iptables -A INPUT -i eth0 \
         -p icmp --icmp-type echo-request \
         -m limit --limit 1/second -j ACCEPT

# 不被匹配的icmp-request数据包则被丢弃
iptables -A INPUT -i eth0 \
         -p icmp --icmp-type echo-request -j DROP
最后修改:2021 年 11 月 12 日 03 : 46 PM