论坛风格切换切换到宽版
  • 869阅读
  • 3回复

[问题求助]请教大虾关于IP碎片通过包过滤防火墙的问题。希望斑竹置顶。谢谢 [复制链接]

上一主题 下一主题
离线areyousure.
 
发帖
1992
C币
-199332
威望
360
贡献值
1
银元
-1
铜钱
4442
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
争对IP碎片,通常的理解是将一个过大的UDP或者ICMP包(大于1472),在通过IP层传递到数据链路层的时.候,因为大于MTU,比如以太网的1500(这个1.500是IP首部加UDP首部在加数据.的总大小),从而在IP层上将上层传来的数据分成N份,每份分别封装在一.个IP头中进行传递。.这时有多个IP数据包承载一个UDP或者ICM.P的数据报,这些IP包拥有相同的标识数字,并且除了最后一个分片MF标.志字段为0外其它的分片MF标志字段均为1。因为上层数据被分片,这时除了第一个分片的IP数据字段中包含了上层数据的信息(因为UDP或者ICMP头部只在第一个分片中),所以后续的分片就不在包含上层的信息。 .
抱歉说了这么多废话,这些是我对IP碎片的理解,也.不晓得有没有错,如.果有错误那我想不通就很正常了。  (        游戏          )
以下是我的问题了。先构建一个网络路由:三台机子,A,B,C,其中B装RH8,充当路由器和包过滤.防火.墙,分别连接两个主机A,B,均安装2000,A的地址是192.168.0.1,B是192.168.1.1。环境按照我对IP碎片的理解,那么就有这么个问题。除了第一片的其它分片不包含上层信息,那么如果我刻意发送大的.报文(比如从192.168.0.1 ping 192.168.1.1 -l 65535 ),那么.这个报文将被分片,如果这些I.P碎片在通过包过滤防火墙的时.候,如果.不设置允许IP碎片通过,(比如iptables -A FOR.WARD -p icmp --icmp-type 8 -s 192.168.0.1 -d 192.168.1.1 -j ACCEPT;iptables -A FORWARD -m -state --state ESTABLISHED,RELATED -j ACCEPT;iptables -P FORWARD DROP)那.么就只有第一片能够通过,因为其包含了完整的上层信息,说明这个包是从19.2.168.0.1到192.1.68.1.1的icmp r.equest包,即icmp类型8 ,而后续的包不包含这个信息,过应该被过滤。这时后通过的第一个包到到C,因为是分片的包,所以C将其缓存并等.待后续的包,但后续的包以被过滤,所以当等待一段时间后,超.时,这时候C会将包丢弃,故A不会得到C得响应,应该得到timed out的数据显示。 .
如果要让碎片能够通过,可以在ipt.ables 中加上-f的选项,让后续包通过,这时应该.得到响应。 --------------彩票
以上.是我根据理论推出的。但是实际试验中,我发现没有允许.碎片的时候A依然.可以得到C的响应,所以万分疑惑。希望各位大虾指点。小弟是网络的初学者,希望得到大家的帮助。           女人

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线heartevil.
发帖
1971
C币
-61102
威望
333
贡献值
1
银元
-5
铜钱
4333
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
对不起,上面有点地方写错了
比如从192.168.0.1 ping 192.168.1.1 -l 65535
2000中最大是65500

离线zhurry.
发帖
2077
C币
-521811
威望
325
贡献值
2
银元
-5
铜钱
4492
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
发错了吧  是LINUX的

离线max007158.
发帖
2034
C币
-60516
威望
379
贡献值
1
银元
-2
铜钱
4587
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
你的概念有错误,你说的是分段,分段后IP头每个包都相同,不会出现你说的情况。
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个