kvm虚拟机间通信,在不影响宿主机通信或者各个虚机间通信互不影响的情况下。

各个虚拟机网卡可以使用virtio驱动,使用宿主机的虚拟网桥进行通信。

1、首先使用brctl show查看宿主机网桥使用情况。

kvm虚拟机之间通讯_虚拟化

virbr0为宿主机默认创建的网桥,vnet0-vnet*均为虚拟接口(定义不一定准确),为虚拟机所用虚拟网卡对应在宿主机的接口。

2、创建新网桥manage,使用命令brctl addbr manage

创建之后激活网桥使用命令ip net start manage

再一次使用brctl show查看宿主机网桥使用情况。可发现多出网桥manage

kvm虚拟机之间通讯_虚拟化_02

3、找到虚拟机对应宿主机的vnet,并将vnet从默认桥virbr0上删除,添加到manage桥上。

在实例内使用ip a,确定虚拟机的mac地址

kvm虚拟机之间通讯_虚拟化_03

在宿主机使用ip a,找到前两位不同,后几位相同mac地址

kvm虚拟机之间通讯_brctl_04

将vnet5从virbr0上删除,命令:brctl delif virbr0 vnet5

将vnet5添加到新建的manage网桥上,命令:brctl addif manage vnet5

重复3步骤,将第二个实例的网卡也添加到mangage网桥上。

4、在两台虚拟机中,设置同网段网址即可互相ping通。