【银河麒麟】virt-manager虚拟机之间网络不通问题

📅 2026/7/1 4:03:09
【银河麒麟】virt-manager虚拟机之间网络不通问题
【概述】在两个银河麒麟V10服务器系统上分别通过virt-manager创建一个V4虚拟机其网络为桥接模式。问题情况为虚拟机能ping通宿主机、网关和另一台服务器但虚拟机之间无法相互ping通且宿主机在ping其中一台虚拟机的同时无法ping通另一台。本文通过tcpdump抓包的方式分别对这两种问题现象进行分析最终定位为两个虚拟机的mac地址冲突导致。【分析过程】现象一虚拟机互 Ping不通1. 操作步骤第一步在虚拟机A(192.168.1.200)上ping 192.168.1.201ping 192.168.1.201第二步在虚拟机B192.168.1.201上抓包tcpdump -i enp3s0 icmp or arp -e -nn /tmp/vm_b_capture.txt2. 抓包日志分析时间点10:52:18.240056附近过程请求虚拟机.200...39询问“谁有 .201”自问自答由于.200错误地认为自己就是.201它立刻回复“.201 在我这MAC: ...39”。死循环当流量真正发给.201时.200收到了包发现自己既是发送方又是接收方导致逻辑混乱无法正确回包。现象直接导致Destination Host Unreachable报错。结论虚拟机mac地址冲突现象二宿主机在ping其中一台虚拟机的同时无法ping通另一台1. 操作步骤第一步宿主机192.168.1.100同时打开三个终端第二步第一个终端负责抓包抓取 ARP 协议看谁在应答和 ICMP 协议看 Ping 包去了哪里tcpdump -i br0 arp or icmp -e -nn /tmp/host_ping_conflict-1.pcap # -i: 指定网桥接口 ( br0) # -e: 显示链路层头信息(关键能看到源MAC和目的MAC) # -n: 不解析域名第三步第二和第三个终端同时分别ping虚拟机A192.168.1.200和虚拟机B192.168.1.2012. 抓包日志分析查看抓包日志cat /tmp/host_ping_conflict-1.txt发现192.168.1.200和192.168.1.201两个虚拟机的mac地址冲突了都为52:54:00:be:7f:39【解决方法】1、查看虚拟机名称、mac地址确认mac地址冲突2、关闭一台虚拟机修改其mac地址即可这里将末位39改为33