昨晚 9 点在回家的地铁上接到一个故障
电话 + QQ 上沟通了解到的信息推断出来的拓扑如下, Linux 服务器 (下面我统一用 "平台" 两字来代替)
调试 PC 172.16.2.249 连接的校园无线 Wi-Fi, 是可以 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 服务加一条静态路由就解决了, 可能自己一开始通过同事给出的信息形成了思维定式, 绘制出拓扑后, 立马就清晰, 问题接着就迎刃而解了
来源: http://server.51cto.com/Net-586845.htm