【个人总结系列-25】IPTABLES基本原理学习总结.docx_第1页
【个人总结系列-25】IPTABLES基本原理学习总结.docx_第2页
【个人总结系列-25】IPTABLES基本原理学习总结.docx_第3页
【个人总结系列-25】IPTABLES基本原理学习总结.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

IPTABLES基本原理学习总结iptables防火墙可以用于创建过滤(filter)与NAT规则。所有Linux发行版都能使用iptables,因此理解如何配置iptables将会帮助我们更有效地管理Linux防火墙。简单地讲,iptables由tables组成,tables由chains组成,而chains又由rules组成。Iptables主要包括Filter、 NAT、Mangle、 Raw四种内建表:n Filter表Filter表示iptables的默认表,因此如果没有自定义表,那么就默认使用filter表,它具有以下三种内建链:l INPUT链 处理来自外部的数据。l OUTPUT链 处理向外发送的数据。l FORWARD链 将数据转发到本机的其他网卡设备上。n 2. NAT表NAT表有三种内建链:l PREROUTING链 处理刚到达本机并在路由转发前的数据包。它会转换数据包中的目标IP地址(destination ip address),通常用于DNAT(destination NAT)。l POSTROUTING链 处理即将离开本机的数据包。它会转换数据包中的源IP地址(source ip address),通常用于SNAT(source NAT)。l OUTPUT链 处理本机产生的数据包。n Mangle表Mangle表用于指定如何处理数据包。它能改变TCP头中的QoS位。Mangle表具有5个内建链:l PREROUTINGl OUTPUTl FORWARDl INPUTl POSTROUTINGn Raw表Raw表用于处理异常,它具有2个内建链:l PREROUTING chainl OUTPUT chain因此,总体而言,iptables包括5个链和4个表,iptables的5个链分别为PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING。4个表分别为filter、nat、mangle、raw。4个表的优先级由高到低的顺序为:rawmanglenatfilter。RAW表只使用在PREROUTING链和OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前进行处理。一旦用户使用了RAW表,在某个链上RAW表处理完后将跳过NAT表和ip_conntrack处理,即不再做地址转换和数据包的链接跟踪处理了。 数据包在iptables各表各链上的处理流程如下图所示:数据包流经iptables的路径针对上图给出的数据包流经iptables的路径,以下内容将分析各类流量的处理过程,分别包括流入本机数据包、流出本机数据包、流经本机转发的数据包。(1)流入本机数据包的路径:所属表 mangle nat mangle nat filter网络数据包 PREROUTING PREROUTING 路由选择 INPUT INPUT INPUT 本地处理进程(2)流出本机数据包的路径:所属表 mangle filter mangle nat本地处理进程 OUTPUT OUTPUT 路由选择 POSTROUTING POSTROUTING 外部网络(3)流经本机转发的数据包的路径:所属表 mangle nat mangle filter A端网络 PREROUTING PREROUTING 路由选择 FORWARD FORWARD mangle natPOSTROUTING POSTROUTING B端网络数据包在iptables中的处理过程基本如下: 数据包到达网络接口,比如 eth0。 进入 raw 表的 PREROUTING 链,这个链的作用是赶在连接跟踪之前处理数据包。 如果进行了连接跟踪,在此处理。 进入 mangle 表的 PREROUTING 链,在此可以修改数据包,比如 TOS 等。 进入 nat 表的 PREROUTING 链,可以在此做DNAT,但不要做过滤。 决定路由,看是交给本地主机还是转发给其它主机。到了这里我们就得分两种不同的情况进行讨论了,一种情况就是数据包要转发给其它主机,这时候它会依次经过: 进入 mangle 表的 FORWARD 链,这里也比较特殊,这是在第一次路由决定之后,在进行最后的路由决定之前,我们仍然可以对数据包进行某些修改。 进入 filter 表的 FORWARD 链,在这里我们可以对所有转发的数据包进行过滤。需要注意的是:经过这里的数据包是转发的,方向是双向的。 进入 mangle 表的 POSTROUTING 链,到这里已经做完了所有的路由决定,但数据包仍然在本地主机,我们还可以进行某些修改。 进入 nat 表的 POSTROUTING 链,在这里一般都是用来做 SNAT ,不要在这里进行过滤。 进入出去的网络接口,完毕。另一种情况是,数据包就是发给本地主机的,那么它会依次穿过: 进入 mangle 表的 INPUT 链,这里是在路由之后,交由本地主机之前,我们也可以进行一些相应的修改。 进入 filter 表的 INPUT 链,在这里我们可以对流入的所有数据包进行过滤,无论它来自哪个网络接口。 交给本地主机的应用程序进行处理。 处理完毕后进行路由决定,看该往那里发出。 进入 raw 表的 OUTPUT 链,这里是在连接跟踪处理本地的数据包之前。 连接跟踪对本地的数据包进行处理。 进入 mangle 表的 OUTPUT 链,在这里我们可以修改数据包,但不要做过滤。 进入 nat 表的 OUTPUT 链,可以对防火墙自己发出的数据做 NAT 。 再次进行路由决定。 进入 filter 表的 OUTPUT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论