MAC地址飘移查看及解决方法 一般是网络中存在环路

一、    现象:MAC地址飘移

关于mac地址飘移,在网上查找并总结后,归纳可能为以下七种情况

 1可能存在环路

 2、可能VRRPHSRP等协议不正常引起。比如设备主备频繁切换,导致交换机学习同一mac地址飘移;

 3、可能至少两台终端MAC地址相同,这样的情况不影响其他用户端;

 4、是用户端换了网线,而两个网线接口不在同一台交换机上,mac会记忆一段时间,之后一切恢复正常;

 5H3C交换机开启STP功能后,CISCO设备可能出现报告MAC地址移动的现象,如果网络中不存在环路,该现象不影响业务。

 6、再多加一种:可能arp欺诈、***,导致不同端口学习到同一真实或欺诈的mac地址,此结论未验证。

 7、因为无线用户漫游,导致的MAC地址漂移告警。正常现象,对业务无影响。

二、    查看mac地址飘移信息

查看mac地址表display mac-address的时候,发现有些mac地址一会儿从接口1上学到,一会儿从接口2上学到。

1、对于H3C的设备

方法一:

对于H3C的设备,可收集诊断信息(display diag)查看L2MACMOVEMODULE INFO,这里记录已存在着的mac地址飘移信息,对应port mapping可查看端口对照。(H3C的锤子会帮忙统计出是否有mac地址飘移

示例(如下为诊断信息里相关部分内容):

=============================================================

  ===============debug l2 3 0 mac/move_rec/show===============

==========================================================

===============L2MACMOVEMODULE INFO=======================

L2MacMoveModule Enabled

L2MacMoveDebug Switch Off

=================L2MACMOVE Record INFO===============

MacAddress      Vlan  Agg Mod Port  ->Agg Mod Port Cnt LatestTime       Del

ec:a8:6b:69:f5:bb  11   0   8   18   ->0   10  1    156 2015/1 /29 13:16:49 1

f8:f :41:71:b9:15   11   0   10  0    ->0   10  1    116 2015/1 /29 13:21:36 1

f8:f :41:71:b9:15   11   0   10  1    ->0   10  0    115 2015/1 /29 13:21:40 1

如上,标红色的表示飘移的端口,对应物理端口可查看port mapping(注:光电利用comboPortMID是一样的)。

其中,上表(L2MACMOVE Record INFO)中的Mod对应下表(port mapping)的[MID]

上表(L2MACMOVE Record INFO)中的Port对应下表(port mapping)的[Port]由此可以查找出哪些端口存在mac飘移。

========================================================

  ===============debug port mapping 2===============

========================================================

[Interface]   [Unit]  [Port]  [Name][Combo?][Active?]  [IfIndex]  [MID]  [Link] [Attr]

===============================================================================

 GE2/0/1        0     1    ge1    yes       no    0x1100000    down Bridge

 GE2/0/2        0     0    ge0    yes       no    0x1100001    down Bridge

 GE2/0/3        0     3    ge3    yes       no    0x1100002    down Bridge

 GE2/0/4        0     2    ge2    yes       no    0x1100003    down Bridge

 GE2/0/5        0     1    ge1    yes       yes   0x1100004    down Bridge

 GE2/0/6        0     0    ge0    yes       yes   0x1100005    down Bridge

 GE2/0/7        0     3    ge3    yes       yes   0x1100006    down Bridge

 GE2/0/8        0     2    ge2    yes       yes   0x1100007    down Bridge

 GE2/0/9        0     5    ge5    no        no    0x1100008    down Bridge

 GE2/0/10       0     4    ge4    no        no    0x1100009    down Bridge

 GE2/0/11       0       ge7    no        no    0x110000a    down Bridge

 GE2/0/12       0     6    ge6    no        no    0x110000b    down Bridge

 GE2/0/13       0     9    ge9    no        no    0x110000c    down Bridge

 GE2/0/14       0     8    ge8    no        no    0x110000d    up   Bridge

 GE2/0/15       0     11   ge11   no        no    0x110000e    down Bridge

 GE2/0/16       0     10   ge10   no        no    0x110000f    down Bridge

 GE2/0/17       0     13   ge13   no        no    0x1100010    down Bridge

 GE2/0/18       0     12   ge12   no        no    0x1100011    down Bridge

 GE2/0/19       0     15   ge15   no        no    0x1100012    down Bridge

 GE2/0/20       0     14   ge14   no        no    0x1100013    down Bridge

 GE2/0/21       0     17   ge17   no        no    0x1100014    down Bridge

 GE2/0/22       0     16   ge16   no        no    0x1100015    up   Bridge

 GE2/0/23       0     19   ge19   no        no    0x1100016    down Bridge

 GE2/0/24       0     18   ge18   no        no    0x1100017    up   Bridge

 GE2/0/25       0     21   ge21   no        no    0x1100018    down Bridge

 GE2/0/26       0     20   ge20   no        no    0x1100019    down Bridge

 GE2/0/27       0     23   ge23   no        no    0x110001a    up   Bridge

 GE2/0/28       0     22   ge22   no        no    0x110001b    down Bridge

--------------------------------------------------

 MEth0/0/0:

 Ifindex = 0x0

 ModID = 0

 Port = 0

========================================================

  ===============debug port mapping 3===============

========================================================

[Interface]     [Unit]  [Port][Name][Combo?] [Active?]   [IfIndex]  [MID][Link] [Attr]

===============================================================================

 GE3/0/1        0     0    ge0    no        no    0x1900000  10   up   Bridge

 GE3/0/2        0     1    ge1    no        no    0x1900001  10   up   Bridge

 GE3/0/3        0     2    ge2    no        no    0x1900002  10   up   Bridge

 GE3/0/4        0     3    ge3    no        no    0x1900003  10   down Bridge

 GE3/0/5        0     4    ge4    no        no    0x1900004  10   down Bridge

 GE3/0/6        0     5    ge5    no        no    0x1900005  10   down Bridge

 GE3/0/7        0     6    ge6    no        no    0x1900006  10   down Bridge

 GE3/0/8        0     7    ge7    no        no    0x1900007  10   down Bridge

 GE3/0/9        0     8    ge8    no        no    0x1900008  10   down Bridge

 GE3/0/10       0     9    ge9    no        no    0x1900009  10   down Bridge

 GE3/0/11       0     10   ge10   no        no    0x190000a  10   down Bridge

 GE3/0/12       0     11   ge11   no        no    0x190000b  10   down Bridge

--------------------------------------------------

 MEth0/0/0:

 Ifindex = 0x0

 ModID = 0

 Port = 0

--------------------------------------------------

如上的f8:f :41:71:b9:15   11   0   10  0    ->0   10  1 表示G3/0/1G3/0/2存在mac地址飘移,极可能存在环路。

方法二:display mac-address mac-move

display mac-address mac-move

-------------------slot 1 MAC address moving information----------------

MAC address    VLAN Current port  Source port   Last time              Times

0cda-411d-6478   10     GE1/0/14      GE1/0/2   2011-02-14 00:06:43        1

 

---  1 MAC address moving records found  ---

 

方法三

terminal monitor

terminal trapping

如果存在mac地址飘移,可以查看得到告警信息

display trapbuffer 可以查看告警的缓存信息

2、对于思科cisco设备

思科设备会跳出提示,以下为CISCO 3750 mac飘移(flapping)提示信息:

3750-edit#

1w2d: %SW_MATM-4-MACFLAP_NOTIF: Host a601.0000.0000 in vlan 23 is flapping betwe

en port Gi1/0/2 and port Gi1/0/1

3750-edit#

1w2d: %SW_MATM-4-MACFLAP_NOTIF: Host a601.0000.0000 in vlan 23 is flapping betwe

en port Gi1/0/2 and port Gi1/0/1

3750-edit#

1w2d: %SW_MATM-4-MACFLAP_NOTIF: Host a601.0000.0000 in vlan 23 is flapping betwe

en port Gi1/0/2 and port Gi1/0/1

3、对于华为设备

 【交换机在江湖之维护宝典】第十一章 了解MAC地址漂移的前因后果

    各位大侠,小编又来啦!当你在设备上敲入命令后,设备如蜗牛般反应迟钝,并时不时的打印出MAC地址漂移的告警信息时,是不是很郁闷呀。莫急莫急,小编这就教各位大侠了解一下MAC地址漂移的前因后果,轻松搞定二层网络中最常见的MAC地址漂移告警

首先什么是MAC地址漂移呢?

MAC地址漂移是指:在同一个VLAN内,一个MAC地址有两个出接口,并且后学习到的出接口覆盖原出接口的现象。这是官方定义,通俗的讲,MAC地址漂移指的是MAC地址表项的出接口发生了变更。到底什么意思呢?看了下图就明白了。

      

 

 MAC地址漂移会有什么影响?

Ø  上网响应慢!! 

 

 

Ø  上网无响应!!

 

Ø  视频卡着不能动!!

 

 

看了这些,是不是很揪心呀,生活没有激情了。这些都可能是MAC地址漂移,组网设备成环导致的。只要解决MAC地址漂移,破除组网中的环路,这些讨厌的画面就会自动消失的。

 为什么会有MAC地址漂移呢?

         

 

如上图,正常情况下,PC的报文通过Port1进入Switch后,会从Port3转发出去,MAC地址表项学习到的出接口是Port1。但是当SwitchSwitch1Swtich2三台设备之间存在环路时,PC的报文通过Switch2-­­­->Switch1后,又会通过Port2进入Switch,导致MAC地址表项的出接口更新为Port2,从而就会产生MAC地址漂移告警。由此可见MAC地址发生漂移的根本原因就是组网中存在二层环路。

怎么判断设备上是否存在MAC地址漂移呢?

Ø方法1:在打开终端显示和MAC地址漂移告警开关情况下,在设备产生MAC地址漂移告警时,就会打印出如下告警信息。并且会间隔一段时间多次打印哟。

 

Ø方法2:在打开MAC地址漂移告警开关时,通过命令display trapbuffer查看告警的缓存信息,判断设备上是否存在MAC地址漂移。

 

Ø方法3:在打开MAC地址漂移检测功能时,通过命令display mac-address flapping record查看最近一个月MAC地址漂移的信息。记录的信息包括:MAC地址漂移发生的开始时间和结束时间,发生MAC地址漂移的VLANMAC,漂移的端口和漂移的次数。

  

Ø方法4:在没有开启MAC地址漂移检测功能时,只能用最原始的办法---不停的查看MAC地址表项的出接口,来判断设备上是否存在MAC地址漂移了。如下图,多次查看MAC地址表项,出接口信息在两个端口之间跳变。这就可以认为发生了MAC地址漂移。

  

怎么消除MAC地址漂移告警呢?

消除MAC地址漂移的办法有三种:

Ø第一种:人工把发生漂移的接口shutdown

优点:最简单可靠

缺点:需要人工参与,整个接口的流量都会中断。

Ø第二种:通过在接口上配置漂移检测动作为error-dwon,自动down掉漂移的端口。

优点:及时快捷,还可以通过配置自动恢复时间定时恢复端口。

缺点:整个接口的流量都会中断。

Ø第三种:通过在接口上配置漂移检测动作为quit-vlan,使发生漂移的接口指定VLAN域内退出,从而消除MAC地址漂移,破除环路。

优点:只解决存在环路的VLAN域,不会使其他正常VLAN域的流量中断。

缺点:指定老化周期内,只能使一个接口从VLAN中退出。如果存在多个环路,破环会比较慢。

交换机实现的MAC地址漂移告警功能有什么亮点呢?

Ø亮点1:在同一个VLAN内,只会记录一个MAC地址漂移记录。

即同一个VLAN内,如果有多个MAC地址都在发生漂移,只记录第一个上报漂移的MAC地址。为什么呢?因为只要一个VLAN域内存在环路,该VLAN内所有的MAC地址都会发生漂移的。

Ø亮点2:只有一次或两次MAC地址漂移,不会上报MAC地址漂移告警。

默认情况下,在漂移记录老化时间300秒内, MAC地址

表项出接口变更10次,才认为发生了MAC地址漂移,才会上报MAC地址漂移告警。

Ø亮点3:可以指定某个VLAN不进行MAC地址漂移的检测。指定某个VLAN不进行MAC地址漂移的检测后,该VLAN内的MAC地址发生漂移时,不会记录信息,也不会上报告警信息。

江湖小贴士:所有的MAC地址漂移告警都需要处理吗?其实不是的,只有MAC地址漂移告警在短时间多次出现的情况才需要处理,偶尔出现的可以不用关注啦,类似于下面这三种情况就可以不用关注的。 1、因为环路或VRRP切换,导致的MAC地址漂移告警。2、因为无线用户漫游,导致的MAC地址漂移告警。 3、因为VRRP主备倒换,导致的MAC地址漂移告警。

好了,小编的讲解结束了。下次再看到MAC地址漂移告警可不要惊慌了,大不了使用最暴力最简单的方法,通过down掉漂移端口分分钟搞定它

 


三、    mac地址飘移现象对应解决思路

1、环路

环路解决的思路就是使用生成树协议、loopback-detection,或者使用堆叠(如IRF)去除物理环路,或者排查服务器网卡是否有绑定等策略,或者拔掉造成环路的网线。

环路一般会伴随着端口峰值(peak)变得超高,或CPU使用率超高,或ping的时候丢包严重。

dis int g1/0/1

 Peak value of input: xxxxx bytes/sec, at 2014-01-28 14:05:47

 Peak value of output: xxxxx bytes/sec, at 2014-0130 06:31:46

dis cpu

Slot 1 CPU 0 CPU usage:

       xx% in last 5 seconds

       xx% in last 1 minute

       xx% in last 5 minutes

2、VRRP、HSRP等协议不正常引起

    参照配置手册,更改为正确配置即可。

3、多台终端MAC地址相同

    使得终端mac地址唯一即可。

4、用户端换了网线

    等一会儿就行了。

5、关于不同厂家的设备互联出现MAC地址漂移的解释

 关于不同厂家的设备互联出现MAC地址漂移的解释

2012-05-20 12:42:19

标签:MAC地址漂移

版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。

 


关于MAC地址漂移
思科3750H3C 3100 互连问题,MAC飘移
最近,公司一设备是C3750gi1/0/12 g1/0/22g1/0/2各连接一台H3C 3100,总有个mac地址(000f.e207.f2e0 )在上述几个端口间飘来飘去,无环路,不地址欺骗,不知道是什么原因,日志提示如下:

Aug  4 22:15:07.292 GMT: %SW_MATM-4-MACFLAP_NOTIF: Host 000f.e207.f2e0 in vlan 800 is flapping between port Gi1/0/12 and port Gi1/0/22
Aug  4 22:16:07.691 GMT: %SW_MATM-4-MACFLAP_NOTIF: Host 000f.e207.f2e0 in vlan 800 is flapping between port Gi1/0/12 and port Gi1/0/22
 

查看vlan 800的生成树状态如下:

VLAN0800
  Spanning tree enabled protocol ieee
  Root ID    Priority    4896
             Address     001f.27dd.6200
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    4896   (priority 4096 sys-id-ext 800)
             Address     001f.27dd.6200
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300
Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Gi1/0/2          Desg FWD 4         128.2    P2p
Gi1/0/12         Desg FWD 19        128.12   P2p
Gi1/0/22         Desg FWD 19        128.22   P2p
 

解释:

思科默认使用PVST+,可以选择配置的有PVST MST 等等
而华为产品一般是三种STPIEEE 802.1D),RSTPIEEE 802.1W),MSTPIEEE 802.1S
当搜索000f.e207.f2e000E0-FC09-BCF9这个mac的时候,会发现很多人在问这个问题。

