版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、NAT常见问题及处理 固网技术支持北京分部 2002.9,NAT基本概念 为什么作NAT NAT基本原理 转换转换的优缺点 NAT的分类 NAT性能指标 NAT应用实例 为什么无法登录邮箱 分片IP报文的处理 NAT的负荷分担 配置不当造成的路由环路 DNS在外部的访问 DNS在内部的访问,内容介绍,缓解IP地址匮乏的问题 RFC1918规定的3个私网地址网段: - 55 (10/8 prefix) - 55 (172.16/12 prefix) - 55
2、(192.168/16 prefix),为什么作NAT,NAT基本原理,Internet,企业网 /8,NAT路由器,NAT机制:就是内部网主机报文的IP地址和端口,与路由器上配置的外部网络地址和端口的相互转换过程。,优点: 1、内部网络的主机可以通过该功能访问网外资源。 2、为内部主机提供了“隐私”保护。 缺点: 1、由于需要对数据报文进行IP地址的转换,涉及IP地址的数据报的报头不能被加密。在应用协议中,不能使用加密的FTP连接。否则FTP的port命令不能被正确转换。 2、网络调试变得更加困难。比如,某一台内部网络的主机试图攻击其它网络,则很难指出究竟是哪一台机器是恶意的
3、,因为主机的IP地址被屏蔽了。,地址转换的优缺点,NAT的分类,esay ip 直接使用NAT的接口的IP地址作为转换后的公网的地址,这是多对一的NAT模式。 NAT pool 在接口上配置一个地址池,地址池内包含有多个公网的IP地址,内网用户可以选取多个公网IP中的一个进行转换,这是多对多的NAT模式。 内部服务器 通过配置,建立内部服务器的内部地址、端口和外部地址、端口的对应关系,提供了外部网络访问内部服务器的功能。,配置步骤: 1、配置访问列表 2、配置直接使用接口的IP作地址转换 例:允许/24网段的主机进行地址转换,选用接口Serial1/0/0 的地址作为转换
4、后的地址。假设Serial1/0/0是NAT的出口。 Quidway(config)# access-list 1 permit 55 Quidway(config)# access-list 1 deny any Quidway(config-if-Serial1/0/0)# nat inside list 1,easy ip,配置步骤: 1、配置访问列表 2、配置地址池 3、配置访问控制列表和地址池的关联 例:允许/24网段的主机进行地址转换,选用0 到2之间的地址作为转换后的地址。
5、假设Serial1/0/0是NAT的出口。 Quidway(config)# access-list 1 permit 55 Quidway(config)# access-list 1 deny any Quidway(config)# nat pool pool1 0 2 Quidway(config-if-Serial1/0/0)# nat inside list 1 pool pool1,NAT POOL,配置步骤: 定义一个内部服务器的外部地址和内部地址的映射表, 例:指定局域网内部的www服务器的
6、IP地址是0,希望外部通过http:/ 0:8080可以访问WEB, Quidway(config-if-Serial1/0/0)# nat server protocol tcp global 0 8080 inside 0 www,配置内部服务器,1、吞吐量 吞吐量是指系统在不丢包的条件下的包处理能力,属3层性能指标。NAT的引入需要CPU额外的处理,使路由器的吞吐量大幅降低。当用户连接数加大时NAT 地址转换表项增多,吞吐量还会持续下降。 2、丢包率 丢包率是指在恒定的负载下,由于资源缺乏而不能转
7、发的报文的比例,属3层性能指标。NAT的引入增加了处理的复杂度,使得同等条件下比配置NAT之前丢包几率增加。 用户连接数越大复杂度越高,丢包也越多。 3、最大连接数 在NAT应用中被测设备所能允许建立的最大TCP或UDP连接数,每个连接相应占用一块内存,通过内存占用情况可以得到已建立连接数。不同的网络产品能支持的网络连接数是不同的。 R002版本的NAT能支持5万连接,而R005版本支持NAT的连接数是10万(甚至是25万),对于每个私网地址的可同时建立的最大连接个数,我们现在给定为(26)*4 + 255 = 511个,,NAT的性能指标,NAT基本概念 为什么作NAT NAT基本原理 转换
8、转换的优缺点 NAT的分类 NAT性能指标 NAT应用实例 为什么无法登录邮箱 分片IP报文的处理 NAT的负荷分担 配置不当造成的路由环路 DNS在外部的访问 DNS在内部的访问,内容介绍,实例1:为什么无法登录邮箱?,现象:内网的用户反映可以访问A网站的WWW页面,但无法成功登录访问A网站的WEB EMAIL服务。 分析:通过跟踪NAT转换后的报文发现,在第1次登录A网站WWW首页时,新建了1个TCP连接,在随后的登录WEB EMAIL服务页面时,又建立了一个TCP连接,所不同的是,这次对源IP(私网地址)转换采用的公网IP不同于第1次,随后出现无法登录WEB EMAIL服务页面的情况。
9、处理:不采用NAT IP POOL的方式,而是只配置1个公网IP做地址转换,同样测试WEB EMAIL服务,这次登录成功。 结论:可以断定,A网站的WEB EMAIL服务对访问的用户进行了源IP地址的鉴别,如果登录WWW页面和登录WEB EMAIL页面IP报文的源IP地址不同(可以对HTTP报文中的cookie来判断2次连接均属同一个用户所为),则拒绝登录。 问题解决:为解决这个问题,NAT软件做了修改,保证从同一个采用私网地址的主机IP报文经过NAT转换后,使用相同的公网IP地址进行转换,以避免上述的问题。,实例1:为什么无法登录邮箱?,实例2:分片IP报文的处理,现象:从内网的PC终端通过
10、NAT转换后,ping 外网的PC,小于1500的包能通,大于1500的包不能通。 分析:1500是IP包分片的界限,可以推断是NAT在IP包的分片过程中出现问题。通过分析多个分片后的ICMP包 的结构,了解到第一个分片包包含ICMP头的Identifier字段,而其后的分片不包括ID字段,这就是问题的原因。 结论:在ICMP报文分片后,只有在第1片ICMP报文中包含ICMP头的Identifier字段。当第1片报文到达NAT路由器后,根据正常的转换流程,根据源IP地址和Identifier信息生成转换表项并转发出去,在第2个及后续分片到达后,由于只包含IP地址却无Identifier信息,因
11、此无法正确进行NAT转换。 问题解决:在第1个分片到达并转换后,NAT程序记录保存转换第1个分片使用的IP及Idnentifier信息,并在后续分片到达后应用同样的转换表项进行转换。,实例2:分片IP报文的处理,实例3:NAT的负荷分担,需求1:NE16上行采用两个E1链路,并想实现easy ip 方式的NAT 转换。 解决方法:在RTA上配置2条等值的静态路由,目的网络是Outside的网段,下一跳的出接口分别是s0和s1。s0和s1采用EASY IP的方式(将接口的公网地址作为NAT转换的唯一地址),这样可以不用任何其他配置就可以实现NAT功能。这是因为RTB上指向Inside网络路由的目
12、的网络地址即是RTA的接口地址,而RTA的接口地址是RTB的直连路由,自然的,从s0口发往RTB的IP包返回时,RTB也会选择从s0口返回。,实例3:NAT的负荷分担,进一步考虑 需求2:NE16上行采用两个E1链路,并想实现NAT POOL 方式的NAT 转换。 解决方法:RTA的两个接口都采用NAT POOL的方式,在两个接口上分别设置NAT POOL1和NAT POOL2,这里必须保证POOL1和POOL2不能重叠。在RTA上配置2条等值的静态路由,目的网络是Outside的网段,下一跳的出接口分别是s0和s1。在RTB也要配置2条静态路由,目的网络是POOL1和POOL2,下一跳分别指
13、向S0和S1。 问题:为什么 POOL1和POOL2不能重叠呢?,实例3:NAT的负荷分担,实例3:NAT的负荷分担,再进一步想想呢,需求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的负荷分担,实例3:NAT的负荷分担,为什么我们不这样想呢 假设S0链路中断了,这样S0所对应的POOL1还能生效吗?,分析4:前面所罗列的三种情况,其实没有真正的实现NAT POOL的负荷分担。因为如果S0链路中断了,这样S0所对应的POOL1就不能生效了。真正的负荷分担应该是在S0和S1上都对POOL(POOL1+POOL2)作NAT,这样,当一条链路中断,POOL内的任何地址都不会丢失了。 那么,前面考虑的三种是多余的吗?,实例3:NAT的负荷分担,再分析4:当然不是了。因为在R005B02D010版本以前就没能实现真正的负荷分担,因为这
15、些版本中,NAT的转换表项基于接口,因此从那个接口发出的IP包,返回时也必须从相同的接口返回。而R005B02D010及以后的版本,做得还是不够好,它的NAT转换表项是基于接口板的,也就是说,如果s0和s1在同一块接口板上,从s0口出的IP包从s1口返回也能查询到NAT转换表项进行相应的反向地址转换。我们现在也许只能想象一下理想的状态:如果NAT转换表是基于路由器的(基于全局的),那么,从任何NAT的接口出的IP包从其他非NAT接口返回都能查询到NAT转换表项进行相应的反向地址转换。,实例3:NAT的负荷分担,大家对NAT的负荷分担是不是有了一些了解了呢?如果没有,很好的办法就是再从需求一看起
16、,实例3:NAT的负荷分担,实例4:配置不当造成的路由环路,在RTA上配置一条缺省路由为: RTA(config)#ip route 12 在RTB上配置一条到地址池的网段路由 RTB(config)#ip route 11,现象:出现RTA下面所带的部分用户丢包和不能上网的现象。 分析:当RTA上收到一个目的地址为60的报文时,在经过NAT转换表后发现没有匹配的项,因此查找路由表,选择缺省路由,将报文转发给RTB,而RTB查路由
17、表发现到该地址是到RTA的,且下一跳是RTA的11接口,这样把报文又发回给RTA,形成报文的环路,路由环路引起了拥塞,导致正常的用户不能上网。 结论:对于目的地址为地址池的报文,如果在NAT转换表中没有匹配项,没有进行丢弃。造成配置不当引起的环路。 解决方法:可通过配置“黑洞”路由来避免形成环路。在RTA上,当转换表没有相应的转换表项时,应该丢弃。RTA(config)#ip route 12 blackhole其中下一跳地址必须可达,以保证这个黑洞路由生效。,实例4:配置不当造成的路由环路,实例5:DNS在外部的访问,现象:内部网的pc不能通过域名访问内部的www服务器及ftp等服务器,而通过IP地址可以访问。 分析: 当内部pc通过域名访问时,会到外部的DNS上请求IP地址,由于DNS是在外部,所以它会返回一个公网的地址或找不到地址。这样导致内部PC通过域名访问时,得到是个外部的地址或者得不到地址,而NE16对从其他接口进来的公网地址是不会转换成内部地址的,所以导致内部用户不能正常访问内部服务器。 解决方法:R005B02D010及以后的版本对这个问题有解决方法。但之前的版本就没办法啦,实例5:DNS在外部的访问,实例5:DNS在内部的访问,现象:DNS和内部WW
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论