本帖最后由 vsop5207 于 2018-3-13 21:53 编辑 这里分享一个2017年底遇到的一个故障,就是新版本的ISR4331 路由器的NAT 故障,这个故障很奇葩,亦或是我自己水吧,分享出来,如果以后大家有遇到过类似的故障,可以节省很多时间,我记得当时是问了很多的人都没解决,最后找了厂家才解决这个问题,厂家也是搞了几个钟。
1 网络环境 :
拓扑环境还是比较简单的,因为内网的不用特别关心,就是常见的组网方式,出口则是ISR4331 这台路由器,做NAT出公网,做NAT内网服务器映射,做路由使用
2.软件版本:
记得是IOS XE 3.1几
3.故障描述:
安装管理配置好基本配置,然后配置路由,NAT ,要求也很简单 ,本以为可以收拾收拾买个鸡腿走人了,虽知道竟然不能上网............
这就尴尬了,这么简单的配置竟然不能上网,会不会被客户怀疑太菜鸟了,心中有点忧伤啊;
于是乎我就从头到尾重复看了几遍配置,没有错,根据以前1900 2900 3900 的配置,没有问题的;
然后重启了一下,怀着忐忑的心情,还是不能上网...........但是,可以上QQ...... 一段时间排除DNS 问题.............
然后我放大招,恢复出厂配置,重新刷配置................. 升级IOS.................. 然而,客户一脸尴尬的说不能上网....................
这里我就不打出配置了,因为都是基本的配置,然后就是到处求帮助,最后找到思科来支持,找了一段时间总算是找到问题了。
故障原因是IOS XE 新版的NAT 跟原来IOS 的NAT 是不一样的
4.故障原因分析:
Ip nat pool 不能用物理接口WAN口地址,就算不调用都会影响路由器NAT的转发,导致设备无法NAT;
如果非要用,那么需要修改NAT 的ACL------公网IP 也可以配置在outside接口上,需要在NAT 的ACL 前面配置内网网段 deny host outside 接口地址!
ip nat inside sou list xxx int g0/0/1 over 这条命令可以支持
NAT 的ACL 必须用扩展ACL,不能用标准ACL
ACL 不能使用ANY ANY ( 当心使用ACL NAT与
permit ip any any,您能取得不可预知的结果 )
5.一个官方解释好像是这样子的,我也忘记了,如果哪位很熟悉这一块的可以分享一下官方资料:
1. When doing both dynamic and static NAT, the ACL that sets the rule for dynamic NAT should exclude the static local hosts so there is no overlap.
2. Beware of using ACL for NAT with "permit ip any any" as you can get unpredictable results. After 12.4(20)T NAT will translate locally generated hsrp and routing protocol packets if they are sent out the "ouside" interface, as well as locally encrypted packets matching the NAT rule.
提示:
ASR 1000 的XE 几个版本也有这种情况,也是通过修改NAT 的ACL deny内网 访问路由器上面配置的公网IP来解决的,
最后希望大家分享更多的案例,一起学习!