您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > NAT详解看了你就懂
NAT相关术语解释:”local”和”global”的含义,Local是对内网设备看到的,无论是insidelocal还是outsidelocal;global是对外网设备看到的Insidelocal内部本地地址(内部主机的实际地址,一般为私有地址)Insideglobal内部全局地址(内部主机经NAT转换后去往外部的地址,是ISP分配的合法IP地址)Outsidelocal外部本地地址(外部主机由NAT设备转换后的地址,一般为私有地址,内部主机访问该外部主机时,认为它是一个内部的主机而非外部主机)Outsideglobal外部全局地址(外部主机的真实地址,互联网上的合法IP地址)NAT前是LOCAL部分,NAT后是GLOBAL部分NATInsideoutsideeILOLIGOGs1/0f1/0NAT的基本原理:拿家庭上网来说就是将私有内网地址转换为ISP提供的ip地址,以便能访问internet,如图三台PC共享一个外网IP地址访问internet专业些说就是:IL---IG之间的映射,OL—OG之间的映射NAT有三种1IL----IG对应的语法:ipnatinsidesourceILIG(90%以上的都是这种NAT转换)insidesource有两层含义:a,inside是指对inside部分进行翻译(Insidelocal到Insideglobal)b,source是指以inside部分为源进行翻译2IG----IL对应的语法:ipnatinsidedestinationIGILinsidedestination有两层含义:a,inside是指对inside部分进行翻译(Insideglobal到Insidelocal)b,destination是指以inside部分为目的进行翻译3OG----OL对应的语法:ipnatousidesourceOGOLousidesource有两层含义:a,outside是指对outside部分进行翻译(outsideglobal到outsidelocal)b,source是指以outside部分为源进行翻译注:NAT转换是在outside口执行的,数据包进入inside口后先执行路由选择nat实例实验环境如图,实验要求:配置NAT和静态路由实现在R1上telnet某一地址时出现R4,即R1telnet上R4由图可知R1,R4的IP地址完全相同,如何才能实现R1telnet上R2?还有192.168.1.1和192.168.4.1这两个地址有什么作用,又是如何“变”出来的?解题的思路:根据数据包在NAT前和NAT后的源IP和目的IP进行分析在NAT前(即R1到R2这段)数据包的sip:192.168.0.1,那目标ip呢?可以写为192.168.0.1(R4的ip)吗?当然不行,R1会认为数据包是发给自己,R4不可能收得到。那怎么办,我们可以假设一个地址,假设NAT前数据包的目标地址是192.168.4.1(代表远端的R4)。同理NAT后的数据包没有源ip,我们可以假设为192.168.1.1(代表R1)。地址如上图中所示那如何配置NAT呢?既然192.168.1.1对外往里看来是代表R1的,那么肯定NAT肯定要实现192.168.0.1(R1)到192.168.1.1的转换,同理要实现192.168.0.1(R4)到192.168.4.1的转换,配置如下R2(config)#intf0/1R2(config-if)#ipnatinsideR2(config)#intf0/0R2(config-if)#ipnatoutsideR2(config)#ipnatinsidesourcestatic192.168.0.1192.168.1.1R2(config)#ipnatoutsidesourcestatic192.168.0.1192.168.4.1至此NAT配置完成。接下来就开始配置静态路由了思路:还是根据数据包在NAT前和NAT后的源IP和目的IP进行分析R1路由R1(config)#iproute0.0.0.00.0.0.0192.168.0.2R2路由当数据包(sip:192.168.0.1dip:192.168.4.1)到达f0/1口时,由于是inside口,先执行路由选择,所以要根据数据包的目标ip写一条静态路由R2(config)#iproute192.168.4.0255.255.255.012.0.0.2数据包到达outside口时执行NAT转换,数据包变为sip:192.168.1.1dip:192.168.0.1,然后数据包直接从f0/0口丢出(不需要添加到192.168.0.1(R4)的路由,已通过抓包证实,数据转化后直接从outside口扔出)发送给R3,数据包到达R3后,查看目标ip地址是192.168.0.1是自己直连的网络,所以不用写静态路由,直接从f0/0口仍出数据包到达R4后,发现是自己的包,给一个回复,目标ip为192.168.1.1,R4添加一条默认路由R4(config)#iproute0.0.0.00.0.0.0192.168.0.2将数据包交给R3,回复的数据包到达R3后,发现数据包的目标地址是192.168.1.1,而自己没有相应的路由,添加一条到该网络的路由R3(config)#iproute192.168.1.0255.255.255.012.0.0.1,将数据包给R2,数据包到达R2的f0/0口,执行NAT,随后数据包变为sip:192.168.4.1dip:192.168.0.1,由于直连R1无需再添加路由。到此所有配置完成测试无论R1ping192.168.4.1,还是R1telnet192.168.4.1都正常以下是R2的nat表由nat表可知IL:192.168.0.1(R1)IG:192.168.1.1OL:192.168.4.1OG:192.168.0.1(R4)这样的结果也验证了对其的定义Insidelocal内部本地地址(内部主机的实际地址,一般为私有地址)Insideglobal内部全局地址(内部主机经NAT转换后去往外部的地址,是ISP分配的合法IP地址)Outsidelocal外部本地地址(外部主机由NAT设备转换后的地址,一般为私有地址,内部主机访问该外部主机时,认为它是一个内部的主机而非外部主机)Outsideglobal外部全局地址(外部主机的真实地址,互联网上的合法IP地址)从本测试可以看出NAT的实质就是Insidelocal与Insideglobal的映射,Outsidelocal与Outsideglobal的映射。总结:讲了这么多,其实就是在介绍一种学习NAT的思路。在NAT前,数据包是怎样的,NAT后数据包又是怎样。根据其sip,dip确定映射关系和路由。
本文标题:NAT详解看了你就懂
链接地址:https://www.777doc.com/doc-4732441 .html