交换机 MAC 表中的 MAC 地址不正确

网络工程 MAC地址 华为
2022-02-18 19:13:30

我正在尝试为远程数据中心的 VMWare 集群绘制接线图。我通常会检查 VMWare VSphere 客户端 ( vmnic[x]) 中的 MAC 地址和/或使用esxcliESXi 主机上的 SSH 来执行此操作。

然后,我将登录交换机并查看 MAC 表,以查看从哪个端口获知 MAC 地址并从那里开始。

华为 CloudEngine 6800 系列交换机有一个奇怪的问题,即 MAC 表 ( display mac-addresses | include xxxx-xxxx-xxxx) 中报告的 MAC 地址在最后一位关闭。

例如,vmnic0 是 Broadcom QLogic 57800 2x10GbE + 2x1GbE 四路适配器上的一个端口,报告为xx:xx:xx:xx:xx:b5. 过滤xxxx-xxxx-xxb5产生的零会导致过滤选项。但是,有一个xxxx-xxxx-xxb6.

我又检查了几个 NIC,似乎只有 Broadcom QLogic 57800(和 57810)是唯一存在不一致的 10GbE 和 1GbE:就好像 MAC 都关闭了一点(c0显示c1为开关c2c3)。

现在我有点生疏了,但我知道融合接口可以“切分”成子接口,这些子接口会有不同的 MAC 地址,但在 ESXi 的“堆栈”中也可以表示得更高,所以大概源 MAC 被正确解析出帧。

只是不确定这是“UX”问题(display mac-addresses命令/开关有错误)还是可能是驱动程序/不兼容问题,或者我在这里遗漏了一些东西。

命令输出:

vmnic02是唯一“正确”报告的 MAC 地址。我想你可以假设这b5是华为的想法b6b7也是华为的想法b8,但我没有解释为什么。

据我所知,卡是这样的,通过 PCI 插槽(四卡,不是双卡) http://accessories.euro.dell.com/sna/productdetail.aspx?c=ie&l=en&s=dhs&cs=iedhs1&sku=540 -bbfh#概述

Name    PCI Device    Driver  Admin Status  Link Status  Speed  Duplex  MAC Address         MTU  Description
------  ------------  ------  ------------  -----------  -----  ------  -----------------  ----  -------------------------------------------------------------
vmnic0  0000:01:00.0  bnx2x   Up            Up           10000  Full    11:22:33:44:55:b5  1500  Broadcom Corporation QLogic 57800 10 Gigabit Ethernet Adapter
vmnic1  0000:01:00.1  bnx2x   Up            Up           10000  Full    11:22:33:44:55:b7  1500  Broadcom Corporation QLogic 57800 10 Gigabit Ethernet Adapter
vmnic2  0000:01:00.2  bnx2x   Up            Up            1000  Full    11:22:33:44:55:b9 1500  Broadcom Corporation QLogic 57800 1 Gigabit Ethernet Adapter
vmnic3  0000:01:00.3  bnx2x   Up            Up            1000  Full    11:22:33:44:55:bb  1500  Broadcom Corporation QLogic 57800 1 Gigabit Ethernet Adapter
vmnic4  0000:83:00.0  bnx2x   Up            Up           10000  Full    aa:bb:cc:dd:ee:20  1500  Broadcom Corporation QLogic 57810 10 Gigabit Ethernet Adapter
vmnic5  0000:83:00.1  bnx2x   Up            Up           10000  Full    aa:bb:cc:dd:ee:22  1500  Broadcom Corporation QLogic 57810 10 Gigabit Ethernet Adapter


display mac-address | include 1122-3344-55
---- Flags: * - Backup
-------------------------------------------------------------------------------
MAC Address    VLAN/VSI                          Learned-From        Type
-------------------------------------------------------------------------------
1122-3344-55b6 15/-                               10GE1/0/1           dynamic
1122-3344-55b8 16/-                               10GE2/0/1           dynamic
1122-3344-55b9 19/-                               10GE2/0/9           dynamic
-------------------------------------------------------------------------------

编辑 2017/06/28:

检查主机上的 iDRAC,在标准模式下配置了两个 10GbE 端口,并且在适配器和 ESXi 中未启用 iSCSI(端口组已禁用 iSCSI 绑定)所以我不认为是“泄漏”iSCSI 帧的情况:如果它是,您可能会看到一个额外的MAC 地址,而不是一个不正确的 MAC 地址,因为总 MAC 计数尽管逐渐减少,但仍然是正确的。

我注意到的一件事是 ESXi vSphere Win32 客户端将其视为主机 > 配置 > 网络适配器下的两个双适配器。

检查驱动程序,似乎没问题,所以仍然认为这是华为问题。认为下一步是进行数据包捕获和/或致电华为支持。

3个回答

重读您的问题,我很确定原因是什么:它是双网卡,而您刚刚提到了一个 MAC。双网卡或四网卡通常(总是?)具有连续的 MAC 地址(*),而 xxxb6 只是第二个端口。

根据您的 vSwitch NIC 组合/负载平衡设置,第一个端口可能未使用 - 因此它在上游交换机中不可见。打开 vSwitch 并检查管理网络 NIC 设置:它显示主机的网络连接使用的 MAC。在我们的主机上,它是 vSwitch -> NIC Teaming 中列出的第一个 NIC。

如果您确实想始终使用第一个端口 MAC,您可以将特定的管理网络与第二个端口组合设置为仅作为后备。两个活动端口都会安排管理网络与物理端口的随机绑定。

(*) 我们带有 iSCSI 选项的四核 NIC 使用其他所有 MAC 进行普通以太网。

(更愿意发表评论但没有足够的声誉......)

如果我在我的网络上对此进行故障排除,我要做的第一件事是从 vmware 端运行数据包捕获。这将确认什么 MAC 被发送到 Broadcom 交换机。 https://pubs.vmware.com/vsphere-55/index.jsp?topic=%2Fcom.vmware.vsphere.networking.doc%2FGUID-1BFB05E3-7171-464C-9603-8781C5A97CC6.html

您也可以尝试将同一端口插入不同的交换机,以查看 MAC 是否更改。

我也很想查看上游交换机,看看 Broadcom 交换机正在传递什么 MAC(大概是相同的 +1 MAC,对吧?)。

我的直觉说 vmnic 是在 +1 mac 上传递的(Cisco 设备会为每个接口增加它们的 MAC,可能与 vmware 类似?)或者在某些时候涉及到人为错误。

是你的过滤器有问题。mac 地址的语法各不相同。有时它的 ff:ff:ff: ... 有时它是 ffff.ffff ... 等等。仔细检查你的语法。