《NAT常见问题及处理.ppt》由会员分享,可在线阅读,更多相关《NAT常见问题及处理.ppt(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 NAT常见问题及处理常见问题及处理 固网技术支持北京分部固网技术支持北京分部 2002.9 2NAT基本概念为什么作NATNAT基本原理转换转换的优缺点NAT的分类NAT性能指标NAT应用实例为什么无法登录邮箱分片IP报文的处理NAT的负荷分担配置不当造成的路由环路DNS在外部的访问DNS在内部的访问内容介绍3缓解IP地址匮乏的问题RFC1918规定的3个私网地址网段:10.0.0.0 -10.255.255.255 (10/8 prefix)172.16.0.0 -172.31.255.255 (172.16/12 prefix)192.168.0.0 -192.168.255.255(
2、192.168/16 prefix)为什么作NAT4NAT基本原理基本原理Internet企业网10.0.0.0/8NAT路由器NAT机制:机制:就是内部网主机报文的IP地址和端口,与路由器上配置的外部网络地址和端口的相互转换过程。5优点:优点:1、内部网络的主机可以通过该功能访问网外资源。2、为内部主机提供了“隐私”保护。缺点:缺点:1、由于需要对数据报文进行IP地址的转换,涉及IP地址的数据报的报头不能被加密。在应用协议中,不能使用加密的FTP连接。否则FTP的port命令不能被正确转换。2、网络调试变得更加困难。比如,某一台内部网络的主机试图攻击其它网络,则很难指出究竟是哪一台机器是恶意
3、的,因为主机的IP地址被屏蔽了。地址转换的优缺点6NAT的分类esay ip 直接使用NAT的接口的IP地址作为转换后的公网的地址,这是多对一的NAT模式。NAT pool在接口上配置一个地址池,地址池内包含有多个公网的IP地址,内网用户可以选取多个公网IP中的一个进行转换,这是多对多的NAT模式。内部服务器内部服务器通过配置,建立内部服务器的内部地址、端口和外部地址、端口的对应关系,提供了外部网络访问内部服务器的功能。7配置步骤:1、配置访问列表2、配置直接使用接口的IP作地址转换例:允许10.110.10.0/24网段的主机进行地址转换,选用接口Serial1/0/0 的地址作为转换后的地
4、址。假设Serial1/0/0是NAT的出口。Quidway(config)#access-list 1 permit 10.110.10.0 0.0.0.255Quidway(config)#access-list 1 deny any Quidway(config-if-Serial1/0/0)#nat inside list 1 easy ip 8配置步骤:1、配置访问列表2、配置地址池 3、配置访问控制列表和地址池的关联 例:允许10.110.10.0/24网段的主机进行地址转换,选用202.110.10.10 到202.110.10.12之间的地址作为转换后的地址。假设Serial1
5、/0/0是NAT的出口。Quidway(config)#access-list 1 permit 10.110.10.0 0.0.0.255Quidway(config)#access-list 1 deny any Quidway(config)#nat pool pool1 202.110.10.10 202.110.10.12 Quidway(config-if-Serial1/0/0)#nat inside list 1 pool pool1 NAT POOL9配置步骤:定义一个内部服务器的外部地址和内部地址的映射表,例:指定局域网内部的www服务器的IP地址是10.110.10.10
6、,希望外部通过http:/202.110.10.10:8080可以访问WEB,Quidway(config-if-Serial1/0/0)#nat server protocol tcp global 202.110.10.10 8080 inside 10.110.10.10 www 配置内部服务器101、吞吐量吞吐量是指系统在不丢包的条件下的包处理能力,属3层性能指标。NAT的引入需要CPU额外的处理,使路由器的吞吐量大幅降低。当用户连接数加大时NAT地址转换表项增多,吞吐量还会持续下降。2、丢包率丢包率是指在恒定的负载下,由于资源缺乏而不能转发的报文的比例,属3层性能指标。NAT的引入增
7、加了处理的复杂度,使得同等条件下比配置NAT之前丢包几率增加。用户连接数越大复杂度越高,丢包也越多。3、最大连接数在NAT应用中被测设备所能允许建立的最大TCP或UDP连接数,每个连接相应占用一块内存,通过内存占用情况可以得到已建立连接数。不同的网络产品能支持的网络连接数是不同的。R002版本的NAT能支持5万连接,而R005版本支持NAT的连接数是10万(甚至是25万),对于每个私网地址的可同时建立的最大连接个数,我们现在给定为(26)*4+255=511个,NAT的性能指标11NAT基本概念为什么作NATNAT基本原理转换转换的优缺点NAT的分类NAT性能指标NAT应用实例为什么无法登录邮
8、箱分片IP报文的处理NAT的负荷分担配置不当造成的路由环路DNS在外部的访问DNS在内部的访问内容介绍12实例1:为什么无法登录邮箱?13现象现象:内网的用户反映可以访问A网站的WWW页面,但无法成功登录访问A网站的WEBEMAIL服务。分析分析:通过跟踪NAT转换后的报文发现,在第1次登录A网站WWW首页时,新建了1个TCP连接,在随后的登录WEB EMAIL服务页面时,又建立了一个TCP连接,所不同的是,这次对源IP(私网地址)转换采用的公网IP不同于第1次,随后出现无法登录WEB EMAIL服务页面的情况。处理处理:不采用NAT IP POOL的方式,而是只配置1个公网IP做地址转换,同
9、样测试WEB EMAIL服务,这次登录成功。结论结论:可以断定,A网站的WEB EMAIL服务对访问的用户进行了源IP地址的鉴别,如果登录WWW页面和登录WEB EMAIL页面IP报文的源IP地址不同(可以对HTTP报文中的cookie来判断2次连接均属同一个用户所为),则拒绝登录。问题解决问题解决:为解决这个问题,NAT软件做了修改,保证从同一个采用私网地址的主机IP报文经过NAT转换后,使用相同的公网IP地址进行转换,以避免上述的问题。实例1:为什么无法登录邮箱?14实例2:分片IP报文的处理15现象现象:从内网的PC终端通过NAT转换后,ping 外网的PC,小于1500的包能通,大于1
10、500的包不能通。分析分析:1500是IP包分片的界限,可以推断是NAT在IP包的分片过程中出现问题。通过分析多个分片后的ICMP包 的结构,了解到第一个分片包包含ICMP头的Identifier字段,而其后的分片不包括ID字段,这就是问题的原因。结论结论:在ICMP报文分片后,只有在第1片ICMP报文中包含ICMP头的Identifier字段。当第1片报文到达NAT路由器后,根据正常的转换流程,根据源IP地址和Identifier信息生成转换表项并转发出去,在第2个及后续分片到达后,由于只包含IP地址却无Identifier信息,因此无法正确进行NAT转换。问题解决问题解决:在第1个分片到达
11、并转换后,NAT程序记录保存转换第1个分片使用的IP及Idnentifier信息,并在后续分片到达后应用同样的转换表项进行转换。实例2:分片IP报文的处理16实例3:NAT的负荷分担17需求需求1 1:NE16上行采用两个E1链路,并想实现easy ip 方式的NAT 转换。解决方法解决方法:在RTA上配置2条等值的静态路由,目的网络是Outside的网段,下一跳的出接口分别是s0和s1。s0和s1采用EASY IP的方式(将接口的公网地址作为NAT转换的唯一地址),这样可以不用任何其他配置就可以实现NAT功能。这是因为RTB上指向Inside网络路由的目的网络地址即是RTA的接口地址,而RT
12、A的接口地址是RTB的直连路由,自然的,从s0口发往RTB的IP包返回时,RTB也会选择从s0口返回。实例3:NAT的负荷分担18进一步考虑进一步考虑需求需求2 2:NE16上行采用两个E1链路,并想实现NAT POOL 方式的NAT 转换。解决方法解决方法:RTA的两个接口都采用NAT POOL的方式,在两个接口上分别设置NAT POOL1和NAT POOL2,这里必须保证POOL1和POOL2不能重叠。在RTA上配置2条等值的静态路由,目的网络是Outside的网段,下一跳的出接口分别是s0和s1。在RTB也要配置2条静态路由,目的网络是POOL1和POOL2,下一跳分别指向S0和S1。问
13、题问题:为什么 POOL1和POOL2不能重叠呢?实例3:NAT的负荷分担19实例3:NAT的负荷分担再进一步想想呢再进一步想想呢20需求需求3 3:NE16上行采用两个E1链路,分别接到不同的路由器上,并想实现NAT POOL 方式的NAT 转换。解决方法解决方法:RTA的两个接口都采用NAT POOL的方式,在两个接口上分别设置NAT POOL1和NAT POOL2,这里仍然保证POOL1和POOL2不能重叠。在RTA上配置2条等值的静态路由,目的网络是Outside的网段,下一跳的出接口分别是s0和s1。在RTB配置一条静态路由,目的网络是POOL1,下一跳指向S01。在RTC配置一条静
14、态路由,目的网络是POOL2,下一跳指向S02。实例3:NAT的负荷分担21实例3:NAT的负荷分担为什么我们不这样想呢为什么我们不这样想呢假设S0链路中断了,这样S0所对应的POOL1还能生效吗?22分析分析4 4:前面所罗列的三种情况,其实没有真正的实现NAT POOL的负荷分担。因为如果S0链路中断了,这样S0所对应的POOL1就不能生效了。真正的负荷分担应该是在S0和S1上都对POOL(POOL1+POOL2)作NAT,这样,当一条链路中断,POOL内的任何地址都不会丢失了。那么,前面考虑的三种是多余的吗?实例3:NAT的负荷分担23再分析再分析4 4:当然不是了。因为在R005B02
15、D010版本以前就没能实现真正的负荷分担,因为这些版本中,NAT的转换表项基于接口,因此从那个接口发出的IP包,返回时也必须从相同的接口返回。而R005B02D010及以后的版本,做得还是不够好,它的NAT转换表项是基于接口板的,也就是说,如果s0和s1在同一块接口板上,从s0口出的IP包从s1口返回也能查询到NAT转换表项进行相应的反向地址转换。我们现在也许只能想象一下理想的状态:如果NAT转换表是基于路由器的(基于全局的),那么,从任何NAT的接口出的IP包从其他非NAT接口返回都能查询到NAT转换表项进行相应的反向地址转换。实例3:NAT的负荷分担24大家对大家对NATNAT的负荷分担是
16、不是有了一些的负荷分担是不是有了一些了解了呢?如果没有,很好的办法就是再从了解了呢?如果没有,很好的办法就是再从需求一看起需求一看起实例3:NAT的负荷分担25实例4:配置不当造成的路由环路在RTA上配置一条缺省路由为:RTA(config)#ip route 0.0.0.0 0.0.0.0 111.111.111.112在RTB上配置一条到地址池的网段路由RTB(config)#ip route 121.111.111.0 255.255.255.0 111.111.111.11126现象现象:出现RTA下面所带的部分用户丢包和不能上网的现象。分析分析:当RTA上收到一个目的地址为121.1
17、11.111.160的报文时,在经过NAT转换表后发现没有匹配的项,因此查找路由表,选择缺省路由,将报文转发给RTB,而RTB查路由表发现到该地址是到RTA的,且下一跳是RTA的111.111.111.111接口,这样把报文又发回给RTA,形成报文的环路,路由环路引起了拥塞,导致正常的用户不能上网。结论:结论:对于目的地址为地址池的报文,如果在NAT转换表中没有匹配项,没有进行丢弃。造成配置不当引起的环路。解决方法:解决方法:可通过配置“黑洞”路由来避免形成环路。在RTA上,当转换表没有相应的转换表项时,应该丢弃。RTA(config)#ip route 121.111.111.0 255.2
18、55.255.0 111.111.111.112 blackhole其中下一跳地址必须可达,以保证这个黑洞路由生效。实例4:配置不当造成的路由环路27实例5:DNS在外部的访问28现象现象:内部网的pc不能通过域名访问内部的www服务器及ftp等服务器,而通过IP地址可以访问。分析分析:当内部pc通过域名访问时,会到外部的DNS上请求IP地址,由于DNS是在外部,所以它会返回一个公网的地址或找不到地址。这样导致内部PC通过域名访问时,得到是个外部的地址或者得不到地址,而NE16对从其他接口进来的公网地址是不会转换成内部地址的,所以导致内部用户不能正常访问内部服务器。解决方法:解决方法:R005
19、B02D010及以后的版本对这个问题有解决方法。但之前的版本就没办法啦实例5:DNS在外部的访问29实例5:DNS在内部的访问30现象现象:DNS和内部WWW服务器使用私网地址。与公网相连的HOST B用户不能通过域名来访问内部的www服务器,只能通过地址来访问该服务器。分析分析:由于内部www服务器和DNS服务器都在一个私网内,这样,当内部DNS对内部服务器进行域名到IP地址的转换时,会得到一个内部网的IP地址,然后DNS将这个内部地址返回给外部要访问的内部服务器的HOST B。由于NAT不支持DNS协议,没有进行地址转换。而这个地址由于是私网地址,没有路由发布,所以外部网访问不到解决方法:解决方法:R005B02D010及以后的版本对这个问题有解决方法。但之前的版本就无能为力了。实例5:DNS在内部的访问31 谢谢大家谢谢大家