基于Linux系统的包过滤防火墙(2)
2006-04-03 12:36:56 来源:WEB开发网#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。
更多精彩
赞助商链接