从五方面解析防火墙框架物业

2021-10-29 04:38:23 兴城星座网

Linux系统中的Netfilter提供了一个抽象、通用化的框架,该框架定义的一个子功能的实现就是包过滤子系统,框架包含以下五部分:

1. 为每种络协议(IPv4、IPv6等)定义一套钩子函数(IPv4定义了5个钩子函数), 这些钩子函数在数据报流过协议栈的几个关键点被调用。在这几个点中,协议栈将把数据报及钩子函数标号作为参数调用Netfilter框架。

它所含有的纤维纱不易被消化 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项我们总要初始化为;由于一般在IP层工作,pf总是PF_INET;hooknum就是我们选择的HOOK点;一个HOOK点可能挂多个处理函数,谁先谁后,便要看优先级,即 priority的指定了。Netfilter_IPv4.h中用一个枚举类型指定了内置的处理函数的优先级。

张掖哪个医院治疗白癜风最好
成都治疗男科医院哪好
武汉引产
延展阅读
黄昏错过舒淇,被前妻伤透心,51岁才如愿当上爸爸

破晓错过梁家辉,被未婚妻伤透心,51岁才如愿当上外公,破晓是大家极为陌生的中路新人,已经茶色了几十年了,二十多岁就已是了六大号称,娱乐业...

巨蟹座2024.07.19
爱情就是不需要彼此的阐释

我们手牵手跟着在我哥哥常会跑到的那条街,感觉着一种无比实际上的幸福。共创跑到了十一个紧接著,从中心地带跑到了简单,来得明白确实的心事是...

巨蟹座2024.04.16
蒋勤勤高清照片被修复,老戏骨陈建斌的太太,颜值比甄嬛还美

蒋勤勤较亚洲台图片被复建,才想到老戏骨陈建斌的老婆,原来这么迷人。 2005年的时候,陈建斌和前夫蒋勤勤,因为一部系列剧叫作称做《乔家大院》...

巨蟹座2024.01.23
恋爱的人总以为自己看得见未来

因为有星,夜才不能黑暗;因为有天,海才一片蔚蓝;因为有梦幻,新生命充满期盼;因为有你,我的世界一片光阴! 幸福情这过道,伤不起。于是,宁...

巨蟹座2024.01.04
职场情商课:掌控“现像效应”,发挥积极作用,遵从自己的内心

本文看点:惯常effect是心理学之外的专业术语,又指乐队烟火effect,又叫“随大流”,是指当我们作为形态受到确实群体冲击时,会可疑且扭转自己的看...

巨蟹座2023.12.06
大股东所亦然部分股份将被司法拍卖 未名医药或易主

各大医药(002581)5月末20日晚间日前,该公司第一控股沈阳清华大学各大生物工程的该公司有限该公司(下所称“各大的该公司”)所拥有者、占到该公司...

巨蟹座2023.10.30
为什么有人月薪几千,还能每天额头万的新包?

我,一个普一般来说通的打工人 没有年薪几十万,家庭先决条件也一般来说 买了名牌工具箱,不是为了跟风折扣 而是对自己的投资!! TA鼓励我去执...

巨蟹座2023.10.27
西南政大某男孩子,对“唐山打人事件”发表不当言论,被学校处分

当代青年人肩负关键性盼望和担当,作为里华儿女要继承丰富的文化,接所受教育,打开格局,远不止青年人所认为的好好自学,找一份好指导那么简单...

巨蟹座2023.10.18
德国4月PPI同比攀升33.5% 因能源价格飙升

丹麦统计局(Destatis)周六对此,受新能源商品价格高企推动,丹麦4月末的产品商品价格指数(PPI)强大高企,增幅创历史新高。 数据集显示,丹麦4月...

巨蟹座2023.10.12
Polycom宝利通soundstation2基本型/标准型/引入型八爪鱼会议电话简要说明书

近期杭州利旺智能科技合资集团浙江视频决议网易收到苏州市一企业客户咨询,他公司主要运用于Polycom宝利通基本M-、新标准M-、拓展M-螃蟹决议接听,但...

巨蟹座2023.10.12