据厂商自己解释
“S3600
系列交 换机开启STP 能后,对端设备可能出现报告MAC地址移动的现象。其原因为S3600系列交换机的BPDU报文采用固定MAC地址为源MAC。该情况对正常业务没有影响。为了防止 该日志信息对正常日志信息的影响,可以通过类似日志信息过滤的功能对此种日志信息过滤。
S
系列交换机生成 树协议报文的源MAC地址是00E0-FC09-BCF9或者 000F-E207-F2E0

因为多厂商间对协议的理解方式不同,各厂商按照各自的方式改动了实现的方式,所以应尽量避免二层互联,对接的时候一定要提前测试好保持谨慎。

以下为官方解决方案:

问题原因
部分低端交换机的BPDU协议报文的源MAC采用000f-e207-f2e0
H3C
定义的LACP报文(DMAC0180C2000002H3C设备SMAC000f-e207-f2e0、)也是BPDU报文的一种。由于V3平台交换机每端口没有设置各自的MAC地址,因此BPDUMAC都是使用上述固定的特殊MAC作为源MAC地址的。但S3600/5600系列交换机最新版本支持在系统视图下使用port-mac命令进行定义。
对于固定源MAC地址,H3C交换机是不学习BPDU报文的源MAC的,但有些友商设备对于BPDU的源MAC是进行学习的,因此在友商设备上有时会记录MAC地址漂移的告警。
解决方法:
对于V3平台交换机如S3600/5600系列交换机可以升级到最新版本通过port-mac命令更改BPDU报文的源MAC地址。但是需要注意的是,如果网络中没有环路,那么该现象正常不影响业务使用,因此也不推荐使用port-mac命令进行更改。
 

修改方法:

system-view
System View: return to User View with Ctrl+Z.
[Sysname] port-mac xxxx-xxxx-xxxx

6、arp欺诈、***引起

找到中毒的终端,杀毒。

终端查找方法一:网关设备处抓包,必定有大量arp报文,看arp对应的源IPMAC,按端口找到终端。杀毒。

这样做有可能还不容易找到,可看端口流量作为参考。

终端查找方法二:最简化网络,拔掉所有线。一个一个或一部分一部分接回来,直到接进某条线后网络出问题,由此可判断。


转自:http://blog.sina.com.cn/s/blog_5e96cbeb0102vcwo.html 


你可能感兴趣的:(MAC地址飘移查看及解决方法 一般是网络中存在环路)