基于Linux系统的包过滤防火墙(2)

http://tech.ddvip.com   2006年04月03日    社区交流 收藏本文

本文详细介绍基于Linux系统的包过滤防火墙(2)

  #iptables -A INPUT -p tcp-tcp-flags SYN,FIN,ACK SYN

  表示SYN、ACK、FIN的标志都要被检查,但是只有设置了SYN的才匹配。

  #iptables -A INPUT -p tcp-tcp-flags ALL SYN,ACK

  表示ALL(SYN,ACK,FIN,RST,URG,PSH)的标志都要被检查,但是只有设置了SYN和ACK的才匹配。

  选项-syn是以上的一种特殊情况,相当于“--tcp-flags SYN,RST,ACK SYN“的简写。

  #iptables -p tc-syn

  (3)limit速率匹配扩展。

  1)指定单位时间内允许通过的数据包的个数。

  单位时间可以是/second、/minute、/hour、/day或使用第一个字母。例如:

  #iptables -A INPUT -m limit-limit 300/hour

  表示限制每小时允许通过300个数据包。

  2)指定触发事件的阀值。

  使用-limit-burst指定触发事件的阀值(默认是5),用来比对瞬间大量数据包的数量。

  #iptables -A INPUT -m limit-limit-burst 10

  上面的例子是用来比对一次同时涌入的封包是否超过10个,超过此上限的包将被直接丢弃。

  3)同时指定速率限制和触发阀值。

  #iptables -A INPUT -p icmp -m limit-limit 3/m-limit-burst 3

  假设均匀通过,平均每分钟3个,那么触发阀值burst保持为3个,如果每分钟通过的包的数目小于3,那么触发阀值burst将在每个周期(若每分钟允许通过3个,则周期数为20秒)后加1,但最大值为3。每分钟要通过的包的数量如果超过3,那么触发阀值burst将减掉超出的数值,例如第二分钟有4个包,那么触发阀值burst变成2,同时4个包都可以通过,第三分钟有6个包,则只能通过5个,触发阀值burst将变成0。之后,每分钟如果包数小于等于3,则触发阀值burst将加1,如果每分钟包数大于3,触发阀值burst将逐渐减小最终维持为0。

责编:豆豆技术应用

正在加载评论...