netfilter框架内报文处理.pptVIP

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

第17章 netfilter框架内报文处理 在第16章中对Linux的网络协议进行了简单的介绍,对Linux内置防火墙已经有了了解。Linux内核中的netfilter框架是Linux防火墙构建的基础,使用这个框架可以构建用户特定的网络数据报文过滤规则和处理方法。本章将比较详细的介绍netfilter的编程框架。 程的框架和注意事项。 netfilter的五个钩子挂接点 介绍一个利用netfilter进行编程的简单例子 利用netfilter进行编程时的其他注意事项,例如钩子优先级、修改网络数据造成的CRC错误修正等。 17.1 netfilter 在本章的16.1.3小节中简单介绍了Linux内核中修改网络数据的检查点的概念,在Linux内核中netfilter就是基于这种机制实现的。netfilter的这种机制使得防火墙的构建工作变得更加简单,通常情况下在只需要对几个过滤条件进行解析就可以实现基本的防火墙策略。 17.1.1 netfilter简介 Linux环境下的防火墙技术从2.0的内核版本到目前的2.6版本经历了若干的技术革新,逐步发展起来。2.0版本内核中的ipfwadm是Alan Cox完成的,其代码来自FreeBSD的内核。2.2版本内核中的ipchains较之前的版本有了很大的改进。ipchains维护者之一Paul Russell针对其缺点在Linux kernel 2.3系列的开发过程中形成的目前netfilter的主要架构。用户空间的防火墙管理工具,也相应的发展为iptables。 读者可以访问netfilter的网站/,获得netfilter/Iptables的代码和相关文档。在netfilter的网站上,还可以看到netfilter的一个子项目patch-o-matic,其中收录了大量的各种定制kernel modules,这些modules给读者朋友们开发自己的kernel modules,提供了非常多的、很好的例子。 17.1.2 netfilter框架 netfilter在Linux内核中的IPv4、IPv6和DECnet等网络协议栈中都有相应的实现。本书将只介绍其中最让大多数读者朋友们感兴趣的IPv4协议栈上的netfilter的实现。 IPv4协议栈为了实现对netfilter架构的支持,在IP包在IPv4协议栈上的传递过程之中,选择了五个检查点。在这五个检查点上,各引入了一行对NF_HOOK()宏函数的一个相应的调用。这五个参考点被分别命名为PREROUTING,LOCAL-IN,FORWARD,LOCAL-OUT和POSTROUTING。关于这五个检查点的含义,在Iptables的使用说明中有准确的叙述。 17.1.3 netfilter检查时的表格 netfilter在检查点进行检查,先查看回调函数的合法性,然后根据协议方式决定是否调用。当满足条件时,调用用户挂接的回调函数。 17.1.4 netfilter的规则 netfilter的规则用结构struct ipt_entry来表示。 17.2 iptables和netfilter 在netfilter的基础上,Linux内核中内置了一个防火墙的架构iptables。应用层通过工具iptables与内核通信,构建网络数据在netfilter上的处理规则。 17.2.1 iptables简介 netfilter的强大功能和灵活性是通过iptables界面来实现的。这个命令行工具和它的前身ipchains的语法很相似;不过,iptables使用netfilter子系统来增进网络连接、检验、和处理方面的能力;ipchains使用错综复杂的规则集合来过滤源地和目的地路线以及两者的连接端口。iptables只在一个命令行界面中就包括了更先进的记录方式;选路前和选路后的行动;网络地址转换;以及端口转发。 使用iptables的第一步是启动iptables服务。这可以使用以下命令进行: $service iptables start 要使iptables在系统引导时默认启动,必须使用chkconfig来改变服务的运行级别状态: $chkconfig –level 234 iptables on iptables的语法被分成几个层次。主要层次为“表”和“链”。 17.2.2 iptables的表和链 iptables的主要构成是表,iptables的操作是对iptables上的表的操作。iptables内置了三个表:NAT、MANGLE和FILTER。默认情况下是指对FILTER表的操作。 1.NAT表 2.mangle表 3.filter表 17.2.3 使用iptables设置过滤规则 通过向防火墙提供有关对来自某个源、到某

文档评论(0)

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

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

1亿VIP精品文档

相关文档