本帖最后由 lele 于 2022-8-3 19:32 编辑
openEuler 22.03 KVM虚拟机桥接联网
最近需要将一个系统移植到欧拉上运行,实现思路就是在欧拉上搭建KVM平台,再在KVM上运行我们的系统,让电脑主机(Windows)可以访问该系统。其间遇到过一些问题,但是觉得最麻烦的就是网络的配置,目标是让电脑主机可以与在KVM上运行的虚拟机互通,在查找了很多相关的资料(包括欧拉系统官网上的网络配置教程)以及进行相应的尝试之后发现依然实现不了,后来经过不断的总结及尝试,终于找到了一种简洁又可以实现的方式。
最终的解决方法非常简单,在 /etc/sysconfig/network-scripts 目录下分别创建两个名为 ifcfg-br0 以及 ifcfg-ens32 的文件(因为我的网卡名是ens32,所以取名ifcfg-ens32,大家可以根据自己设备上网卡名来定),ifcfg-br0文件内容如下所示:
TYPE=Bridge
NAME=br0 //网桥名,可自定义
DEVICE=br0
ONBOOT="yes"
BOOTPROTO=static
IPADDR=172.20.10.3 //自定义
GATEWAY=172.20.10.1 //自定义
NETMASK=255.255.255.240 //自定义
DNS1=8.8.8.8
DNS2=114.114.114.114
ifcfg-ens32文件内容如下所示:
DEVICE="ens32" //本机网卡名,根据实际网卡名而定
ONBOOT="yes"
BRIDGE=br0 //网桥名,把ens32这个网卡和br0网桥绑定
完成后,重启一下 libvirtd 和 NetworkManager 服务,命令如下:
systemctl restart libvirtd
systemctl restart NetworkManager
然后,请注意此时配置还没有真正生效,请务必重启一下欧拉系统(reboot)。
重启完成后,在命令行输入 brctl show 命令,可以看到我们的网卡 ens32 已经与网桥 br0 绑定了,此时欧拉系统与外网是已经连通的,在命令行执行 ping www.baidu.com 看到可以ping通百度了。
如果你发现ping不通,请检查一下你的 VMware Workstation 虚拟网络编辑器选项,是否选择了桥接模式,以及桥接的网卡是否是连接互联网的网卡。
现在我们就需要在KVM上配置网络了,打开 Virtual Machine Manager,因为我的虚拟机已经搭建好了,在搭建过程中也存在一些其它的问题,但根据提示很好解决,我主要说一下网络的配置。在配置栏选项中,点击 NIC 选项:
选中 Bridge br0:Host device ens32,即我们配置的 br0 网桥,如果没有这一项表明配置没有生效,请检查是否执行了 systemctl restart libvirtd 命令以及是否重启了欧拉。
Device model 是和 VMware Workstation 创建欧拉系统时的网卡类型一致,如果进入到系统中发现没有网卡,很可能是这里的网卡类型选错了,重新选择即可,MAC address 不用改,使用随机分配的即可,我当时就是因为把这个MAC address 改成和 br0 的 MAC地址一样的,导致KVM虚拟机ping 不通欧拉。
接下来运行 KVM上的虚拟机,并配置网络,即IP地址、子网掩码以及网关,保证和欧拉系统以及我们的主机(Windows)在一个网段即可,此时在欧拉系统命令行输入 brctl show 命令可以看到 vnet0 也已经和 br0 绑定了,这个vnet0 也就是 KVM 虚拟机的虚拟网卡。
完成上述操作后,主机(Windows)和欧拉系统以及欧拉上运行的KVM虚拟机三者都是互通的,以供大家参考。
|