核心是将物理网卡“让渡”给网桥br0,IP配在br0上而非原网卡;需依次创建br0、添加bridge-slave、停用原连接、启用br0,并配置IPv4参数后激活,确保eno1无IP而br0持有地址供KVM直连物理网络。

用 nmcli 配置物理网卡桥接模式,核心是把物理网卡“让渡”给网桥,IP 地址配在桥上而非原网卡,这样 KVM 虚拟机才能通过 br0 直连物理网络。操作本身不难,但顺序和依赖关系容易出错。
确认前提与基础准备
确保以下条件已满足:
- NetworkManager 服务正在运行:systemctl is-active NetworkManager,如未启动则执行 systemctl start NetworkManager && systemctl enable NetworkManager
- 已安装 KVM 基础组件(libvirt、qemu-kvm、bridge-utils)
- 物理网卡当前处于受 NetworkManager 管理状态(不是由 /etc/network/interfaces 或 netplan 直接接管)
- 记下物理网卡名(如 eno1、ens33)和当前有线连接名称(用 nmcli con show 查看,常见为 Wired connection 1)
创建网桥并绑定物理网卡
按顺序执行四条命令,缺一不可:
- 新建桥接连接:nmcli con add type bridge ifname br0 con-name br0 autoconnect yes
- 添加物理网卡为桥的从属:nmcli con add type bridge-slave ifname eno1 master br0(将 eno1 替换为你的真实网卡名)
- 关闭原有有线连接(关键!否则 IP 冲突):nmcli con down "Wired connection 1"
- 启用新桥接:nmcli con up br0
配置桥接接口的网络参数
IP 地址、网关、DNS 必须设在 br0 上,原物理网卡不再配置 IP:
- 设置静态地址:nmcli con mod br0 ipv4.addresses 192.168.1.100/24
- 设置网关:nmcli con mod br0 ipv4.gateway 192.168.1.1
- 设置 DNS:nmcli con mod br0 ipv4.dns "8.8.8.8 114.114.114.114"
- 指定手动分配:nmcli con mod br0 ipv4.method manual
- 可选:禁用 STP(适合单交换机环境):nmcli con mod br0 bridge.stp no
修改后需重新激活:nmcli con down br0 && nmcli con up br0
验证与供 KVM 使用
检查是否生效:
- 运行 ip a:应看到 br0 持有 IP,而 eno1 状态为 UP 但无 IPv4 地址
- 运行 nmcli con show:确认 br0 状态为 activated,且 eno1 的连接类型为 bridge-slave
- 宿主机 ping 网关和外网,确保桥接通路正常
在创建或编辑 KVM 虚拟机时,网络选项指定:--network bridge=br0(virsh/virt-install)或在 virt-manager 中选择 “Bridge device: br0”。











