在linux上用nmcli配置带vlan子接口的桥接网络需三步:先创建vlan接口(如eno1.100),再创建网桥(br-vlan),最后将vlan接口作为从属设备加入网桥;全程由networkmanager管理,避免手动操作内核接口引发冲突。

在 Linux 上用 nmcli 配置带 VLAN 子接口的桥接网络,核心是三步:先建 VLAN 接口,再建网桥,最后把 VLAN 接口作为从属设备加进网桥。整个过程由 NetworkManager 管理,不直接操作内核接口,避免手动配置冲突。
创建 VLAN 子接口
假设物理网卡是 eno1,要划分 VLAN ID 100 的子接口:
- 运行:
nmcli con add type vlan ifname eno1.100 dev eno1 id 100 - 这会自动生成一个名为
eno1.100的连接配置,但默认未激活 - 如需指定 IP(例如用于管理或虚拟机通信),可追加:
ip4 192.168.100.10/24 gw4 192.168.100.1
创建网桥主接口(br-vlan)
网桥本身不承载 IP,只作转发中枢,适合对接虚拟机或容器:
- 执行:
nmcli con add type bridge ifname br-vlan - 建议禁用 STP(除非跨交换机多路径):
nmcli con modify br-vlan bridge.stp no - 若需该网桥参与路由或管理,后续可单独为
br-vlan分配 IP;一般情况下保持无 IP 更安全
将 VLAN 接口挂载为网桥从属设备
关键一步:把 eno1.100 加入 br-vlan,不是把物理口 eno1 加进去:
- 命令:
nmcli con add type bridge-slave ifname eno1.100 master br-vlan - 此时 NetworkManager 会自动禁用原
eno1.100连接的 IPv4/IPv6 地址,防止地址冲突 - 确认绑定成功:
nmcli -f NAME,UUID,DEVICE,MASTER con show | grep -E "(eno1\.100|br-vlan)"
启用并验证桥接通路
顺序不能错:先 up VLAN 连接,再 up 网桥连接:
nmcli con up "eno1.100"nmcli con up "br-vlan"- 检查状态:
ip link show br-vlan应显示UP;bridge link show br-vlan应列出eno1.100 - 虚拟机若使用
br-vlan作为网络后端,即可获得 VLAN 100 隔离的二层通信能力











