一、组网
二、问题描述
某银行客户辖行的PC( 182.134.128.0网段)需要访问外联单位的服务器,需要将客户PC地址由182.134.145.68转换为192.168.200.1,服务器地址由10.16.128.80转换为182.134.136.80。PC和外联服务器都属于客户内网,但是PC侧配置的是公网地址,服务器侧配置的是私网地址。
在MSR3011(Release 2104P02)的PC侧配置nat static,服务器侧配置nat outbound。现PC侧可以通过服务器映射后的地址182.134.136.80 ping通服务器,也可以telnet到服务器上,但是无法通过此地址对服务器进行web访问。通过分析客户配置信息,在MSR3011两侧接口上关闭快转后,可以访问应用,问题解决。
三、过程分析
从调试信息来看,在快转未关闭的情况下,NAT转换已经生效,两个方向的NAT都已匹配:
*Dec 27 17:35:32:776 2013 R1343-WL-001 NAT/7/debug:
(Ethernet0/0-in :)Pro : TCP
( 182.134.145.68: 2593 - 182.134.136.80: 8002) ------>
( 182.134.145.68: 2593 - 10.16.128.80: 8002)
*Dec 27 17:35:32:776 2013 R1343-WL-001 NAT/7/debug:
(Ethernet0/1.100-out :)Pro : TCP
( 182.134.145.68: 2593 - 10.16.128.80: 8002) ------>
( 192.168.200.1:12288 - 10.16.128.80: 8002)
但事实上,一条数据流经过时,只有第一个报文会走慢转并建立快速转发表项,后续报文会直接走快转表。快转时是看不到nat转换的debug信息的,因此收集的nat debug信息实际上只是第一个报文的慢转流程,后续的报文并未真正进行NAT转换,而是直接根据已经建立的快转表进行转发。
在做单向NAT时,一条快转关联一个NAT表项,这种机制可以有效的提高报文转发效率,提升路由器的业务处理能力。而在做双向NAT时,两个端口都进行NAT转换,在开启快转的情况下,一条快转需要两个NAT表项,一个用来替换源地址,一个用来替换目的地址。我司MSR V5设备一条快转只能关联一个NAT表项,因此一条数据流除了第一个报文走慢转可以顺利进行NAT转换外,后续走快转表的报文都不能够正常转换,导致客户在开启快转配置双向NAT的MSR V5设备上无法正常访问web业务。
四、解决方法
我司MSR V5设备接口上的快转功能默认是开启的,作为这种问题的规避方案,只要在MSR V5设备的两侧端口上关闭快转,双向NAT即可正常生效,客户就可以访问业务了。命令为:
[interface name] undo ip fast-forwarding [ inbound | outbound ]
需要注意的是,关闭接口上的快转功能可能会对客户的业务造成一定影响。快速转发功能是一个提高设备转发效率的功能,在关闭了快转后,经过路由器的每一条报文都需要经过CPU处理,从而导致CPU率利用率上升,加重了CPU的负担,降低了报文转发速度。在客户业务流量较小时,影响不大;在客户业务流量较大时,关闭快转会使得业务处理变慢,CPU长期处于高负荷运转,不利于客户的业务开展和路由器的生命周期,严重时可能导致宕机。因此,在需要使用双向NAT、业务流量又比较大的情况下,建议使用MSR G2产品,MSR G2设备可以很好的支持双向NAT。。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作