基于linux网络控制系统.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于linux网络控制系统

基于linux网络控制系统   [摘 要]在Linux相关源码的基础上对Linux内核防火墙框架Netfilter/Iptables进行了研究,并利用HOOK函数,结合图书馆为了保证数据和网络安全的具体要求,举出实例,说明如何利用Netfilter/Iptables构建防火墙,保护网络的安全。   [关键词]Netfilter Iptables Linux 防火墙   中图分类号:TP3文献标识码:A 文章编号:1671-7597(2008)0320049-02      一、Linux内核防火墙概述      Linux从1.1内核开始就支持数据包过滤功能。随着Linux 2.3.15版本的发布产生了Netfilter,实现了状态包过滤,NAT技术和灵活的可扩展结构。在公布2.4内核中推出了一套全新的通用框架Netfilter,其用户空间工具称之为iptables,这被业内称为第三代Linux防火墙,Netfilter框架在最新发布的2.6内核中继续使用。   Linux 2.6内核防火墙的底层是Netfilter结构,位于Linux网络层(IP层)和防火墙内核功能模块之间。Netfilter主要包含数据包过滤和连接跟踪两个独立的功能,其中数据包过滤是防火墙的基本功能,而连接跟踪功能则使Netfilter成为了一个完全意义上的状态检测防火墙。      二、Linux的netfilter架构分析      (一)Netfilter概述   netfilter是一系列嵌入协议栈的钩子,当前Netfilter所支持的协议栈包括iPv4,IPv6和DECnet。在本文中所论述的是IPv4和IPv6两种协议栈的情况,不涉及DECnet。在Linux内核中,理想化的IPv4和IPv6数据包在Netfilter框架的流向图如图 所示:      数据包从左边进入系统,进行IP校验和,数据包流经Netfiler框架的第一个钩子NF_IP_PREROUTING。进入路由代码,在该处决定该数据包是转发还是发往本机。若该数据包是发给本机的,则数据流经过Netfilter钩子NF_IP_LOCAL_IN之后才能传递给本机。若该数据包转发则它被Netfilter钩子NF_IP_FORWARD处理。经过转发的数据包经过最后一个Netfilter钩子NF_IP_POSTROUTING处理以后,传输出系统。本机产生的数据经过钩子NF_IP_LOCAL_OUT处理,进行路由选择处理,通过NF_IP_POSTROUTING发送出本系统。   (二)IPTABLES   基于Netfilter框架,称为iptables的数据报选择系统在Linux2.4内核中被应用。内核模块可以注册一个新的规则表(table表),并要求数据报流经指定的规则表。这种数据报选择用于实现数据报过滤(filter表),网络地址转换(nat表)及数据报处理(mangle表)。   Linux2.6内核提供的这三种数据报处理功能都基于Netfilter的钩子函数和IP表。它们是独立的模块,相互之间是独立的。它们都完美的集成到由Netfilter提供的框架中。   1.包过滤(filter)   filter表不会对数据报进行修改,而只对数据报进行过滤。iptables优于ipchains的一个方面就是它更为小巧和快速。它是通过钩子函数NF_IP_LOCAL_IN,NF_IP_FORWARD及NF_IP_LOCAL_OUT接入Netfilter框架的。因此对于任何一个数据报只有一个地方对其进行过滤。这相对ipchains来说是一个巨大的改进,因为在ipchains中一个被转发的数据报会遍历三条链。   2.网络地址转换(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的一个特例)及透明代理(是目的NAT的一个特例)。   3.数据报处理(mangle)   mangle表在NF_IP_PRE_ROUTING和NF_IP_LOCAL_OUT钩子中进行注册。使用mangle表,可以实现对数据报的修改或给数据报附

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档