iptables防火墙之limit限制方法分享
时间:2014-09-06 02:08 来源:linux.it.net.cn 作者:it
使用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
(责任编辑:IT)
使用iptables防火墙中的limit限制模块的一些知识点 本节介绍iptables --limit --limit-burst的用法。
它们主要用于: 下面分解开进行详细介绍。
1、限制特定包传入速度
复制代码代码示例:
iptables -A INPUT -m limit --limit 3/hour
说明 用来比对某段时间内封包的平均流量,上面的例子是用来比对:每小时平均流量是否超过一次 3 个封包。 除了每小时平均
2、限制特定包瞬间传入的峰值
复制代码代码示例:
iptables -A INPUT -m limit --limit-burst 5
说明 用来比对瞬间大量封包的数量,上面的例子是用来比对一次同时涌入的封包是否超过 5 个(这是默认值),超过此上限的封
3、使用--limit限制ping的一个例子
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
--limit 1/s 表示每秒一次; 1/m 则为每分钟一次
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
(责任编辑:IT)#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 |