Openstack记一次与网络节点失联的问题分析

团队已经搭建过几次openstack后,决定分组搭建环境,并将network节点独立出来。

安装完成后,发现ssh远程连接不上,通过VNC发现机器是正常的。

经过多次测试,开机后ssh连接正常,但等Linux bridge启动后就连接断开,后经分析,发现新建的拥有ip的网桥的mac地址与物理网卡的mac地址不一致,试着指定网桥的mac为网卡的mac,ssh连接恢复。

# ifconfig brqfd64f5fd-a5 hw ether fa:16:3e:90:ee:b0

后面团队内分析由于ip与mac映射改变了,导致无法通信,一度认为这是openstack的bug。

后面查看了几个环境的网络信息,发现网桥与物理网卡的mac不一定相同,但本身网络都是没有问题的。分析与网络节点失联,原因可能做了类似ip与mac绑定的策略,ip与mac映射关系改变后就无法通信。

相同:

不同:

但为什么bridge的mac地址有时与物理网卡一致,有时不一致,引起了注意。

后在网上查找相关的资料,发现linux 的网桥mac是按如下规则变化:
bridge的MAC地址会根据bridge中port的变化,自动选择port中最小的一个MAC地址作为bridge的MAC地址。可以通过hw ether制定bridge的mac地址为port中的一个。

因此,做了如下测试:

1、新建BRIDGE和3个TAP设备

brctl addbr br0
ip tuntap add "tap1" mode tap
ip link set "tap1" address 00:50:56:a4:41:b6	
ip tuntap add "tap2" mode tap
ip link set "tap2" address 00:50:56:a4:41:b5
ip tuntap add "tap3" mode tap
ip link set "tap3" address 00:50:56:a4:41:b7
# ifconfig br0
br0: flags=4098<BROADCAST,MULTICAST>  mtu 1450
        ether 00:00:00:00:00:00  txqueuelen 0  (Ethernet)

2、添加mac居中的tap设备

# brctl addif br0 tap1
# ifconfig br0
br0: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 00:50:56:a4:41:b6  txqueuelen 0  (Ethernet)

3、添加mac最小的tap设备

# brctl addif br0 tap2
# ifconfig br0
br0: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 00:50:56:a4:41:b5  txqueuelen 0  (Ethernet)

4、添加mac最大的tap设备

# brctl addif br0 tap3
# ifconfig br0
br0: flags=4098<BROADCAST,MULTICAST>  mtu 1450
        ether 00:50:56:a4:41:b5  txqueuelen 0  (Ethernet)

5、删除mac最小的tap设备

# brctl delif br0 tap2
# ifconfig br0
br0: flags=4098<BROADCAST,MULTICAST>  mtu 1450
        ether 00:50:56:a4:41:b6  txqueuelen 0  (Ethernet)

通过如上步骤证实,bridge自动选择port中最小的一个MAC地址作为bridge的MAC地址。

转载于:https://my.oschina.net/sannychan/blog/845673

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值