首页/云/云平台与虚拟化速查/用 nmcli 给虚机建网桥
虚拟化操作94 条

用 nmcli 给虚机建网桥

宿主上给虚机提供二层桥接网络时,可用 NetworkManager 建 br0 并把物理网卡作为成员口;远端操作有断连风险,务必先确认带外通道。

云平台与虚拟化速查云更新于 2026-10-13

用 nmcli 建网桥是干什么的

用 NetworkManager 的 nmcli 在宿主机上建网桥,把虚机网卡接入与宿主相同的二层网络,等价于 libvirt 的 bridge 网络模式。做法是新建 bridge 连接(如 br0)、把物理网卡作为 bridge-slave 挂进去,再把原先配在物理网卡上的地址配置迁移到 br0。要特别注意:把正在使用的管理网卡加入网桥会让原 IP 短暂中断。

基本信息

建桥nmcli con add type bridge ifname br0 con-name br0
挂物理口nmcli con add type bridge-slave ifname eth0 master br0
IP 迁移把原 eth0 的地址配置迁移到 br0
检查nmcli con show --active
持久化NetworkManager 自动保存连接配置,重启后生效

典型使用场景

  • 虚机需要与宿主同一网段、由外部 DHCP 分配地址
  • 让虚机能被同网段其他主机直接访问,而不是走 NAT
  • 为容器或虚拟化环境搭建统一的二层出口
  • 替换旧式 bridge 脚本,统一由 NetworkManager 管理
  • 配合 VLAN 子接口承载多网段虚机

建桥并核对

建桥并核对
nmcli con add type bridge ifname br0 con-name br0 stp no
nmcli con add type bridge-slave ifname eth0 master br0
nmcli con up br0                        # 启用网桥,原 eth0 连接会随之切换
nmcli -f NAME,DEVICE,STATE con show --active
ip -br addr show br0                    # 确认 br0 拿到了地址
# libvirt 侧把虚机网卡接到网桥:<interface type='bridge'><source bridge='br0'/></interface>

步骤与风险

步骤命令要点风险
建桥指定 ifname 与连接名命名与既有连接冲突时需要先清理
挂物理口用 bridge-slave 绑定物理网卡把管理网卡挂入会造成瞬时断连
迁移 IP把地址配置从物理口搬到 br0忘记迁移则宿主失去网络
启用nmcli con up br0远程操作时可能直接失去会话
接入虚机虚机网卡指向 br0虚拟交换机侧配置与桥接模式混用导致不通
把管理网卡加入网桥会让原 IP 配置中断,改前确认物理带外或云控制台可用,避免改完直接失联。
网桥上的 STP 会带来数十秒的收敛延迟,点对点或单上行链路场景通常无需开启;跨 VLAN 场景需要按需配置网桥的 VLAN 过滤能力。

操作顺序建议

  • 先确认物理带外管理或云控制台可用,避免改网络后无法回退
  • 提前把 eth0 的地址、网关与 DNS 信息记录下来,便于迁移到 br0
  • 建桥与挂物理口可以在会话中完成,真正切换 IP 的动作放到最后
  • 用 nmcli con up br0 后立刻核对地址与连通性,再测试虚机上网
  • 确认无误后把连接设置为开机自动启用,防止重启后网络未恢复

易错点

  • 忘迁移 IP:把 eth0 挂入桥后宿主失联
  • 远程 SSH 会话中直接改管理网卡,操作中断后无法恢复
  • 只建桥不核对虚机侧接口类型,虚机仍指向 NAT 网络导致不通
  • 开启 STP 后链路收敛变慢,虚机启动时拿不到地址

数据来源与参考

  • NetworkManager nmcli 文档
  • libvirt 文档:桥接网络
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