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

  • A+
所属分类:mac软件下载
摘要

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

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

一次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

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

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

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

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

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

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

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

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

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

交换上ping192.168.8.200正常

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一次Linux服务器双网卡网络问题的排查过程回溯后来区域同事说平台的eth1网口Eth1 10.11.211.4才是默认网卡,是通过这个网卡映射到公网的,这时大概知道排查方向错了

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

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

这时查看平台的网卡配置

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

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

看到这两个红框后,立马知道原因了,重启平台服务器后,默认网卡一直在调换,所以平台的默认路由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

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: