需配置Bridge桥接使KVM虚拟机与宿主机同局域网并获独立IP,方法包括:一、Netplan声明式配置(推荐桌面版);二、brctl命令行手动创建(适合服务器/调试);三、virt-manager图形界面自动配置(面向虚拟机用户);四、修改libvirt XML实现已有虚拟机桥接迁移。

如果您在统信UOS系统中运行KVM虚拟机,希望虚拟机与宿主机处于同一局域网并拥有独立IP地址,则需配置Bridge(桥接)虚拟网桥。以下是实现该目标的多种可行方法:
一、使用Netplan配置桥接网桥(推荐用于桌面专业版20+)
该方法通过声明式网络配置文件定义桥接接口,支持开机自启且兼容UOS最新版本的网络管理框架。
1、确认物理网卡名称:执行 ip a 命令,识别当前有线网卡(如 enp0s25、eth0 或 ens33),请勿选择无线网卡wlan0或lo回环接口。
2、编辑Netplan配置文件:使用命令 sudo vim /etc/netplan/01-network-manager-all.yaml(若不存在则新建)。
3、写入以下内容(以enp0s25为例,IP地址需与所在局域网网段一致):
network:
version: 2
renderer: NetworkManager
ethernets:
enp0s25:
dhcp4: false
dhcp6: false
bridges:
br0:
interfaces: [enp0s25]
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
parameters:
stp: true
forward-delay: 4
dhcp4: no
4、应用配置:执行 sudo netplan apply,等待几秒后检查 ip a 输出中是否出现 br0 接口及对应IP。
二、使用brctl命令行工具手动创建桥接(适用于服务器版或临时调试)
该方法绕过图形化网络管理器,直接调用bridge-utils工具创建和绑定桥接设备,适合高级用户快速验证桥接功能。
1、安装必要组件:执行 sudo apt install -y bridge-utils uml-utilities。
2、关闭物理网卡原有IP配置:运行 sudo ip addr flush dev enp0s25(将enp0s25替换为实际网卡名)。
3、创建桥接设备:执行 sudo brctl addbr br0。
4、将物理网卡加入桥接:执行 sudo brctl addif br0 enp0s25。
5、为桥接设备分配IP并启用:依次执行 sudo ip addr add 192.168.1.100/24 dev br0 和 sudo ip link set br0 up。
6、启用STP防止环路:执行 sudo brctl stp br0 on。
三、通过virt-manager图形界面自动配置桥接网络(面向KVM虚拟机用户)
该方法无需手动编辑配置文件或输入命令,在创建虚拟机时由virt-manager自动生成桥接网络定义,并注册至libvirt管理域,便于后续统一维护。
1、确保已安装完整KVM环境:执行 sudo apt install -y libvirt-daemon-system libvirt-clients qemu-kvm virt-manager bridge-utils 并重启libvirtd服务。
2、启动virt-manager,点击左上角【编辑】→【连接详情】→【虚拟网络】选项卡。
3、点击左下角【+】号新建虚拟网络,选择【Forwarding to physical network】模式。
4、在【Device name】中填写物理网卡名(如enp0s25),勾选【Enable IPv4 routing】与【Enable IPv6 routing】(按需)。
5、设置桥接名称为 br0,取消勾选【Isolated private network】,点击【完成】。
6、新建虚拟机时,在【网络配置】步骤中选择该新建的桥接网络,而非默认NAT网络。
四、修改libvirt XML定义实现持久化桥接(适用于已有虚拟机迁移场景)
当已有虚拟机需从NAT切换至桥接模式时,可通过直接编辑其libvirt域定义,强制绑定至指定桥接接口,确保重启后配置不丢失。
1、关闭目标虚拟机:在virt-manager中右键虚拟机→【关机】,或执行 sudo virsh shutdown vm-name。
2、导出当前XML定义:执行 sudo virsh dumpxml vm-name > vm-name.xml。
3、编辑XML文件,定位到
4、卸载原定义并重新定义:依次执行 sudo virsh undefine vm-name 与 sudo virsh define vm-name.xml。
5、启动虚拟机并检查其网卡是否获取到与宿主机同网段的IP地址。











