MAC
動态MAC位址表項,5min老化
XXXX-XXXX-XXXX
MAC位址共48bit,前24bit由IEEE為廠商配置設定,後24bit廠商自行配置設定。
MAC位址第一個位元組的末位 =0 單點傳播
=1 多點傳播
常見MAC
0180-C200-0000 STP DMAC
0180-C200-0014 ISIS L1 DMAC
0180-C200-0015 ISIS L2 DMAC
0000-5E00-01XX VRRP虛拟MAC
0100-5E0 +23bit 多點傳播IP映射的MAC
動态表項dynamic 5分鐘老化 重新開機删除
靜态表項static 不老化 重新開機不删除
黑洞表項blackhole(屬于靜态) 重新開機不删除
源MAC or 目的MAC=黑洞MAC 丢棄
MAC位址表
MAC——接口——VLAN
- 純3層路由器是沒有MAC位址表的(隻有ARP表)
檢視SW的MAC: [SW] display bridge mac-address
檢視接口MAC [SW] display interface g0/0/0 Hardware Address
檢視MAC位址表: [SW] display mac-address
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYTMfhHLlN3XnxCM38FdsYkRGZkRG9lcvx2bjxCMy8VZ6l2cs0TTFRldpBXNKV3b18VaaZTQClGVF5UMR9Fd4VGdsATNfd3bkFGazxycykFaKdkYzZUbapXNXlleSdVY2pESa9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL0MTN2UTN0MTM3IDOwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
動态表項dynamic 5min老化 重新開機後删除
靜态表項static 不老化 重新開機不删除
[SW] mac-address static 1-1-1 G0/0/0 vlan 1
- 該接口,其他MAC無法通信
該MAC,其他接口無法通信
黑洞表項blackhole 不老化 重新開機不删除
源MAC、目的MAC =黑洞MAC 都丢棄
[SW] mac-address blackhole 1-1-1
MAC位址表老化時間: [SW] mac-address aging-time xxx
單點傳播: 一個接口-多個MAC√ 一個MAC-多個接口×
多點傳播: 一個接口-多個MAC√ 一個MAC-多個接口√(IGMP Snooping)
MAC位址學習控制(關閉學習、限制數量)
MAC位址表項容量是有限的(32768條,SDN虛拟機不夠用)
- 黑客僞造大量源MAC不同的資料幀,導緻MAC位址表被占滿
解決:
關閉MAC位址學習(G/vlan)
[SW-G/vlan] mac-address learning disable //不動态學習,變成未知單點傳播幀泛洪
限制MAC位址表項數量(G/vlan)
[SW-G/vlan] mac-limit maximum xxx
端口安全(port-security)
- Sticky MAC在MAC位址表中顯示為靜态Static
動态安全MAC表項超過限制數量 or 靜态安全MAC表項出現MAC位址漂移,保護動作:
restrict 丢棄+告警
protect 丢棄
shutdown error-down+告警
場景:公司中僅允許3台PC接入(拒絕非法接入)
[SW-動G] port-security enable //動态MAC安全表項,重新開機後删表
port-security mac-address sticky //Sticky MAC,重新開機不删表
port-security max-mac-num 1 //動态口最多學習1個位址(預設)
port-security protection-action restrict / protect / shutdown
//超過最大學習數量保護動作
[SW-靜G] port-security enable
port-security static-flapping protect
port-security protection-action restrict / protect / shutdown
//MAC位址漂移保護動作
MAC位址漂移 原因
1. 二層環路
SW3在1、2口都收到PC MAC的資料幀,導緻(MAC-接口)表項頻繁變化
2. 攻擊
3. VRRP頻繁主備切換(發送免費ARP封包),導緻MAC位址漂移
或Smart-Link、RRPP等flush封包
二層環路現象
- MAC位址漂移
- ping時通時不通
- CPU使用率升高
如何定位、排除二層環路?
檢視
CLI告警資訊
MAC位址漂移記錄 dis mac-address flapping record
★如何解決MAC位址漂移?
1. MAC位址漂移檢測
基于全局 [SW] mac-address flapping detection //預設開啟
mac-address flapping action error-down / quit-vlan
基于vlan [SW-vlan] loop-detect eth-loop
loop-detect eth-loop block-mac / alarm-only
- 檢視MAC位址漂移記錄
dis mac-address flapping record
2. 靜态MAC位址表項(端口安全靜态MAC表項)
[SW] mac-address static x-x-x G vlan x
[SW-G] port-security enable
port-security static-flapping protect action restrict / protect / shutdown
3. 接口學習MAC位址優先級(不同接口學到相同MAC時,優先級↑有效,預設0)
[SW-G] mac-learning priority xx action discard
4. 禁止相同優先級接口的MAC位址漂移
[SW] undo mac-learning priority 0 allow-flapping action discard
另外,如果是VRRP頻繁主備切換導緻的MAC位址漂移
可以設定VRRP搶占延時 [G] vrrp vrid 1 preempt timer delay xx
無法正确學習MAC位址表項?
1. 錯誤配置導緻
廣播域被隔離:vlan是否建立、是否不同vlan
是否配置了黑洞MAC
接口是否關閉了動态MAC學習功能
接口是否設定了MAC位址學習數量(mac-limit、動态安全MAC位址表項)
2. MAC位址漂移導緻
開啟MAC位址漂移檢測 mac-address flapping detection
loop-detect eth-loop
檢視漂移記錄 display mac-address flapping record
3. MAC位址表項條目達到最大值32768