设为首页 收藏本站
查看: 1490|回复: 0

[经验分享] 华为:NE40出口对端路由器ARP不正确导致NAT

[复制链接]

尚未签到

发表于 2018-7-27 08:52:10 | 显示全部楼层 |阅读模式
  组网描述:
  内部局域网,用一个路由器百兆以太口做出口,由于对端过来是光纤,所以先连到光纤收发器,再以以太网线连到路由器,对端也是如此。用户网络内网使用私网地址段192.168.0.0/16,分配的公网地址为段x.x.x.0/28,其中路由器外网口地址为x.x.x.1/28地址,出口对端路由器地址为x.x.x.2/28。内部用户通过出口路由器做NAT转换为地址x.x.x.3-10后访问internet,同时内网有服务器需要对外提供www服务,对这台服务器做NAT SERVER,公网地址为x.x.x.11,私网地址为192.168.1.1。原先用户使用某厂家设备,一直使用正常,但随着内部用户数量增加,原设备性能无法满足要求,所以更换为我司NE40路由器。
  现在根据用户要求和原先设备配置,把NE40配置好后,替换了原路由器,发现内部用户访问internet都能正常访问,但外网用户无法访问WWW服务器。
  过程分析:
  针对此问题,首先想到内网或内网服务器是否正常。
  因无法登陆服务器,于是在NE40上ping服务器,可以正常通,服务器没有down;在内网找了一台PC来访问服务器www服务,也可以正常访问,证明服务器的服务都正常起来了;无法检查服务器的网络设置,但想到服务器原先使用正常,配置没有更改过,网络结构也没有发生改变,所以服务器的网络设置应该是没有问题的。
  会不会是外网网络问题呢?
  从外网的一台PC ping NE40外网口地址,也可以正常ping通;NE40 ping此公网PC,也正常。证明外网通信没问题
  或者是NE40问题?
  于是检查NE40配置,初步觉得没有问题,为确保起见,再在实验室按照同样的配置来进行验证,在这个结构和配置下,也没有问题,内部用户可以正常做NAT访问外网,外网用户也可以访问WWW服务器。
  现在我们证明内网通信没问题,外网通信没问题,NE40也没问题。
  此时问题定位停滞不前。
  没有办法,继续测试,再把NE40切换会原先使用的路由器,发现一切又都正常了;切换回NE40,访问服务器还是不行。从这一个角度来看,似乎又是NE40的问题。
  再用公网PC来tracert x.x.x.11,这时发现到了某一个地址后就不通了,tracert x.x.x.1则没问题。针对这个情况,在公网PC访问服务器WWW服务,分别在NE40内网口和外网口处抓包,发现外网口可以抓到到地址x.x.x.11的WWW数据包,而内网口则没有到192.168.1.1的WWW数据包,从这里感觉是数据包发送到了NE40,但NE40没有转发。换回原路由器,还是没有问题,似乎真的是NE40的问题了。但实验室验证过完全一样的配置,也使用完全一样的版本,却是正常。
  会不会是这个公网地址有问题,尝试使用一个新的公网地址x.x.x.12,发现就真的正常了,切换回原地址,还是不行。此时找到了规避方法,但还没有搞清楚问题原因,更没有彻底解决问题。
  根据公网PC tracert x.x.x.11不通,而tracert x.x.x.1正常的情况,再仔细想一下数据包的转发流程:数据包到了一个三层网络设备后,需要知道三层路由,还需要知道二层MAC地址,数据包发到了NE40,说明这些信息对端设备都知道,那么NE40收到数据包后会怎么处理呢?配置没有问题,目标IP地址没有问题,会不会是二层MAC地址的问题,再去查看原先抓的数据包,发现目标MAC地址并不是NE40的,而是另外一个MAC!!!这时我们找到了数据包发送到了NE40,却没有被转发的原因,这是关键。
  从上面知道,对端路由器封装x.x.x.11这个IP的MAC地址时有误,肯定是他的ARP表项不正确导致。好,现在的问题是如何让对端学到x.x.x.11地址的正确的MAC地址:由于对端设备是通过光纤收发器连接,也无法登陆到设备上shutdown接口或reset arp等,那么只能从我们这边主动去让它更新,比如免费ARP等。于是办法出来:把NE40外网口地址改为x.x.x.11/28,再ping对端x.x.x.2,开始不通,后通了,那么此时对端路由器对x.x.x.11地址的ARP就变为我NE40的接口MAC地址了,即为我们所希望的。再改回原先配置,测试,问题解决。
  解决方法:
  用户原先使用的是另一台路由器做出口,而服务器的公网地址也是x.x.x.11,那么原先正常使用的时候,出口对端路由器肯定有x.x.x.11的ARP,而且MAC地址是原路由器的MAC,在更换为NE40时,由于线路上存在光纤收发器,对端路由器的对应接口就不会down,ARP也不会主动消失。而NE40,用x.x.x.11地址做为NAT SERVER地址,也不会主动发免费ARP 报文的,所以这就导致对端ARP一直没有更新(一般ARP老化时间需要两个小时),这时候NE40放上去测试,就出现了对端ARP不正确的问题。我们再来确认一下,检查当时在公网无法访问服务器时,NE40外网口抓的包,目标MAC地址,发现确实就是原先路由器的MAC地址,这也证明了我们的判断。
  这类问题出现最多的情况就是上面这个情况,符合这样几个特征:
  NAT SERVER的公网地址原先被使用,使对端有这个地址对应的其他ARP;
  出口路由器配置的是NAT SERVER,这时不会主动发免费ARP;
  对端设备是通过光纤收发器连接,接口也不会down,ARP不会自动消失;
  这个时候对这个问题的最简单的解决办法:即是主动更新对端设备的ARP:配置NAT SERVER地址为接口地址,ping对端通。再改回原先的配置即可。
  当然,NAT不通也不一定就是ARP问题引起,确认这个问题的最简单的方法:就是抓包查看目标MAC地址是否正确,如果MAC地址不正确,用上面的方法即可恢复过来。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-541864-1-1.html 上篇帖子: 华为ensp大型企业网络架构速成1 下篇帖子: 关于华为交换机quideway s5700的vlan的一些配置命令
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表