Linux interface Vlan 和 Bond 配置错误问题排查

💡 原文中文,约6500字,阅读约需16分钟。
📝

内容提要

一台Linux服务器无法ping通192.168.1.253,经过排查发现是由于多余的eth0.1000虚拟接口导致ARP请求未能正确发送。删除该接口后,网络恢复正常。

🎯

关键要点

  • 一台Linux服务器无法ping通192.168.1.253,能ping通192.168.1.252和192.168.1.254。
  • 服务器通过bond连接两台交换机,使用VRRP协议提供高可用网关IP。
  • 初步判断是交换机问题,但ping显示Destination Host Unreachable,说明包未发出。
  • 检查iptables确认没有DROP规则,接着检查ARP,发现ARP缓存为<incomplete>。
  • 使用arping验证ARP请求未能得到回复,确认ping失败原因是无法发送ICMP请求。
  • 检查bond0接口的ARP发送和接收,发现只有发出的包,没有收到的包。
  • 怀疑bond driver或配置问题,进一步检查物理接口eth0,发现其收到ARP回复。
  • eth0.1000虚拟接口的存在导致ARP请求未能正确处理,造成网络问题。
  • 删除多余的eth0.1000虚拟接口后,网络恢复正常。
  • 服务器在交付时存在配置问题,未删除eth0.1000导致非预期行为。

延伸问答

为什么Linux服务器无法ping通192.168.1.253?

因为存在多余的eth0.1000虚拟接口,导致ARP请求未能正确发送。

如何确认ARP请求未能发送的原因?

通过检查ARP缓存发现结果为<incomplete>,并使用arping验证未收到回复。

eth0.1000虚拟接口对网络有什么影响?

eth0.1000的存在导致ARP请求未能正确处理,影响了网络通信。

如何解决Linux服务器的网络问题?

删除多余的eth0.1000虚拟接口后,网络恢复正常。

在排查网络问题时,应该先检查哪些内容?

应先检查ARP协议,然后再检查iptables和其他网络配置。

bond连接的作用是什么?

bond连接用于将多个网络接口聚合,以提供高可用性和负载均衡。

➡️

继续阅读