KVM 虚拟机通过 Bridge 桥实现主机互通

👌 2020-12-20 kvm 虚拟机通过 bridge 桥实现主机互通

状况

在RedHat7上搭了一台KVM服务器,创建好虚拟机之后发现,外部电脑与KVM服务器、外部机器与VM虚拟机、两台VM虚拟机之间都可以通讯,但是KVM服务器与VM虚拟机却无法通讯。此时外部电脑、KVM服务器、VM虚拟机都关闭了防火墙。

简单一句话就是:虚拟机与宿主机之间无法互访

解决

原理

创建一个网桥,把 虚拟机的虚拟网卡 和 物理机实体网卡 同时放置到这个网桥中

⚠️ 注意:此操作需要在实体机配置,中间会出现网络中断,故不适合远程配置

检察环境

ifconfig

物理网卡eno1、eno2 / 网桥virbr0 / 虚拟网卡macvtap0、macvtap1

brctl show

网桥virbr0,相当于VMware的 VMNET8,提供NAT的网卡,当有虚拟机网卡使用桥接模式并且启动时,使用#brctl show 查看,在virbr0会有的interfaces下会出现网卡vnetX。

创建新网桥

virsh iface-bridge eno1 br0

创建网桥,并把eno1,虚拟机的网卡接入网桥「此时物理网卡已经是此网桥的一个成员了」

修改虚拟机的网卡配置

  • 关闭虚拟机
  • 删除已有网卡
  • 创建新的网卡连接,使用 桥接模式 桥接到方才创建的网卡「修改完成后启动虚拟机,发现虚拟机的网卡也加入了br0,此时虚拟机的网卡名由macvtapX变成了vnetX。」

参考资料

https://blog.51cto.com/cubix/1736750