LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1233|回复: 5

IPTABLES的实验,问问版主和兄弟们,我看不大懂

[复制链接]
发表于 2005-4-13 14:19:51 | 显示全部楼层 |阅读模式
请问实验10,网络安全中的有个语句:
  限制从邻居(192.168.0.X)进来的ICMP echo request (回应请求)包
    iptables -A INPUT -s 192.168.0.X -p icmp --icmp-type echo-request\
-m limit --limit 6/minute --limit-burst 2 -j ACCEPT
    iptables -A INPUT -s 192.168.0.X -p icmp --icmp-type echo-request -j DROP
第一个语句用模块limit限制每分钟匹配6次,同一时刻最大允许匹配2次(是不是像httpd服务,同
一时刻可以处理的最大链接数?正确表述该怎么讲呢?)
第二个语句是不是因为第一个语句只对匹配的包作了(ACCEPT)处理,而没有对其它的包作处理,
所有又加了第二个语句(DROP)其余的包,如果不加第二个语句,会出现什么情况呢?
发表于 2005-4-13 14:27:43 | 显示全部楼层
man iptables
结果你测试后就知道了!这种实验性问题寻问是没有意义的,如果你不测验别人告诉你的可能都是错误的!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-13 14:40:45 | 显示全部楼层
啊!回复这么快,谢谢Kevin!
我这就回到LINUX下试试,只装了个字符界面,
还得来回切换,有点SHA呀!机器不够用,再想办法
借台笔记本就好了!
iptables -A INPUT -s 192.168.0.X -p icmp --icmp-type echo-request\
-m limit --limit 6/minute --limit-burst 2 -j ACCEPT
这个语句用模块limit限制每分钟匹配6次,同一时刻最大允许匹配2次,
英文太菜,看了老半天的参考手册,这样理解对不对呢?
回复 支持 反对

使用道具 举报

发表于 2005-4-13 15:08:49 | 显示全部楼层
-m limit

它提供匹配LIMIT的功能,以便于使用一个适当的规则来控制每分钟要匹配的数据包的数量。比如, -m limit --limit 3/minute 的作用是每分钟最多匹配三个数据包。这个功能也可用来消除某种DoS攻击。

这个匹配操作必须由-m limit明确指定才能使用。有了它的帮助,就可以对指定的规则的日志数量加以限制,以免你被信息的洪流淹没哦。比如,你可以事先设定一个限定值,当符合条件的包的数量不超过它时,就记录;超过了,就不记录了。我们可以控制某条规则在一段时间内的匹配次数(也就是可以匹配的包的数量),这样就能够减少DoS syn flood攻击的影响。这是它的主要作用,当然,还有很多其他作用. 比如,对于某些不常用的服务可以限制连接数量,以免影响其他服务。limit match也可以用英文感叹号取反,如:-m limit ! --limit 5/s表示在数量超过限定值后,所有的包都会被匹配。

为了更好地理解这个匹配操作,我们通过一个比喻来解释一下。limit match的工作方式就像一个单位大门口的保安,当有人要进入时,需要找他办理通行证。早上上班时,保安手里有一定数量的通行证,来一个人,就签发一个,当通行证用完后,再来人就进不去了,但他们不会等,而是到别的地方去(在iptables里,这相当于一个包不符合某条规则,就会由后面的规则来处理,如果都不符合,就由缺省的策略处理)。但有个规定,每隔一段时间保安就要签发一个新的通行证。这样,后面来的人如果恰巧赶上,也就可以进去了。如果没有人来,那通行证就保留下来,以备来的人用。如果一直没人来,可用的通行证的数量就增加了,但不是无限增大的,最多也就是刚开始时保安手里有的那个数量。也就是说,刚开始时,通行证的数量是有限的,但每隔一段时间就有新的通行证可用。limit match有两个参数就对应这种情况,--limit-burst指定刚开始时有多少通行证可用,--limit指定要隔多长时间才能签发一个新的通行证。要注意的是,我这里强调的是“签发一个新的通行证”,这是以iptables的角度考虑的。在你自己写规则时,就要从这个角度考虑。比如,你指定了--limit 3/minute --limit-burst 5 ,意思是开始时有5个通行证,用完之后每20秒增加一个(这就是从iptables的角度看的,要是以用户的角度看,说法就是每一分钟增加三个或者每分钟只能过三个)。你要是想每20分钟过一个,只能写成--limit 3/hour --limit-burst 5,也就是说你要把时间单位凑成整的。

Match         --limit
Example         iptables -A INPUT -m limit --limit 3/hour
Explanation         为limit match设置最大平均匹配速率,也就是单位时间内limit match可以匹配几个包。它的形式是一个数值加一个时间单位,可以是/second /minute /hour /day 。默认值是每小时3次(用户角度),即3/hour ,也就是每20分钟一次(iptables角度)。
Match         --limit-burst
Example         iptables -A INPUT -m limit --limit-burst 5
Explanation         这里定义的是limit match的峰值,就是在单位时间(这个时间由上面的--limit指定)内最多可匹配几个包(由此可见,--limit-burst的值要比--limit的大)。默认值是5。为了观察它是如何工作的,你可以启动“只有一条规则的脚本”Limit- match.txt,然后用不同的时间间隔、发送不同数量的ping数据包。这样,通过返回的 echo replies就可以看出其工作方式了


以上是-m limit 在iptables 标准文档中的讲解,希望对你有用!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-13 15:47:58 | 显示全部楼层
thank you!
受益中.......
回复 支持 反对

使用道具 举报

发表于 2005-4-13 16:05:37 | 显示全部楼层
这个不好理解
据我所知是这样的
-m limit --limit 6/minute --limit-burst 2
当平均每分钟通过6个包时,触发值为2
它的周期是每10秒一个包,当每分钟通过小于6个包时,比如5个包,则触发值每一个周期值+1就为3了
当通过数大于6个包时,比如7  那么触发值将减去多通过的数,就为1

他们起调节通过数的作用最大通过数为8个包,同时会保证可以通过 6个
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表