一次Linux服务器双网卡网络问题的排查过程回溯

    摘要

    我用手机fing工具扫描端口都通的到家后通过SecureCRT连接平台… 发现是从S8506E核心的G1/5接口学习到的mac表项后,LLDP协议…

     一次Linux服务器双网卡网络问题的排查过程回溯

    图片来自视觉中国

    昨晚9点在回家的地铁上接到一个故障

    电话+QQ上沟通了解到的信息推断出来的拓扑如下,Linux服务器(下面我统一用“平台”两字来代替)

    调试PC  172.16.2.249 连接的校园无线WiFi,是可以ping通平台的网卡eth0地址192.168.8.200 但区域同事电话/QQ报了一个故障,出现一个很奇怪的现象:

    1、  平台重启后调试PC就ping不通平台192.168.8.200地址了,ping192.168.8.X段的其他IP(除了平台192.168.8.200)也是可以ping通的

    2、  将192.168.8.200这个IP配到调试PC上,将接平台eth0的网线接到调试PC上,接入校园无线的其他PC也可以ping通192.168.8.200调试PC

    由于当时我这边无法远程,QQ上要区域同事使用ifdown eth0,然后ifup eth0,这样重启网卡,发现调试PC又可以ping通平台192.168.8.200了

    但是区域重启平台后发现问题复现了 这中间有要区域同事排查是否存在与192.168.8.200 IP地址冲突的情况,以及ARP表等操作,问题未解决

    在地铁上区域同事说平台有映射到公网,我用手机fing工具扫描端口都通的

    到家后通过SecureCRT连接平台公网IP,登录后台,同时Teamviewer远程到现场内网环境

    远程过去由于当时发现调试PC只连了校园无线,未插内网网线到有线网卡

    调试PC是可以上外网 ping ,以为平台也是通过192.168.8.200这张网卡上的外网,排查的思路就觉是内网这块核心交换机出了问题

    Telnet到核心交换机上查看配置 show run ,show ip int brief  , show  ip  route,一顿操作猛如虎

    交换上ping192.168.8.200正常

    各种调试都未找到问题原因,开始慢慢查

    1、在交换机上查看192.168.8.200的arp表项找到192.168.8.200这个地址的MAC地址

    2、通过mac地址去找这个地址的MAC地址是从哪个接口获取的

    3、  发现是从S8506E核心的G1/5接口学习到的mac表项后,LLDP协议去发现有没有邻居交换机

    可以发现核心S8506E连的是一台S5750C汇聚交换机的G0/6接口

    这台交换机的管理地址是172.31.10.200

    SecureCRT Telnet 172.31.10.200到这台汇聚交换机上,查mac地址表,可以查到平台192.168.8.200接的这台交换机的G0/5接口

    G0/5接口划到VLAN 50里了,然后shutdown接口,立马ping不通192.168.8.200了,就能确定平台是接的这个G0/5接口

    同样的方式去找调试PC所接的交换机,发现调试PC上面是一台无线控制器WS6008

    后来区域同事说平台的eth1网口Eth1 10.11.211.4才是默认网卡,是通过这个网卡映射到公网的,这时大概知道排查方向错了

    根据上面的诊断与排查,以及交换机上的配置,绘制出平台大致的拓扑架构如下

    这时查看平台的网卡配置

    看到这两个红框后,立马知道原因了,重启平台服务器后,默认网卡一直在调换,所以平台的默认路由0.0.0.0是走eth0 (192.168.8.200)这张网卡时,调试PC 172.16.2.249就可以ping通192.168.8.200

    而当平台的默认路由0.0.0.0是走eth1 (10.11.211.4)这张网卡时,调试PC172.16.2.249就ping不通192.168.8.200,因为平台默认路由走的eth1网卡,没有指定去往172.16.X.X段走eth0这张网卡

     

    解决办法和步骤

    1、  vi /etc/sysconfig/network-scripts/ifcfg-eth0

    删除eth0网卡配置中的DEFROUTE=yes字段,保证eth1是默认网卡

    2、  添加一条静态路由去往172.16.X.X段走eth0这张网卡

       route add -net 172.16.0.0netmask 255.255.248.0 gw 192.168.8.1

       并加到启动脚本中,保证开机能自启动

    3、  reboot重启验证问题是否解决

    4、  查看路由表就知道问题OK了 ping一下7段的地址172.16.7.254验证

    其实问题很简单,Linux服务加一条静态路由就解决了,可能自己一开始通过同事给出的信息形成了思维定式,绘制出拓扑后,立马就清晰,问题接着就迎刃而解了

    avatar
    • 本文由 发表于 2018年12月20日
    Mac 软件推荐(续)之程序猿篇 mac软件下载

    Mac 软件推荐(续)之程序猿篇

    在前面一篇文章“Mac 软件推荐(续) -- !程序猿篇” (文章取名装X失败, 悲伤)中, 我已经介绍了一些大众化的软件, 当然作为程序猿的你也应该参考参考(没看过前文的必须补上啊).本篇文章将介绍...
    匿名

    发表评论

    匿名网友 填写信息