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连接用于将多个网络接口聚合,以提供高可用性和负载均衡。
➡️