1 / 22
文档名称:

NAT机制分析..doc

格式:doc   大小:735KB   页数:22页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

NAT机制分析..doc

上传人:q1188830 2019/7/9 文件大小:735 KB

下载得到文件列表

NAT机制分析..doc

文档介绍

文档介绍:,workAddressTranslation,即网络地址转换。通过该技术手段,可使得局域网内部网络中使用内部地址,并利用在网关处的特定设置,将内部地址替换成公用地址,从而保证内网主机可以正常的上网。连接,这一功能很好地解决了IPv4地址枯竭的问题。图1NAT工作原理NAT服务需要依赖于iptables来进行网络包的转发,其中iptables是一个类似于防火墙的软件,能进行网络报的过滤和转发。若内网某机器需要使用NAT服务发送网络包的时,网络包通过“Prerouting”–>”Forward”->”Postrouting”将网络包转发出网卡。其中,Prerouting过程无操作,Forward过程进行包的转发,Postrouting过程更改网络包的源地址为NAT服务主机的ip地址。filter/filter/iptables是实现NAT的基础。它可以为内核防火墙模块提供有状态或无状态的包过滤服务,从而实现NAT、IP伪装等,也可以因高级路由或连接状态管理的需要而修改IP头信息。filter/iptables。说明:,。本文的流程图中有两种类型的箭头,表示函数调用关系,表示执行流程。 filter和 iptables filter是内核中的一组提供网络协议栈控制的程序框架,它通过在钩子hook注册回调函数,使得每个经过该hook的数据包都会调用这些函数,完成一定的控制功能。,是用户空间中用于管理包过滤及NAT等的工具。它设置防火墙的过滤规则,并将规则添加到内核空间的特定信息包过滤表内的链中,filter框架hook点的回调函数完成对数据报进行过滤、地址转换、处理等操作。而NAT正是通过在用户态设置的iptables过滤规则,使得从内网流出的包在通过hook点时被捕获,修改其包头信息,以转发到外网。-IPv4体系结构(filter通用框架不依赖具体的协议,不同的网络协议在IP协议栈建立了5个HOOK点,在每个HOOK点对数据包进行有选择的处理。内核任何模块可对一个或多个钩子函数进行注册,实现挂接,filter时,内核检测是否有模块对该协议和钩子函数进行注册。若注册了,则调用内核模块注册时的回调函数,模块便有机会检查并且在数据报经过这些钩子函数时被调用,从而模块可以修改、filter将该数据报传入用户空间,filter返回相应的值,以确定是否正常传输数据包,还是丢弃数据包。_LOCAL_IN经由路由选择后的数据包,_POST_ROUTING该处理点对应于进入防火墙的数据包和由防火墙本地进程产生的数据包,这些数据包在出防火墙时进行的控制处理第一个ROUTE针对收到的包做路由检查并判断这个包是需要转发还是发往上层的包,第二个ROUTE是针对发出包进行的路由。_PRE_ROUTING点对所有传入IP层的数据包进行检查,在这之前,有关数据包的版本、长度、校验和等正确性检查已经完成;_LOCAL_IN对发往上层的数据包进行检查;_FORWARD检查需要转发的数据包;_POST_ROUTING则对所有向链路层传递的数据包进行检查,在此处数据包的路由已经确定。_LOCAL_OUT对本机发出的包进行检查,此处的路由还没有确定,所以可以做目的地址转换。(2)filter框架需要在内核模块注册table,要求数据报流经指定的规则表table,这种数据报选择用于实现数据报过滤(filter表),网络地址转换(nat表)及数据报处理(mangle表)。这三者是相互独立的模块,filter的HOOK函数和一系列的表、若干链和规则实现各自的功能。Iptables可在用户态被设置成若干规则,filter框架中进行匹配和处理。iptables命令主要有四个部分组成,即:作用在哪个表上、执行的命令(如在链上插入或删除一条规则)、条件(各种匹配)、目标操作(target)。iptables命令中各参数说明如下:规则表和规则链关系如图1-1所示,iptables命令使用选项-ttable选择规则表。规则表包含处理特定类型信息包的规则和链的信息。有三种可用的规则表选项:filter、nat和mangle,缺省值为filter表。filter表用于一般的信息包过滤,它包含INPUT、OUTPUT和FORWARD规则链。nat表用于要转发的信息包,它包含PREROUTING、OUTPUT和POSTROUTING规则链。mangle规则表包含PREROUTING和OUTPUT链。每