删除一个 openvswitch 网桥上的端口会导致另一个网桥上的 MAC 地址发生变化

删除一个 openvswitch 网桥上的端口会导致另一个网桥上的 MAC 地址发生变化

我正在尝试在名为 的 openvswitch 网桥上设置显式 MAC 地址br-ex。我正在运行 Fedora 20 并使用本机 ifdown/ifup命令来配置网桥(我的网络配置文件的详细信息位于此问题的底部)。

br-ex通过运行重新创建后ifdown br-exifup eth0我的 OVS 配置如下所示:

# ovs-vsctl show
1ab8ae7e-e9da-4af9-9226-03b54f5d2544
    Bridge br-int
        Port br-int
            Interface br-int
                type: internal
        Port int-br-ex
            Interface int-br-ex
        Port "tapa1747c68-d3"
            tag: 1
            Interface "tapa1747c68-d3"
                type: internal
    Bridge br-ex
        Port "eth0"
            Interface "eth0"
        Port br-ex
            Interface br-ex
                type: internal
    ovs_version: "2.0.1"

记下 MAC 地址br-ex

# ip link show dev br-ex
80: br-ex: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default 
    link/ether fa:16:3e:ef:91:ec brd ff:ff:ff:ff:ff:ff

int-br-ex现在从中删除端口br-int不再以任何方式连接到br-ex

# ovs-vsctl --if-exists del-port br-int int-br-ex

请注意, MAC 地址br-ex已经改变:

# ip link show dev br-ex
80: br-ex: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default 
    link/ether f2:2a:d3:bf:3c:47 brd ff:ff:ff:ff:ff:ff

刚刚发生了什么?

网络配置

我有/etc/sysconfig/network-scripts

# cat ifcfg-br-ex
DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
ONBOOT=yes
OVSBOOTPROTO=dhcp
OVSDHCPINTERFACES=eth0
MACADDR=fa:16:3e:ef:91:ec

# cat ifcfg-eth0
DEVICE="eth0"
ONBOOT="yes"
BOOTPROTO=none
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex

这是怎么回事?为什么 MAC 地址会br-ex改变?我该如何让它保留下来?

答案1

似乎无法使用该ip set link命令在 OVS 网桥上设置持久 MAC 地址。相反,您需要通过以下方式设置ovs-vsctl

ovs-vsctl set bridge br-ex other-config:hwaddr=$MACADDR

如果您使用的是 RHEL/CentOS/Fedora,则可以通过在接口配置文件中设置以下内容来实现此目的:

OVS_EXTRA="set bridge br-ex other-config:hwaddr=$MACADDR"

相关内容