从五方面解析防火墙框架计划
2021-10-29 04:38:25 兴城星座网
Linux系统中的Netfilter提供了一个抽象、通用化的框架,该框架定义的一个子功能的实现就是包过滤子系统,框架包含以下五部分:
1. 为每种络协议(IPv4、IPv6等)定义一套钩子函数(IPv4定义了5个钩子函数), 这些钩子函数在数据报流过协议栈的几个关键点被调用。在这几个点中,协议栈将把数据报及钩子函数标号作为参数调用Netfilter框架。
5 代表的文章首尾段落 2. 内核的任何模块可以对每种协议的一个或多个钩子进行注册,实现挂接,这样当某个数据包被传递给Netfilter框架时,内核能检测是否有任何模块对该协议和钩子函数进行了注册。若注册了,则调用该模块的注册时使用的回调函数,这样这些模块就有机会检查(可能还会修改)该数据包、丢弃该数据包及指示 Netfilter将该数据包传入用户空间的队列。
3 .那些排队的数据包是被传递给用户空间的异步地进行处理。一个用户进程能检查数据包,修改数据包,甚至可以重新将该数据包通过离开内核的同一个钩子函数中注入到内核中。
4. 任何在IP层要被抛弃的IP数据包在真正抛弃之前都要进行检查。例如允许模块检查IP-Spoofed包(被路由抛弃)。
层的五个HOOK点的位置如下所示:(1)NF_IP_PRE_ROUTING:刚刚进入络层的数据包通过此点(刚刚进行完版本号,校验和等检测),源地址转换在此点进行;IP_Input.c中IP_Rcv调用;(2)NF_IP_LOCAL_IN:经路由查找后,送往本机的通过此检查点,INPUT包过滤在此点进行,IP_local_deliver中调用;(3)NF_IP_FORWARD:要转发的包通过此检测点,FORWORD 包过滤在此点进行; (4)NF_IP_POST_ROUTING:所有马上便要通过络设备出去的包通过此检测点,内置的目的地址转换功能(包括地址伪装)在此点进行; (5)NF_IP_LOCAL_OUT:本机进程发出的包通过此检测点,OUTPUT包过滤在此点进行。
这些点是已经在内核中定义好的,内核模块能够注册在这些HOOK点进行的处理,可使用nf_register_hook函数指定。在数据报经过这些钩子函数时被调用,从而模块可以修改这些数据报,并向Netfilter返回如下值:
NF_ACCEPT 继续正常传输数据报
NF_DROP 丢弃该数据报,不再传输
NF_STOLEN 模块接管该数据报,不要继续传输该数据报
NF_QUEUE 对该数据报进行排队(通常用于将数据报给用户空间的进程进行处理)
NF_REPEAT 再次调用该钩子函数
一个基于Netfilter框架的、称为IPtables的数据报选择系统在Linux2.4内核中被应用,其实它就是IPchains的后继工具,但却有更强的可扩展性。内核模块可以注册一个新的规则表(table),并要求数据报流经指定的规则表。这种数据报选择用于实现数据报过滤 (filter表),络地址转换(Nat表)及数据报处理(Mangle表)。 Linux2.4内核提供的这三种数据报处理功能都基于Netfilter的钩子函数和IP表。它们是独立的模块,相互之间是独立的。它们都完美的集成到由Netfileter提供的框架中。
包过滤
Filter表格不会对数据报进行修改,而只对数据报进行过滤。IPtables优于IPchains的一个方面就是它更为小巧和快速。它是通过钩子函数NF_IP_LOCAL_IN、NF_IP_FORWARD及NF_IP_LOCAL_OUT接入Netfilter框架的。因此对于任何一个数报只有一个地方对其进行过滤。这相对IPchains来说是一个巨大的改进,因为在IPchains中一个被转发的数据报会遍历三条链。
NAT
NAT表格监听三个Netfilter钩子函数:NF_IP_PRE_ROUTING、NF_IP_POST_ROUTING及 NF_IP_LOCAL_OUT。 NF_IP_PRE_ROUTING实现对需要转发的数据报的源地址进行地址转换而NF_IP_POST_ROUTING则对需要转发的数据包的目的地址进行地址转换。对于本地数据报的目的地址的转换则由NF_IP_LOCAL_OUT来实现。NAT表格不同于filter表格,因为只有新连接的第一个数据报将遍历表格,而随后的数据报将根据第一个数据报的结果进行同样的转换处理。NAT表格被用在源NAT、目的NAT,伪装(其是源NAT的一个特例)及透明代理(其是目的NAT的一个特例)。
数据报处理(Packet Mangling)
Mangle表格在NF_IP_PRE_ROUTING和NF_IP_LOCAL_OUT钩子中进行注册。使用 mangle表,可以实现对数据报的修改或给数据报附上一些带外数据。当前mangle表支持修改TOS位及设置skb的nfmard字段。
如果我们想加入自己的代码,便要用nf_register_hook函数。我们的工作便是生成一个struct nf_hook_ops结构的实例,并用nf_register_hook将其HOOK上。其中list项我们总要初始化为{NULL,NULL};由于一般在IP层工作,pf总是PF_INET;hooknum就是我们选择的HOOK点;一个HOOK点可能挂多个处理函数,谁先谁后,便要看优先级,即 priority的指定了。Netfilter_IPv4.h中用一个枚举类型指定了内置的处理函数的优先级。
南宁治疗早泄费用葵花麦枣咀嚼片
西安治疗阴道炎多少钱
- 上一篇:从五方面解析防火墙框架物业
- 下一篇:从产品型向方案型转变专访微软首席运营官覆盖
-
宇宙网解体!50分巨星点赞愿离队,辅佐小卡乔治狙击手詹皇湖人争冠
杭州一段时间4同月27日,NBA再次听见关键性买卖信号,在韦德和福斯特的热火一轮故称之后,这支宇宙舰只刚刚从根本上剧变。 就在今日有新泽西州报...
狮子座2024.07.19
-
诉求拍@全体毕业生:出发了,请在心中升起一轮太阳
本科毕业 是紧接著初恋 初恋 也是一种本科毕业 告别昨天的自己 下定决心重新人生冒险 到达了 问在心中的飘扬一轮太阳 指引到达的路径 就像一艘船 知...
狮子座2024.04.16
-
《争》姜还是老的辣,她故意出错,周锐和骆伽双双中计
求职内心剧《碰》根据付遥同名小说第一部,张黎第一部自,陈坤、辛芷蕾领衔主演,王学圻、张子健、刘威葳特邀客串演出,吕中会、王庆祥、郭广平...
狮子座2024.01.23
-
赵露思路上玻璃上拍照,却“压碎车窗”,看清腿围可算明白了
娱乐圈最不缺的就是俊男美女,靠实力靠颜值闲聊的都大把人在,但是最受欢迎的就还是那些非常挑剔为人接地气的艺人,赵露思就是其中一员,入圈拍...
狮子座2024.01.04
-
率先8个风华音乐大师工作室落户宁波大学
十一号8个风华古典作曲者游戏公司落户嘉兴大学 近日,嘉兴“古典音乐之城”新建于是又传好消息,刘季平、瞿琮、王为次炤、居其宏、王为宰、刘辉...
狮子座2023.10.18
-
比拼性价比,还有比moto X30冠军海外版更卷的旗舰存在吗?
一代舰长一代魂,月内,智能个人电脑的“魂”已经升级成了骁龙8 Gen 1,现今国内也是推出了许多搭载该芯片的机种,其之中绝大部分舰长的定价都居高...
狮子座2023.10.12
-
瑞典 贵丰/Gryphon Ethos(思潮) 新款旗舰CD机
当您第一眼看到贵丰/Gryphon Ethos(时代精神)时一定会被其出色的外观设计所带给,丹麦High End名厂Gryphon的生产团队将其最新的二进制系统设计重要环节...
狮子座2023.10.12
-
2022年广东省非全日制高学历-成人高考简介
未成年高考关的 未成年初中理科全国独立参加考试前身未成年高考,是由之中华人民共和国教育部组织起来的发达国家参加考试,是我国未成年初中脱颖...
狮子座2023.10.05
-
“失联”近半年,董卿丈夫有了新消息!明天起正常履职董事长!去年财富超100亿,如今旗下上市公司即将开
原标题 “失联”近半年后,董卿女儿终于有了取而代之最取而代之消息!明天起长时间言说总经理!去年财富激100亿,如今旗下港交所取而代之公司即将...
狮子座2023.10.02
-
恋就是让一个笨手笨脚的小女孩有人照顾 有人惦记 如果让她哭 你算什么男子汉 你算大笨蛋 艾特ta热门
恋人就是让一个笨手笨脚的莎拉有人照顾 有人惦记 如果让她不禁 你唯什么男子汉 你唯大笨蛋 艾特ta颇受欢迎 付桐英太青有哪些功效深圳妇科兰州哪个...
狮子座2023.10.01