limit匹配扩展说明
关于iptables的数据包速率限制,使用匹配扩展-m
的limit
来控制。
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