iptables防火墙之limit限制方法分享

发布时间:2019-12-08编辑:脚本学堂
本文介绍下,使用iptables防火墙中的limit限制模块的一些知识点,有需要的朋友参考下。

本节介绍iptables --limit --limit-burst的用法。

它们主要用于:
1、限制特定包传入速度
2、限制特定端口传入频率
3、使用--limit限制ping的一个例子
4、用户自定义使用链
5、防范SYN-Flood碎片攻击

下面分解开进行详细介绍。

1、限制特定包传入速度
参数 -m limit --limit
范例:
 

复制代码 代码示例:
iptables -A INPUT -m limit --limit 3/hour

说明 用来比对某段时间内封包的平均流量,上面的例子是用来比对:每小时平均流量是否超过一次 3 个封包。 除了每小时平均
次外,也可以每秒钟、每分钟或每天平均一次,默认值为每小时平均一次,参数如后: /second、 /minute、/day。 除了进行封
数量的比对外,设定这个参数也会在条件达成时,暂停封包的比对动作,以避免因骇客使用洪水攻击法,导致服务被阻断。

2、限制特定包瞬间传入的峰值
参数 --limit-burst
范例:
 

复制代码 代码示例:
iptables -A INPUT -m limit --limit-burst 5

说明 用来比对瞬间大量封包的数量,上面的例子是用来比对一次同时涌入的封包是否超过 5 个(这是默认值),超过此上限的封
将被直接丢弃。使用效果同上。

3、使用--limit限制ping的一个例子
限制同时响应的 ping (echo-request) 的连接数
限制每分只接受一個 icmp echo-request 封包(注意:当已接受1个icmp echo-request 封包后,
iptables将重新统计接受之后的一秒内接受的icmp echo-request 封包的个数,此刻为0个,所以它会继续接受icmp echo-request包,
出现的结果是你在1分钟时间内将看到很多:
 

Reply from 192.168.0.111: bytes=32 time<1ms TTL=64
Reply from 192.168.0.111: bytes=32 time<1ms TTL=64
Reply from 192.168.0.111: bytes=32 time<1ms TTL=64
Reply from 192.168.0.111: bytes=32 time<1ms TTL=64
Reply from 192.168.0.111: bytes=32 time<1ms TTL=64
Reply from 192.168.0.111: bytes=32 time<1ms TTL=64
Reply from 192.168.0.111: bytes=32 time<1ms TTL=64
Reply from 192.168.0.111: bytes=32 time<1ms TTL=64

响应结果,若同时开好几个ping窗口,任一时刻只有一个会有响应//--limit 1/m 所限制):
 

复制代码 代码示例:

#iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/m --limit-burst 1 -j ACCEPT
#iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

--limit 1/s 表示每秒一次; 1/m 则为每分钟一次
--limit-burst 表示允许触发 limit 限制的最大次数 (预设 5)

4、用户自定义使用链
 

复制代码 代码示例:
#iptables -N pinglimit
#iptables -A pinglimit -m limit --limit 1/m --limit-burst 1 -j ACCEPT
#iptables -A pinglimit -j DROP
#iptables -A INPUT -p icmp --icmp-type echo-request -j pinglimit

5、防范 SYN-Flood 碎片攻击
 

复制代码 代码示例:
#iptables -N syn-flood
#iptables -A syn-flood -m limit --limit 100/s --limit-burst 150 -j RETURN
#iptables -A syn-flood -j DROP
#iptables -I INPUT -j syn-flood

您可能感兴趣的文章:

iptables 日志维护的方法分享
解析 iptables常用规则设置
linux下关闭iptables防火墙及selinux的方法
使用iptables屏蔽IP段的方法举例
配置 iptables 静态防火墙
iptables实现路由转发的例子
iptables防火墙配置一例
iptables配置实例详解
一个实用的iptables shell脚本
iptables实例收藏
linux iptables 开启关闭端口的方法
linux iptables入门教程