我试图在名为br-ex的openvswitch网桥上设置一个明确的MAC地址。 我正在运行Fedora 20,并使用本地ifdown / ifup命令来configuration网桥(我的networkingconfiguration文件的详细信息在这个问题的底部)。
通过运行ifdown br-ex和ifup eth0重新创buildbr-ex后,我的OVSconfiguration如下所示:
# 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"
请注意br-ex上的MAC地址:
# 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
现在从br-int删除port int-br-ex , 它不再以任何方式连接到br-ex :
# ovs-vsctl --if-exists del-port br-int int-br-ex
并注意br-ex上的MAC地址已经改变:
# 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
这里发生了什么? 为什么br-ex上的MAC地址改变? 我如何让它坚持下去?
看起来使用ip set link命令无法在OVS网桥上设置永久MAC地址。 相反,您需要通过ovs-vsctl进行设置:
ovs-vsctl set bridge br-ex other-config:hwaddr=$MACADDR
如果你使用的是RHEL / CentOS / Fedora,你可以通过在你的界面configuration文件中设置以下内容来完成:
OVS_EXTRA="set bridge br-ex other-config:hwaddr=$MACADDR"