You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Fedora Server 40中使用nmcli配置带VLAN的OVS绑定接口遇到的问题

在Fedora Server 40中使用nmcli配置带VLAN的OVS绑定接口遇到的问题

嘿,我看你在Fedora Server 40上用nmcli配置带VLAN的OVS绑定接口时碰了壁——之前直接用ovs-vsctl一直顺风顺水,换NetworkManager的nmcli操作就出了状况,我来帮你捋捋问题出在哪,再给你一套能跑通的配置流程。

先理清楚你目前的状态:你已经用nmcli建好了team绑定team0,验证过它状态正常、有流量,但把它加到OVS网桥sw0并配置VLAN后,ovs-vsctl show显示OVS是空配置,明显是配置环节出了衔接问题。

问题根源分析

  1. 连接命名与关联不匹配:你在把team0加到OVS网桥时,系统自动生成的连接名(比如ovs-slave-team0)你直接拿来用,但可能存在命名识别或者关联绑定不到位的情况
  2. OVS端口配置顺序错了:VLAN属性得正确绑定到OVS端口上,而且得等端口和网桥关联完成后再配置
  3. 部分命令不完整:你最后输入的nmcli connection add type ovs-port conne...明显没写完,这也会导致配置断档

修正后的完整配置流程

我给你一套 step by step 的可执行流程,每一步都给你标清楚:

1. 先确保OVS服务正常运行

先检查下OVS的核心服务有没有启动,没启动的话先拉起来:

systemctl start ovsdb-server ovs-vswitchd
systemctl enable ovsdb-server ovs-vswitchd

2. 创建OVS网桥sw0

这里给连接指定一个明确的名字,避免系统自动命名混乱:

nmcli connection add type ovs-bridge connection.interface-name sw0 con-name ovs-br-sw0

3. 配置Team绑定接口team0

# 创建team主连接
nmcli connection add type team connection.interface-name team0 con-name team0
# 把物理网卡eno1、eno2加到team里
nmcli connection add type ethernet con-name team0-eno1 ifname eno1 master team0
nmcli connection add type ethernet con-name team0-eno2 ifname eno2 master team0
# 配置LACP模式,你之前用的`team.runner-active no`是被动模式,这里也保持和你一致
nmcli connection modify team0 team.runner lacp team.runner.active no
# 激活team连接,让它跑起来
nmcli connection up team0

这时候你可以用teamdctl team0 state验证下team状态,确认它正常运行,再用tcpdump -i team0看看流量是否正常。

4. 将team0作为OVS端口加入sw0并配置VLAN

# 创建OVS端口,把team0绑定到sw0网桥,这里指定明确的连接名`ovs-port-team0`
nmcli connection add type ovs-port connection.interface team0 master sw0 con-name ovs-port-team0
# 配置VLAN模式为native-untagged,指定VLAN Tag为22
nmcli connection modify ovs-port-team0 ovs-port.vlan-mode native-untagged ovs-port.tag 22
# 激活这个OVS端口连接
nmcli connection up ovs-port-team0

5. 验证最终配置

  • 用ovs-vsctl show查看OVS配置,你应该能看到sw0网桥下面挂着team0端口,并且VLAN模式和Tag都正确配置
  • 用nmcli connection show检查所有相关连接的状态,确保ovs-br-sw0、team0、ovs-port-team0都是激活状态
  • 再用tcpdump抓包验证VLAN流量是否正常转发

额外排查小技巧

如果ovs-vsctl show还是空的,先检查这几点:

  • 确认NetworkManager处于运行状态:nmcli general status
  • 检查OVS相关的NetworkManager插件是否安装:rpm -q NetworkManager-ovs,没装的话用dnf install NetworkManager-ovs补上
  • 有时候需要重启NetworkManager让配置生效:systemctl restart NetworkManager

备注:内容来源于stack exchange,提问作者kab00m

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 15:08:10