如何对交换机端口之间的 MAC 摆动进行故障排除。(思科)

bla*_*ght 5 networking cisco spanning-tree

我正在处理一个相当小的第 2 层网段,其中包含一个物理环路。(我在下面附上了一张拓扑图)。核心交换机堆叠3850。其他交换机是SG300系列小型企业交换机。

在此处输入图片说明

所有交换机之间的链路都是中继,允许vlan 1,503,508,590

生成树似乎按预期运行,并且连接到 SW4 的 SW3 上的接口被置于阻塞状态。

我遇到的问题是核心交换机会定期在 SW1 和 SW2 的链接之间记录 MAC Flap 事件。

%SW_MATM-4-MACFLAP_NOTIF: Host 00eb.d5f2.0b9a in vlan 1 is flapping between port Po1 and port Po2

有问题的 MAC 地址似乎是 Cisco MAC(可能分配给端口组?)但是我无法物理定位它所属的交换机。当我移除循环时,核心说 MAC 可通过 Po2(到 SW2 的链接)使用,但是 SW2 说 MAC 可通过 Po1(到核心的上行链路)使用。

我的问题是:

  • 如何确定此 MAC 地址实际上也属于哪个交换机?

  • 什么可能导致端口之间的这种周期性摆动?

这是所有交换机到交换机链路的当前配置以及每个交换机的完整 mac 地址表。

核心交换机接口配置:

    interface GigabitEthernet1/1/1
     description Po1 Member1
     switchport trunk allowed vlan 1,503,508,590
     switchport mode trunk
     switchport nonegotiate
     channel-group 1 mode active
    end
    !
    interface GigabitEthernet1/1/2
     description Po2 Member1
     switchport trunk allowed vlan 1,503,508,590
     switchport mode trunk
     switchport nonegotiate
     channel-group 2 mode active
    end
    !
    interface GigabitEthernet2/1/1
     description Po1 Member2
     switchport trunk allowed vlan 1,503,508,590
     switchport mode trunk
     switchport nonegotiate
     channel-group 1 mode active
    end
    !
    interface GigabitEthernet2/1/2
     description Po2 Member2
     switchport trunk allowed vlan 1,503,508,590
     switchport mode trunk
     switchport nonegotiate
     channel-group 2 mode active
    end
    !
    interface Port-channel1
     description SW1 Uplink
     switchport trunk allowed vlan 1,503,508,590
     switchport mode trunk
     switchport nonegotiate
    end
    !
    interface Port-channel2
     description SW2 Uplink
     switchport trunk allowed vlan 1,503,508,590
     switchport mode trunk
     switchport nonegotiate
    end
Run Code Online (Sandbox Code Playgroud)

SW1接口配置:

    interface gigabitethernet51
     channel-group 1 mode auto
    !
    interface gigabitethernet52
     channel-group 1 mode auto
    !
    interface Port-channel1
     description "Core Uplink"
     switchport trunk allowed vlan add 503,508,590
    !
    interface gigabitethernet50
     description "Uplink to SW3"
     switchport trunk allowed vlan add 503,508,590
    !
Run Code Online (Sandbox Code Playgroud)

SW2接口配置:

    interface gigabitethernet51
     channel-group 1 mode auto
    !
    interface gigabitethernet52
     channel-group 1 mode auto
    !
    interface Port-channel1
     description "Core Uplink"
     switchport trunk allowed vlan add 503,508,590
    !
    interface gigabitethernet50
     description "Uplink to SW4"
     switchport trunk allowed vlan add 503,508,590
    !
Run Code Online (Sandbox Code Playgroud)

SW3接口配置:

    interface gigabitethernet49
     description "UPLNK to SW4"
     switchport trunk allowed vlan add 503,508,590
    !
    interface gigabitethernet50
     description "UPLINK TO SW1"
     switchport trunk allowed vlan add 503,508,590
    !
Run Code Online (Sandbox Code Playgroud)

SW4接口配置:

    interface gigabitethernet49
     description "UPLNK to SW3"
     switchport trunk allowed vlan add 503,508,590
    !
    interface gigabitethernet50
     description "UPLINK TO SW2"
     switchport trunk allowed vlan add 503,508,590
    !
Run Code Online (Sandbox Code Playgroud)

核心交换机 MAC 表00eb.d5f2.0b9a

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    00eb.d5f2.0b9a    DYNAMIC     Po1
Run Code Online (Sandbox Code Playgroud)

SW1 MAC 表00:eb:d5:f2:0b:9a

    Vlan          Mac Address         Port       Type
------------ --------------------- ---------- ----------
     1         00:eb:d5:f2:0b:9a      gi50     dynamic
Run Code Online (Sandbox Code Playgroud)

SW2 MAC 表00:eb:d5:f2:0b:9a

    Vlan          Mac Address         Port       Type
------------ --------------------- ---------- ----------
     1         00:eb:d5:f2:0b:9a      Po1      dynamic
    503        00:eb:d5:f2:0b:9a      Po1      dynamic
    508        00:eb:d5:f2:0b:9a      Po1      dynamic
    590        00:eb:d5:f2:0b:9a      Po1      dynamic
Run Code Online (Sandbox Code Playgroud)

SW3 MAC 表00:eb:d5:f2:0b:9a

    Vlan          Mac Address         Port       Type
------------ --------------------- ---------- ----------
Run Code Online (Sandbox Code Playgroud)

SW4 MAC 表00:eb:d5:f2:0b:9a

    Vlan          Mac Address         Port       Type
------------ --------------------- ---------- ----------
     1         00:eb:d5:f2:0b:9a      gi50     dynamic
    503        00:eb:d5:f2:0b:9a      gi50     dynamic
    508        00:eb:d5:f2:0b:9a      gi50     dynamic
    590        00:eb:d5:f2:0b:9a      gi50     dynamic
Run Code Online (Sandbox Code Playgroud)

显示“核心交换机”的 cdp nei:

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID

SW2
                 Gig 2/1/2         146              S I   SG300-52  gi52
SW2
                 Gig 1/1/2         146              S I   SG300-52  gi51
SW1
                 Gig 2/1/1         123              S I   SG300-52  gi52
SW1
                 Gig 1/1/1         123              S I   SG300-52  gi51
Run Code Online (Sandbox Code Playgroud)

bla*_*ght 3

在罗恩·莫平(Ron Maupin)评论中的大力帮助下,我能够按照他最初的建议之一解决这个问题;完全禁用 DTP。

Switchport mode trunkSG300交换机不支持DTP,所有中继均默认运行。将线路添加switchport nonegotiate到从核心到 SW1 和 SW2 的端口组后,振荡停止发生。

我通过再次启用 DTP(通过删除 )switchport nonegotiate命令对此进行了测试,并且抖动恢复了。

我不完全理解为什么核心交换机上的 DTP 会导致这种情况。也许 DTP 帧是由接入交换机转发而不是被丢弃?如果有人能阐明为什么此修复有效,那么将不胜感激。