网站运营
位置:首页>> 网站运营>> 简单解析Linux系统防火墙框架

简单解析Linux系统防火墙框架

 来源:asp之家 发布时间:2009-07-12 09:26:00 

标签:解析,Linux系统,防火墙,框架

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

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

2. 内核的任何模块可以对每种协议的一个或多个钩子进行注册,实现挂接,这样当某个数据包被传递给Netfilter框架时,内核能检测是否有任何模块对该协议和钩子函数进行了注册。若注册了,则调用该模块的注册时使用的回调函数,这样这些模块就有机会检查(可能还会修改)该数据包、丢弃该数据包及指示Netfilter将该数据包传入用户空间的队列。

3 .那些排队的数据包是被传递给用户空间的异步地进行处理。一个用户进程能检查数据包,修改数据包,甚至可以重新将该数据包通过离开内核的同一个钩子函数中注入到内核中。

4. 任何在IP层要被抛弃的IP数据包在真正抛弃之前都要进行检查。例如允许模块检查IP-Spoofed包(被路由抛弃)。

5.IP层的五个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的一个特例)。

0
投稿

猜你喜欢

  • 1、关键字研究在做任何举动之前,先用关键字工具来做一个广泛的调查,看哪些关键字/词适用于你的站点。你的直接竞争对手用的是什么关键词?是不是有
  • 著名SEO网站SEOMOZ今年调查得出的一份“影响搜索引擎排名因素的报告”。他们每两件做这样一个调查,调查对象是全世界各地的SEO专家。然后
  • 9月9日,织梦教育类网站解决方案专题(http://www.dedecms.com/products/education)正式上线,Dede
  • 最近的一直为博客助手程序而烦恼操心。因为以前对于内容管理系统并不是太熟悉,只有初步的认识。先前使用国内空间时,也安装过动易、风汛等博友推荐的
  • DedeCMS Error Warning,这个问题我也出现过,有办法解决,但能不能行得通还是个问题,如果你是独立服务器可以使用以下两个方法
  • Serv-U是一个FTP服务器程序(用户可以从www.serv-u.com网站下载),能够运行于Windows 95/98/2000/Me/
  • 今天早上发现IIS无法启动,报错:发生意外错误0x8ffe2740.然后在IIS上就出现了一个红色的“Error&
  • 如果一个网站的HTML代码很容易被人理解,那么他应该也很容易被搜索引擎理解吧,如果容易被搜索引擎理解,那搜索引擎肯定就喜欢这个网站了,所以会
  • 为了更好的实现对社区热点信息的聚焦,Discuz! 7.1新增了“热点话题”功能,成为强化社区信息聚焦重要应用手段。重视细节改进是产品发展的
  • 刚好青云讲了些“007功能”,好像还挺有争议。有争议是好事,有争议才说明这些想法既不是人人皆知的常识,也不是明显没有价值的谬论,而是一个值得
  • iis限制,流量限制与cpu限制的对比当前的虚拟主机主要分为三类流量限制:一:流量限制就是直接限制网络流量,这种限制通常是最严厉的一种流量限
  • 在上一期,我们为站长介绍了“投票”功能,投票可以辅助站长调动会员积极性,让网站变得更加“火爆”,本期我们将为站长介绍UCenter Home
  • 什么是SWFUpload?SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaS
  • IIS中增加URL Rewrite功能,最多人选用的是名为“ISAPI Rewrite“的软件,网上下载的破解版,其实破解不完善,最终会不能
  • 老马说,你现在混日子,小心将来日子混了你。我们中的很多站长都在混日子,也许,我们仿佛找到了理想,伸出一把手却又没有抓住,一点感觉都没有似的。
  • UCenter是康盛创想(Comsenz)旗下各个产品之间信息直接传递的一个桥梁,通过UCenter 站长可以无缝整合Comsenz系列产品
  • 网站管理员们不愿看到的一件事就是自己的网站被Google收录的页面突然变得很少。也就是说,您的网站以前或许有成千上百页被Google收录,但
  • 这段时间发现学生做网站的越来越多,但大多数都没有做成。这里给出几点建议,期望对你有所帮助。学生建站,我觉得应该注意以下四点:一、找到自己的方
  • Nofollow属性推出以后,Matt Cutts多次说过,nofollow既可以用在论坛,博客等的留言中,代表这些链接不是站长能控制和背书
  • 现在,SEO正在成为类似哈里·波特冒险式的故事,它充满理性、激情、神秘,还有点幽默。尽管传统的巫婆术士现在已被网络精曲、网络小插件所取代,被
手机版 网站运营 asp之家 www.aspxhome.com