20250216 -
概述
因实验需求,需要设置KVM下的虚拟机采用桥接模式进行通信,这种方式将使虚拟机与主机类似使用同一网段的IP。实际上,为了实现这个功能,我已经在自己mac上VMware使用过,虚拟机获得了自己独立的IP。
但是问题就处在,我在一台小主机上进行这个实验的时候,KVM并不好使。
ubuntu设置桥接网络
ubuntu下设置桥接网络需要修改网络配置,如文章[1][2]所示;基本上他们的命令都是差不多的。就是修改网络配置文件,设置一个桥接网卡,然后把桥接网卡接到物理网卡上,命令也比较简单易懂。例如其中的一个配置文件:
shell
network:
version: 2
renderer: networkd
ethernets:
enp1s0:
dhcp4: false
dhcp6: false
#addresses: [192.168.1.239/24]
#gateway4: 192.168.1.1
#mtu: 1500
#nameservers:
# addresses: [8.8.8.8]
bridges:
br0:
interfaces: [enp1s0]
addresses: [192.168.1.239/24]
gateway4: 192.168.2.1
mtu: 1500
nameservers:
addresses: [8.8.8.8]
parameters:
stp: true
forward-delay: 4
dhcp4: no
dhcp6: no
但是经过这个修改之后,就导致原有的网络也无法连接了。
之类需要解释的是,我的小主机是有无线网卡的,没有使用有线连接。所以在我的配置文件中 是桥接的无线网卡。
在搜搜中也发现,有些人的教程是利用nm-connections-edit这个可视化界面来操作的。但是经过我的操作,在VNC中不能能实现这个创建操作,都是灰色的,无法编辑(大概率是因为权限的问题)。但是如果直接使用屏幕外接也是可以直接生成的,具体见文章[3],但是选择设备的时候,并不能选择无线网卡这个设备。
无线网卡无法支持
最后也是经过一顿搜搜之后再发现,问题在于ubuntu就不支持无线网卡的操作。见文章[4]。
Warning: Network bridging will not work when the physical network device (e.g., eth1, ath0) used for bridging is a wireless device (e.g., ipw3945), as most wireless device drivers do not support bridging!
所以这个问题 ,确实也没有办法解决。
只能通过其他的方法来实现访问了。如果确实需要访问,可以设置NAT来访问。
参考
[1]Linux虚拟化-Ubuntu22.04之KVM桥接网络
[2]KVM: Creating a bridged network with NetPlan on Ubuntu 18.04 bionic
[4]Ubuntu VM with bridged adapter not connecting to internet