免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: Godbach

【iptables交流贴】iptables执行的流程分析 [复制链接]

论坛徽章:
0
发表于 2008-08-07 16:58 |显示全部楼层
原帖由 Godbach 于 2008-8-7 16:46 发表



没有用netlink,而是同getsockopt和setsockopt来实现获取规则和下载规则的。



netlink不就是采用的setsockopt的一种用户、内核空间的通讯方式么?

论坛徽章:
0
发表于 2008-08-07 16:58 |显示全部楼层
原帖由 Godbach 于 2008-8-7 16:46 发表



没有用netlink,而是同getsockopt和setsockopt来实现获取规则和下载规则的。


在libiptc中有实现,呵呵。

我前半部分理解的对吗?

论坛徽章:
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
发表于 2008-08-07 16:59 |显示全部楼层
原帖由 jaycu 于 2008-8-7 16:58 发表



netlink不就是采用的setsockopt的一种用户、内核空间的通讯方式么?



呵呵,我不熟悉netlink。只是从代码上看到就是直接setsockopt之类的。有时间了解一下netlink机制。

论坛徽章:
0
发表于 2008-08-07 17:00 |显示全部楼层
和内核通信一共有多少种方式啊?貌似接口很多?

论坛徽章:
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
发表于 2008-08-07 17:01 |显示全部楼层
原帖由 sunorr 于 2008-8-7 16:58 发表


在libiptc中有实现,呵呵。

我前半部分理解的对吗?


这样解释吧。iptables命令行执行的时候,每下载一条规则,程序都会现将对应的表比如filter表从内核中取出来。记住,是一整张表。
然后把你的规则插入到这张表的合适的位置。然后再把这张调整后的表通过setsockopt下载到内核中。

论坛徽章:
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
发表于 2008-08-07 17:03 |显示全部楼层
原帖由 jaycu 于 2008-8-7 16:58 发表



netlink不就是采用的setsockopt的一种用户、内核空间的通讯方式么?


能帮忙解释一下偶在46,47楼的问题吗,谢谢。

论坛徽章:
0
发表于 2008-08-07 17:03 |显示全部楼层
原帖由 Godbach 于 2008-8-7 17:01 发表


这样解释吧。iptables命令行执行的时候,每下载一条规则,程序都会现将对应的表比如filter表从内核中取出来。记住,是一整张表。
然后把你的规则插入到这张表的合适的位置。然后再把这张调整后的表通过set ...


整张表给了内核以后,内核就对应着表开始过滤或捕获数据包。然后,就没有用户空间什么事了吧?

论坛徽章:
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
发表于 2008-08-07 17:05 |显示全部楼层
原帖由 sunorr 于 2008-8-7 17:03 发表


整张表给了内核以后,内核就对应着表开始过滤或捕获数据包。然后,就没有用户空间什么事了吧?


给了内核之后,内核接受到这张新的表,就把内核中原先的表替换掉了。再来新的数据包,就按照新表中的规则进行匹配了。

iptables命令行主要负责下载规则,其余的就是内核的工作了。当然还有显示规则什么的,是命令行的工作。

论坛徽章:
0
发表于 2008-08-07 17:08 |显示全部楼层
但是,我又有疑问了,那为什么说iptables不能做为企业级别的防火墙呢? netfilter按照规则匹配后,效率是最高的了,但是企业级的防火墙还怎么优化啊?

论坛徽章:
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
发表于 2008-08-07 17:10 |显示全部楼层
原帖由 sunorr 于 2008-8-7 17:08 发表
但是,我又有疑问了,那为什么说iptables不能做为企业级别的防火墙呢? netfilter按照规则匹配后,效率是最高的了,但是企业级的防火墙还怎么优化啊?



至于netfilter的效率问题,LZ可以参看端木大侠的文章:
http://blog.chinaunix.net/u/12313/showart_164454.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP