免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: jiufei19
打印 上一主题 下一主题

关于netfilter中ip_packet_match函数的问题【已解决】 [复制链接]

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-11-17 06:20:00
21 [报告]
发表于 2010-06-22 13:06 |只看该作者
回复 20# Godbach


   
   谢谢斑竹的帮忙!不过还有一个问题没有解决,即若iptables命令中不使用网络号,那么又该如何理解呢?例如下面的命令:

   sudo iptables -A OUTPUT -s 192.168.1.123/24 -j DROP

    该命令建立了一条规则,丢弃发自本机192.168.1.123发出的分组,于是若netfilter收到了发自192.168.1.123的分组后,则根据刚才的第3点:
   
    (ip->saddr & ipinfo->smsk.s_addr) != ipinfo->src.s_addr
   
    可以知道上式一定成立,因此表示此分组的源ip不匹配规则,这和预期的结果刚好相反!!!请大家帮我看看是什么问题?

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
22 [报告]
发表于 2010-06-22 14:48 |只看该作者
不使用网络号的号就可能是单个IP啊。你上面的规则中指定的还是一个网段啊。

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-11-17 06:20:00
23 [报告]
发表于 2010-06-22 19:54 |只看该作者
本帖最后由 jiufei19 于 2010-06-22 21:40 编辑

回复 22# Godbach


    没有明白呢?

  192.168.1.123/24,这个难道是网段吗?并且假设是网段,那么我改写为:192.168.1.123后,仍然存在我刚才说的那个问题呀?

  我认为可能是我对那个“掩码”的概念理解有问题。

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-11-17 06:20:00
24 [报告]
发表于 2010-06-22 22:41 |只看该作者
本帖最后由 jiufei19 于 2010-06-22 22:54 编辑

回复 23# jiufei19


     自己顶!

   网上搜到一篇讲iptables命令的文章,其中给出的如下说明似乎解答了我的这个困惑:

----------------------------------------------------------
Match -s, --src, --source
Example iptables -A INPUT -s 192.168.1.1
Explanation 以IP源地址匹配包。地址的形式如下:
1、单个地址,如192.168.1.1,也可写成 192.168.1.1/255.255.255.255或192.168.1.1/32
2、网络,如192.168.0.0/24,或 192.168.0.0/255.255.255.0
3、在地址前加英文感叹号表示取反,注意空格,如--source ! 192.168.0.0/24 表示除此地址外的所有地址
4、缺省是所有地址0.0.0.0/0
----------------------------------------------------------

显然对于单个地址的规则而言,掩码是255.255.255.255,而并非之前我错误以为是255.255.255.0,这样在进行如下操作时:

(ip->saddr & ipinfo->smsk.s_addr) != ipinfo->src.s_addr

结果就很明显了!

于是,无论是单个地址的规则,还是针对网络号进行设置的规则,上述代码都正确了,终于完全搞定!!!

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52
25 [报告]
发表于 2015-03-18 17:10 |只看该作者
mark一下,正在学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP