01-MAC地址表命令
本章節下載: 01-MAC地址表命令 (359.71 KB)
目 錄
1.1.2 display mac-address aging-time
1.1.3 display mac-address mac-learning
1.1.4 display mac-address mac-move
1.1.5 display mac-address statistics
1.1.6 mac-address (interface view)
1.1.7 mac-address (system view)
1.1.8 mac-address multiport vsi
1.1.9 mac-address mac-learning enable
1.1.10 mac-address mac-learning priority
1.1.11 mac-address mac-move fast-update
1.1.12 mac-address mac-roaming enable
1.1.13 mac-address max-mac-count
1.1.14 mac-address max-mac-count enable-forwarding
1.1.15 mac-address notification mac-move
1.1.16 mac-address notification mac-move suppression (interface view)
1.1.17 mac-address notification mac-move suppression (system view)
1.1.18 mac-address static source-check enable
1.1.20 snmp-agent trap enable mac-address
2.1.1 mac-address information enable (interface view)
2.1.2 mac-address information enable (system view)
2.1.3 mac-address information interval
2.1.4 mac-address information mode
2.1.5 mac-address information queue-length
本章節內容隻涉及單播的靜態、動態、黑洞MAC地址表項和多端口單播MAC地址表項的配置。有關靜態組播MAC地址表項的相關介紹和配置內容,請參見“IP組播配置指導”中的“IGMP Snooping”和“IPv6組播路由與轉發”。
display mac-address命令用來顯示MAC地址表信息。
【命令】
display mac-address [ mac-address [ vlan vlan-id ] | [ [ dynamic | static ] [ interface interface-type interface-number ] | blackhole | multiport ] [ vlan vlan-id ] [ count ] ]
【視圖】
任意視圖
【缺省用戶角色】
network-admin
network-operator
【參數】
mac-address:顯示指定MAC地址的MAC地址表項,mac-address的格式為H-H-H。在配置時,用戶可以省去MAC地址中每段開頭的“0”,例如輸入“f-e2-1”即表示輸入的MAC地址為“000f-00e2-0001”。
vlan vlan-id:顯示指定VLAN的MAC地址表項。vlan-id的取值範圍為1~4094。
dynamic:顯示動態MAC地址表項。
static:顯示靜態MAC地址表項。
interface interface-type interface-number:顯示指定接口的MAC地址表項。interface-type interface-number為接口類型和接口編號。
blackhole:顯示黑洞MAC地址表項。
multiport:顯示多端口單播MAC地址表項。
count:顯示MAC地址表項的數量。如果配置本參數,將僅顯示符合條件的(由count前麵的參數決定)MAC地址表項的數量,而不顯示MAC地址表項的具體內容。如果不指定本參數,則顯示符合條件的MAC地址表的具體內容。
【使用指導】
使用本命令可以查看靜態、動態、黑洞和多端口單播MAC地址表項,表項內容主要包括MAC地址、VLAN ID、接口等信息。
如果不指定任何參數,將顯示所有的MAC地址表項信息。
對於聚合接口,需要有選中端口,該聚合接口對應的動態MAC地址才能在MAC地址表項中顯示。
多端口單播MAC地址表項不影響對應MAC地址的動態學習,對於同一MAC地址,多端口單播MAC地址表項和動態MAC地址表項可以同時存在,優先根據多端口單播MAC地址轉發報文。
【舉例】
# 顯示VLAN 100的MAC地址表項的信息。
<Sysname> display mac-address vlan 100
MAC Address VLAN ID State Port/Nickname Aging
0001-0101-0101 100 Multiport XGE1/0/1 N
XGE1/0/2
0033-0033-0033 100 Blackhole N/A N
0000-0000-0002 100 Static XGE1/0/3 N
00e0-fc00-5829 100 Learned XGE1/0/4 Y
# 顯示MAC地址表項的數量。
<Sysname> display mac-address count
1 mac address(es) found.
表1-1 display mac-address命令顯示信息描述表
字段 |
描述 |
MAC Address |
MAC地址 |
VLAN ID |
MAC地址對應接口所屬的VLAN |
State |
MAC地址表項的狀態,包括: · Static:表示該表項是靜態MAC地址表項 · Learned:動態MAC地址表項。可以手工配置也可以由設備學習獲得 · Blackhole:表示該表項是黑洞MAC地址表項 · Multiport:表示該表項是多端口單播MAC地址表項 · OpenFlow:表示該表項是OpenFlow實例的MAC地址表項 · Block:MAC地址認證特性的MAC地址表項,表示該表項是MAC地址認證失敗用戶的MAC地址表項 · Security:表示該表項是端口安全特性中配置或學習到的MAC地址表項 · M-LAG:表示該表項是由M-LAG對端設備學習並同步到本端的MAC地址表項 |
Port/Nickname |
MAC地址對應的接口名稱 |
Aging |
老化時間,該表項有兩種取值: · Y:表示該表項會被老化 · N:表示該表項不會被老化 |
n mac address(es) found |
共有n個MAC地址表項 |
【相關命令】
· mac-address
· mac-address timer
display mac-address aging-time命令用來顯示MAC地址表動態表項的老化時間。
【命令】
display mac-address aging-time
【視圖】
任意視圖
【缺省用戶角色】
network-admin
network-operator
【舉例】
# 顯示MAC地址表中動態表項的老化時間。
<Sysname> display mac-address aging-time
MAC address aging time: 300s.
【相關命令】
· mac-address timer
display mac-address mac-learning命令用來顯示MAC地址學習功能的開啟狀態。
【命令】
display mac-address mac-learning [ interface interface-type interface-number ]
【視圖】
任意視圖
【缺省用戶角色】
network-admin
network-operator
【參數】
interface interface-type interface-number:顯示指定接口的MAC地址學習狀態。interface-type interface-number為接口類型和接口編號。如果不指定本參數,則顯示全局和所有接口的MAC地址學習狀態。
【舉例】
# 顯示全局和所有接口的MAC地址學習狀態。
<Sysname> display mac-address mac-learning
Global MAC address learning status: Enabled.
Port Learning Status
XGE1/0/1 Enabled
XGE1/0/2 Enabled
表1-2 display mac-address mac-learning命令顯示信息描述表
字段 |
描述 |
Global MAC address learning status |
全局的MAC地址學習狀態:Enabled為開啟,Disabled為禁止 |
Port |
接口名稱 |
Learning Status |
接口的MAC地址學習狀態:Enabled為開啟,Disabled為禁止 |
【相關命令】
· mac-address mac-learning enable
display mac-address mac-move命令用來顯示設備啟動後的MAC地址遷移記錄。
【命令】
display mac-address mac-move [ slot slot-number ]
【視圖】
任意視圖
【缺省用戶角色】
network-admin
network-operator
【參數】
slot slot-number:顯示指定成員設備上的MAC地址遷移記錄,slot-number表示設備在IRF中的成員編號。如果未指定本參數,則顯示所有成員設備上的MAC地址遷移記錄。
【使用指導】
如果MAC地址遷移頻繁出現,且同一MAC地址總是在特定的兩個接口之間遷移,那麼網絡中可能存在二層環路。可以通過查看MAC地址遷移記錄,發現和定位環路。
在遷移記錄中,如果MAC地址、VLAN、源端口、新端口都一樣,則視作一條表項。
每個成員設備最多能生成200條最近發生的MAC地址遷移記錄。
【舉例】
# 顯示指定slot上的MAC地址遷移記錄。
<Sysname> display mac-address mac-move slot 1
MAC address VLAN Current port Source port Last time Times
0000-0001-002c 1 XGE1/0/1 XGE1/0/2 2013-05-20 13:40:52 1
0000-0001-002c 1 XGE1/0/2 XGE1/0/1 2013-05-20 13:41:30 1
--- 2 MAC address moving records found ---
# 顯示所有slot上的MAC地址遷移記錄。
<Sysname> display mac-address mac-move
MAC address VLAN Current port Source port Last time Times
0000-0001-002c 1 XGE1/0/1 XGE1/0/2 2013-05-20 13:40:52 20
0000-0001-002c 1 XGE1/0/2 XGE1/0/1 2013-05-20 13:41:32 20
0000-0094-0001 1 XGE1/0/3 XGE1/0/4 2013-05-20 13:42:22 13
0000-0094-0001 1 XGE1/0/4 XGE1/0/3 2013-05-20 13:42:21 12
--- 4 MAC address moving records found ---
表1-3 display mac-address mac-move命令顯示信息描述表
字段 |
描述 |
MAC address |
MAC地址 |
VLAN |
MAC地址對應接口所屬的VLAN |
Current port |
MAC地址遷移新接口 |
Source port |
MAC地址遷移源接口 |
Last time |
發生MAC地址遷移的最近一次時間 |
Times |
設備啟動後,MAC地址發生遷移的次數。對於同一MAC地址,僅當字段VLAN、Current port和Source port都相同時,次數才加1 |
【相關命令】
· mac-address notification mac-move
display mac-address statistics命令用來顯示MAC地址表的統計信息。
【命令】
display mac-address statistics
【視圖】
任意視圖
【缺省用戶角色】
network-admin
network-operator
【使用指導】
本命令主要顯示係統目前存在的各類MAC地址表項的數目、以及係統可以支持的各類表項的最大規格。
【舉例】
# 顯示MAC地址表中的統計信息。
<Sysname> display mac-address statistics
MAC Address Count:
Dynamic Unicast Address (Learned) Count: 3
Dynamic Unicast Address (Security-service-defined) Count: 4
Static Unicast Address (User-defined) Count: 0
Static Unicast Address (System-defined) Count: 3
Total Unicast MAC Addresses In Use: 10
Total Unicast MAC Addresses Available: 32768
Multicast and Multiport MAC Address Count: 1
Static Multicast and Multiport MAC Address (User-defined) Count: 1
Total Multicast and Multiport MAC Addresses Available: 256
表1-4 display mac-address statistic命令顯示信息描述表
字段 |
描述 |
Dynamic Unicast Address (Learned) Count |
報文觸發添加的動態單播MAC地址統計 |
Dynamic Unicast Address (Security-service-defined) Count |
安全服務觸發添加的動態單播MAC地址統計 |
Static Unicast Address (User-defined) Count |
用戶添加的靜態單播MAC地址統計 |
Static Unicast Address (System-defined) Count |
係統添加的靜態單播MAC地址統計 |
Total Unicast MAC Addresses In Use |
單播MAC地址統計 |
Total Unicast MAC Addresses Available |
單播MAC地址規格,與具體設備型號有關,舉例中數值僅為示意,請以實際情況為準 |
Multicast and Multiport MAC Address Count |
組播和多端口單播MAC地址統計 |
Static Multicast and Multiport MAC Address (User-defined) Count |
用戶添加的靜態組播和多端口單播MAC地址統計 |
Total Multicast and Multiport MAC Addresses Available |
組播和多端口單播MAC地址規格 |
mac-address命令用來在接口下添加或者修改MAC地址表項。
undo mac-address命令用來刪除接口下的MAC地址表項。
【命令】
mac-address { dynamic | multiport | static } mac-address vlan vlan-id
undo mac-address { dynamic | multiport | static } mac-address vlan vlan-id
【缺省情況】
接口下未配置任何MAC地址表項。
【視圖】
二層以太網接口視圖
二層聚合接口視圖
【缺省用戶角色】
network-admin
【參數】
dynamic:動態MAC地址表項。
static:靜態MAC地址表項。
multiport:多端口單播MAC地址表項。當報文的目的MAC地址與多端口單播MAC地址表項匹配時,將該報文從多個端口複製轉發出去。
mac-address:MAC地址,格式為H-H-H,不支持組播MAC地址、全0的MAC地址和全F的MAC地址。在配置時,用戶可以省去MAC地址中每段開頭的“0”,例如輸入“f-e2-1”即表示輸入的MAC地址為“000f-00e2-0001”。
vlan vlan-id:當前接口所屬的VLAN。vlan-id為指定VLAN的編號,取值範圍為1~4094。該VLAN必須已經創建。
【使用指導】
一般情況下,設備通過源MAC地址學習過程自動建立MAC地址表。為了提高接口安全性,網絡管理員可手工在MAC地址表中加入特定MAC地址表項,將用戶設備與接口綁定,從而防止非法用戶騙取數據。手工配置的靜態MAC地址表項優先級高於自動生成的表項。
如果不保存配置,設備重啟後所有表項都會丟失;如果保存配置,靜態MAC地址表項不會丟失,動態MAC地址表項會丟失。
不允許為DOWN狀態的接口添加或修改動態MAC地址表項。
【舉例】
# 在端口Ten-GigabitEthernet1/0/1下增加靜態MAC地址表項000f-e201-0101,該端口屬於VLAN 2。
<Sysname> system-view
[Sysname] interface ten-gigabitethernet 1/0/1
[Sysname-Ten-GigabitEthernet1/0/1] mac-address static 000f-e201-0101 vlan 2
# 在接口Bridge-Aggregation1下增加靜態MAC地址表項000f-e201-0102,該接口屬於VLAN 1。
<Sysname> system-view
[Sysname] interface bridge-aggregation 1
[Sysname-Bridge-Aggregation1] mac-address static 000f-e201-0102 vlan 1
# 在端口Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2下增加多端口單播MAC地址表項0001-0001-0101,兩個端口均屬於VLAN 2。
<Sysname> system-view
[Sysname] interface ten-gigabitethernet 1/0/1
[Sysname-Ten-GigabitEthernet1/0/1] mac-address multiport 0001-0001-0101 vlan 2
[Sysname-Ten-GigabitEthernet1/0/1] quit
[Sysname] interface ten-gigabitethernet 1/0/2
[Sysname-Ten-GigabitEthernet1/0/2] mac-address multiport 0001-0001-0101 vlan 2
【相關命令】
· display mac-address
· mac-address (system view)
mac-address命令用來添加或者修改MAC地址表項。
undo mac-address命令用來刪除MAC地址表項。
【命令】
mac-address { dynamic | static } mac-address interface interface-type interface-number vlan vlan-id
mac-address blackhole mac-address vlan vlan-id
mac-address multiport mac-address interface interface-list vlan vlan-id
undo mac-address [ [ dynamic | static ] mac-address interface interface-type interface-number vlan vlan-id ]
undo mac-address [ blackhole | dynamic | static ] [ mac-address ] vlan vlan-id
undo mac-address [ dynamic | static ] interface interface-type interface-number
undo mac-address multiport mac-address interface interface-list vlan vlan-id
undo mac-address [ multiport ] [ [ mac-address ] vlan vlan-id ]
【缺省情況】
未配置任何MAC地址表項。
【視圖】
係統視圖
【缺省用戶角色】
network-admin
【參數】
dynamic:動態MAC地址表項。
static:靜態MAC地址表項。
blackhole:黑洞MAC地址表項。當報文的源MAC地址或目的MAC地址與黑洞MAC地址表項匹配時,該報文被丟棄。
multiport:多端口單播MAC地址表項。當報文的目的MAC地址與多端口單播MAC地址表項匹配時,將該報文從多個端口複製轉發出去。
mac-address:MAC地址,格式為H-H-H,不支持組播MAC地址、全0的MAC地址和全F的MAC地址。在配置時,用戶可以省去MAC地址中每段開頭的“0”,例如輸入“f-e2-1”即表示輸入的MAC地址為“000f-00e2-0001”。
vlan vlan-id:指定接口所屬的VLAN。vlan-id為指定VLAN的編號,取值範圍為1~4094。該VLAN必須已經創建。
interface interface-type interface-number:出接口。interface-type interface-number為接口類型和接口編號。
interface interface-list:接口列表,表示方式為interface-list = { interface-type interface-number1 [ to interface-type interface-number2 ] }&<1-4>。其中,interface-type interface-number為接口類型和接口編號,目前隻支持二層以太網接口及二層聚合接口。interface-type interface-number2的值要大於等於interface-type interface-number1的值。&<1-4>表示前麵的參數最多可以輸入4次。
【使用指導】
通過本命令可以添加或者修改如下類型的MAC地址表項:
動態MAC地址:設備通過源MAC地址學習過程自動建立MAC地址表或者由用戶手工配置。
靜態MAC地址:為了提高接口安全性,網絡管理員可手工在MAC地址表中加入特定MAC地址表項,將用戶設備與接口綁定,從而防止非法用戶騙取數據。手工配置的靜態MAC地址表項優先級高於自動生成的表項。
黑洞MAC地址:用於丟棄指定源MAC地址或目的MAC地址的報文。
多端口單播MAC地址:用於目的是某個MAC地址的報文從多個端口複製轉發出去。第一次執行命令配置某一MAC地址表項時,添加該表項,再次執行命令配置除接口外其餘相同的MAC地址表項時,則會為該表項添加一個或多個接口。
用戶手工配置的靜態MAC地址表項或黑洞MAC地址表項不會被動態MAC地址表項覆蓋,而動態MAC地址表項可以被靜態MAC地址表項和黑洞MAC地址表項覆蓋。
刪除MAC地址表項時,需要注意:
· 執行undo mac-address命令時若不指定任何參數,將刪除所有單播MAC地址表項和靜態組播MAC地址表項。
· 可以刪除指定VLAN的所有MAC地址表項(包括單播MAC地址表項和靜態組播MAC地址表項);可以選擇刪除動態MAC地址表項、靜態MAC地址表項、黑洞MAC地址表項或者多端口單播MAC地址表項;可以按接口刪除單播MAC地址表項,但不能按接口刪除組播MAC地址表項。
如果不保存配置,設備重啟後所有表項都會丟失;如果保存配置,靜態MAC地址表項、黑洞MAC地址表項和多端口單播MAC地址表項不會丟失,動態表項會丟失。
不允許為DOWN狀態的接口添加或修改動態MAC地址表項。
【舉例】
# 添加靜態地址表項,目的MAC地址為000f-e201-0101,出接口為Ten-GigabitEthernet1/0/1,且該接口屬於VLAN 2。
<Sysname> system-view
[Sysname] mac-address static 000f-e201-0101 interface ten-gigabitethernet 1/0/1 vlan 2
# 添加多端口單播MAC地址表項,目的MAC地址為000f-e201-0101,出接口為Ten-GigabitEthernet1/0/1、Ten-GigabitEthernet1/0/2和Ten-GigabitEthernet1/0/3,且出接口屬於VLAN 2。
<Sysname> system-view
[Sysname] mac-address multiport 000f-e201-0101 interface ten-gigabitethernet 1/0/1 to ten-gigabitethernet 1/0/3 vlan 2
【相關命令】
· display mac-address
· mac-address (interface view)
mac-address multiport vsi命令用來為VXLAN網絡配置多端口單播MAC地址表項。
undo mac-address multiport vsi命令用來刪除VXLAN網絡中配置的多端口單播MAC地址表項或出接口。
【命令】
本地多端口單播MAC地址表項配置:
mac-address multiport mac-address interface { peer-link | { interface-type interface-number service-instance instance-id }&<1-4> } * vsi vsi-name
undo mac-address multiport [ mac-address [ interface [ peer-link | { interface-type interface-number service-instance instance-id }&<1-4> ] * ] ] vsi vsi-name
遠端多端口單播MAC地址表項配置:
mac-address multiport mac-address { interface { tunnel tunnel-number1 [ to tunnel tunnel-number2 ] }&<1-4> } vsi vsi-name
undo mac-address multiport [ mac-address [ interface { tunnel tunnel-number1 [ to tunnel tunnel-number2 ] }&<1-4> ] ] vsi vsi-name
【缺省情況】
不存在多端口單播MAC地址表項。
【視圖】
係統視圖
【缺省用戶角色】
network-admin
【參數】
mac-address:MAC地址,格式為H-H-H,不支持全0的MAC地址。在配置時,用戶可以省去MAC地址中每段開頭的“0”,例如輸入“f-e2-1”即表示輸入的MAC地址為“000f-00e2-0001”。
interface interface-type interface-number service-instance instance-id:指定本地MAC地址對應的AC。interface-type interface-number為接口類型和接口編號;instance-id為以太網服務實例的編號,取值範圍為1~4096。
peer-link:指定本地多端口單播MAC地址表項的其中一個出接口為peer-link接口。有關peer-link接口的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“M-LAG”。
interface tunnel tunnel-number1 [ to tunnel tunnel-number2 ]:指定遠端MAC地址對應的VXLAN隧道接口。tunnel-number為VXLAN隧道接口的編號,取值範圍為0~4095,tunnel tunnel-number2的值要大於或等於tunnel tunnel-number1的值。指定的隧道接口必須已經創建。
&<1-4>:表示前麵的參數最多可以輸入4次。
vsi vsi-name:指定MAC地址所屬的VSI。vsi-name表示VSI的名稱,為1~31個字符的字符串,區分大小寫。
【使用指導】
多端口單播MAC地址表項用於將指定目的MAC地址的報文從多個端口複製轉發出去。多次執行本命令,指定的MAC地址相同、其他參數不同時,可以為該表項添加多個接口。
VXLAN中MAC地址分為本地MAC地址和遠端MAC地址:本地MAC地址是指VTEP連接的本地站點內虛擬機的MAC地址;遠端MAC地址是指VTEP連接的遠端站點內虛擬機的MAC地址。
對於本地多端口單播MAC地址表項,本命令中指定的以太網服務實例必須與指定的VSI關聯,否則配置將失敗;對於遠端多端口單播MAC地址表項,指定的隧道接口必須與指定的VSI對應的VXLAN關聯,否則配置將失敗。
執行undo mac-address multiport vsi命令時如果沒有指定任何參數,則刪除該VSI下所有多端口單播MAC地址表項;如果僅指定MAC地址,則刪除指定的MAC地址表項;如果指定MAC地址及部分接口,僅刪除對應的部分出接口,不刪除該表項。
建議不要將EVPN(Ethernet Virtual Private Network,以太網虛擬專用網絡)動態創建的隧道接口指定為遠端MAC地址對應的隧道接口。否則,當EVPN重新創建隧道時,隧道接口的編號可能發生變化(如配置恢複時),從而導致遠端多端口單播MAC地址表項的配置無法恢複。
對於EVPN網絡,相同的多端口單播MAC地址目前不支持在多個Leaf或VTEP同時配置;對於EVPN多歸屬應用和EVPN M-LAG應用,多歸屬成員設備/M-LAG設備不支持將多端口單播MAC地址同步到其他成員設備/M-LAG設備。
本命令指定的interface interface-type interface-number service-instance instance-id參數不能是peer-link接口。如需將peer-link接口指定為多端口MAC地址表項的出接口,則需要指定peer-link參數。指定了peer-link參數後,peer-link接口上的以太網服務實例將會作為多端口MAC地址表項的一個出接口。需要注意的是,此時設備上必須要配置l2vpn drni peer-link ac-match-rule vxlan-mapping命令,否則peer-link參數不生效。
如果設備上未配置peer-link接口,則不允許在配置本命令時指定peer-link參數。
有關VXLAN的詳細介紹,請參見“VXLAN配置指導”中的“VXLAN”;有關EVPN的介紹請參見“EVPN配置指導”。
【舉例】
# 添加多端口單播本地MAC地址表項:MAC地址為000f-e201-0101,MAC地址所屬的VSI為vsi1,本地AC接口為GigabitEthernet1/0/1上的以太網服務實例1及GigabitEthernet1/0/2上的以太網服務實例1。
<Sysname> system-view
[Sysname] mac-address multiport 000f-e201-0101 interface ten-gigabitethernet 1/0/1 service-instance 1 ten-gigabitethernet 1/0/2 service-instance 1 vsi vsi1
# 添加多端口單播遠端MAC地址表項:MAC地址為000f-e201-0102,MAC地址所屬的VSI為vsi1,遠端VXLAN隧道接口為Tunnel1、Tunnel2及Tunnel3。
<Sysname> system-view
[Sysname] mac-address multiport 000f-e201-0102 interface tunnel 1 to tunnel 3 vsi vsi1
【相關命令】
· display l2vpn mac-address(VXLAN命令參考/VXLAN)
· l2vpn drni peer-link ac-match-rule vxlan-mapping(EVPN命令參考/EVPN)
mac-address mac-learning enable命令用來打開設備全局、接口或者VLAN的MAC地址學習功能。
undo mac-address mac-learning enable命令用來關閉設備全局、接口或者VLAN的MAC地址學習功能。
【命令】
mac-address mac-learning enable
undo mac-address mac-learning enable
【缺省情況】
MAC地址學習功能處於開啟狀態。
【視圖】
係統視圖
二層以太網接口視圖
二層聚合接口視圖
VLAN視圖
【缺省用戶角色】
network-admin
【使用指導】
有時為了保證設備的安全,需要關閉MAC地址學習功能。常見的危及設備安全的情況是:非法用戶使用大量源MAC地址不同的報文攻擊設備,導致設備MAC地址表資源耗盡,造成設備無法根據網絡的變化更新MAC地址表。關閉MAC地址學習功能可以有效防止這種攻擊。
關閉MAC地址學習功能時,需要注意:
· 關閉MAC地址學習功能後,設備就學不到新地址,從而影響設備及時刷新MAC地址表。用戶可以根據實際情況關閉接口的MAC地址學習功能。
· 關閉全局的MAC地址學習功能後,接口將不再學習新的MAC地址。
· 關閉MAC地址學習功能可能會導致廣播,因此在關閉接口的MAC地址學習功能的同時,一般還要使用接口廣播風暴抑製功能。有關廣播風暴抑製功能的介紹,請參見“二層技術-以太網交換配置指導”中的“以太網接口”。
· 在開啟全局的MAC地址學習功能的前提下,用戶可以關閉設備上單個接口或指定VLAN的MAC地址學習功能。
· 關閉MAC地址學習功能後,設備立即刪除已經存在的動態MAC地址表項。
全局MAC地址學習功能不能控製VPLS和VXLAN的VSI中MAC地址的學習。有關VPLS和VSI的介紹,請參見“MPLS配置指導”中的“VPLS”。有關VXLAN的介紹,請參見“VXLAN配置指導”中的“VXLAN”。
【舉例】
# 關閉全局MAC地址學習功能。
<Sysname> system-view
[Sysname] undo mac-address mac-learning enable
# 關閉VLAN 10的MAC地址學習功能。
<Sysname> system-view
[Sysname] vlan 10
[Sysname-vlan10] undo mac-address mac-learning enable
# 關閉端口Ten-GigabitEthernet1/0/1的MAC地址學習功能。
<Sysname> system-view
[Sysname] interface ten-gigabitethernet 1/0/1
[Sysname-Ten-GigabitEthernet1/0/1] undo mac-address mac-learning enable
# 關閉接口Bridge-Aggregation1的MAC地址學習功能。
<Sysname> system-view
[Sysname] interface bridge-aggregation 1
[Sysname-Bridge-Aggregation1] undo mac-address mac-learning enable
【相關命令】
· display mac-address mac-learning
mac-address mac-learning priority命令用來配置接口的MAC地址學習優先級。
undo mac-address mac-learning priority命令用來恢複缺省情況。
【命令】
mac-address mac-learning priority { high | low }
undo mac-address mac-learning priority
【缺省情況】
MAC地址學習優先級為低優先級。
【視圖】
二層以太網接口視圖
二層聚合接口視圖
【缺省用戶角色】
network-admin
【參數】
high:配置MAC地址學習優先級為高優先級。
low:配置MAC地址學習優先級為低優先級。
【使用指導】
接口的MAC地址學習功能分為兩個優先級:高優先級和低優先級。對於高優先級的接口,可以學習任何MAC地址;對於低優先級的接口,在學習MAC地址時需要查看高優先級接口是否已經學到該MAC地址,如果已經學到,則不允許學習該MAC地址。
為了預防攻擊,避免下行接口學到網關等上層設備的MAC地址,可以進行如下配置:
· 將上行接口的MAC地址學習優先級配置為高優先級。
· 將下行接口的MAC地址學習優先級配置為低優先級。
接口的MAC地址學習優先級配置僅對同一IRF成員設備上的接口生效。例如,在IRF設備上,其中一台成員設備的接口上配置了高優先級接口時,不影響其它成員設備上的低優先級接口學習MAC地址。
【舉例】
# 配置端口Ten-GigabitEthernet1/0/1的MAC地址學習優先級為高優先級。
<Sysname> system-view
[Sysname] interface ten-gigabitethernet 1/0/1
[Sysname-Ten-GigabitEthernet1/0/1] mac-address mac-learning priority high
# 配置接口Bridge-Aggregation1的MAC地址學習優先級為高優先級。
<Sysname> system-view
[Sysname] interface bridge-aggregation 1
[Sysname-Bridge-Aggregation1] mac-address mac-learning priority high
mac-address mac-move fast-update命令用來開啟在MAC地址遷移後,快速更新ARP表項的功能。
undo mac-address mac-move fast-update命令用來關閉在MAC地址遷移後,快速更新ARP表項的功能。
【命令】
mac-address mac-move fast-update
undo mac-address mac-move fast-update
【缺省情況】
在MAC地址遷移後,快速更新ARP表項的功能處於關閉狀態。
【視圖】
係統視圖
【缺省用戶角色】
network-admin
【舉例】
# 開啟在MAC地址遷移後,快速更新ARP表項的功能。
<Sysname> system-view
[Sysname] mac-address mac-move fast-update
mac-address mac-roaming enable命令用來開啟全局的MAC地址同步功能。
undo mac-address mac-roaming enable命令用來關閉全局的MAC地址同步功能。
【命令】
mac-address mac-roaming enable
undo mac-address mac-roaming enable
【缺省情況】
全局的MAC地址同步功能處於關閉狀態。
【視圖】
係統視圖
【缺省用戶角色】
network-admin
【使用指導】
多台設備組成IRF環境下,若不同成員設備上的端口為同一聚合組的選中端口,則不論全局的MAC地址同步功能是否開啟,這些選中端口所在成員設備間都會進行MAC地址同步。有關聚合組的相關介紹和配置內容,請參見“二層技術-以太網交換配置指導”中的“以太網鏈路聚合”。
多台設備組成IRF環境下,開啟全局的MAC地址同步功能後,若不同成員設備的MAC地址規格不同,會造成超過成員設備規格的MAC地址無法同步成功。
【舉例】
# 開啟全局的MAC地址同步功能。
<Sysname> system-view
[Sysname] mac-address mac-roaming enable
mac-address max-mac-count命令用來配置接口的MAC地址數學習上限。
undo mac-address max-mac-count命令用來恢複缺省情況。
【命令】
mac-address max-mac-count count
undo mac-address max-mac-count
【缺省情況】
接口未配置MAC地址數學習上限。
【視圖】
二層以太網接口視圖
二層聚合接口視圖
【缺省用戶角色】
network-admin
【參數】
count:接口的MAC地址數學習上限,為0即表示不允許該接口學習MAC地址。取值範圍為0~4096。
【使用指導】
通過配置接口的MAC地址數學習上限,用戶可以控製設備維護的MAC地址表的表項數量。如果MAC地址表過於龐大,可能導致設備的轉發性能下降。當接口學習到的MAC地址數達到上限時,該接口將不再對MAC地址進行學習。
配置為peer-link接口的二層聚合接口始終禁止進行MAC地址學習,不受本功能配置狀態影響。有關peer-link接口的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“M-LAG”。
【舉例】
# 配置端口Ten-GigabitEthernet1/0/1的MAC地址數學習上限為600。
<Sysname> system-view
[Sysname] interface ten-gigabitethernet 1/0/1
[Sysname-Ten-GigabitEthernet1/0/1] mac-address max-mac-count 600
【相關命令】
· mac-address
· mac-address max-mac-count enable-forwarding
mac-address max-mac-count enable-forwarding命令用來配置當達到接口的MAC地址數學習上限時,允許轉發源MAC地址不在MAC地址表裏的報文。
undo mac-address max-mac-count enable-forwarding命令用來配置當達到接口的MAC地址數學習上限時,禁止轉發源MAC地址不在MAC地址表裏的報文。
【命令】
mac-address max-mac-count enable-forwarding
undo mac-address max-mac-count enable-forwarding
【缺省情況】
當達到接口的MAC地址數學習上限時,允許轉發源MAC地址不在MAC地址表裏的報文。
【視圖】
二層以太網接口視圖
二層聚合接口視圖
【缺省用戶角色】
network-admin
【舉例】
# 配置端口Ten-GigabitEthernet1/0/1的MAC地址數學習上限為600,當端口學習的MAC地址數達到600時,禁止轉發源MAC地址不在MAC地址表裏的報文。
<Sysname> system-view
[Sysname] interface ten-gigabitethernet 1/0/1
[Sysname-Ten-GigabitEthernet1/0/1] mac-address max-mac-count 600
[Sysname-Ten-GigabitEthernet1/0/1] undo mac-address max-mac-count enable-forwarding
【相關命令】
· mac-address
· mac-address max-mac-count
mac-address notification mac-move命令用來開啟MAC地址遷移上報功能。
undo mac-address notification mac-move命令用來關閉MAC地址遷移上報功能。
【命令】
mac-address notification mac-move [ interval interval ]
undo mac-address notification mac-move
【缺省情況】
MAC地址遷移上報功能處於關閉狀態。
【視圖】
係統視圖
【缺省用戶角色】
network-admin
【參數】
interval interval:MAC地址遷移檢測周期,取值範圍為1~60,單位為分鍾。如果未指定該參數,將采用缺省MAC地址遷移檢測周期1分鍾。
【使用指導】
開啟MAC地址遷移上報功能後,當係統檢測到地址遷移,會按照MAC地址遷移檢測周期的間隔記錄上一個MAC地址遷移檢測周期內發生的MAC地址遷移日誌,包括MAC地址、該MAC地址所在VLAN ID、MAC地址遷移源接口和新接口,以及該MAC地址在一個MAC地址遷移檢測周期內的遷移次數。
一個MAC地址遷移檢測周期內,每台成員設備最多能生成20條MAC地址的遷移日誌,並且按遷移次數降序排列。該檢測周期內,當生成的遷移日誌超過上限時,僅保留遷移次數較大的20條遷移日誌。等到下一個檢測周期,上一個檢測周期的所有日誌信息將被丟棄,重新開始生成遷移日誌。
執行本命令後,係統采用Syslog方式上報MAC地址遷移信息到信息中心模塊,如果同時通過snmp-agent trap enable mac-address命令開啟MAC地址表的告警功能,係統還會采用Trap信息上報MAC地址遷移信息到SNMP模塊。
【舉例】
# 開啟MAC地址遷移上報功能。
<Sysname> system-view
[Sysname] mac-address notification mac-move
[Sysname]
%May 14 17:16:45:688 2019 Sysname MAC/4/MAC_FLAPPING: MAC address 0000-0012-0034 in VLAN 500 has moved from port XGE1/0/1 to port XGE1/0/2 for 1 times
以上顯示信息表明:MAC地址0000-0012-0034所在VLAN ID為500,MAC地址遷移源接口為Ten-GigabitEthernet1/0/1,MAC地址遷移新接口為Ten-GigabitEthernet1/0/2,該MAC地址在一個MAC地址遷移檢測周期內的遷移次數為1。
【相關命令】
· display mac-address mac-move
mac-address notification mac-move suppression命令用來開啟接口上的MAC地址遷移抑製功能。
undo mac-address notification mac-move suppression命令用來關閉接口上的MAC地址遷移抑製功能。
【命令】
mac-address notification mac-move suppression
undo mac-address notification mac-move suppression
【缺省情況】
MAC地址遷移抑製功能處於關閉狀態。
【視圖】
二層以太網接口視圖
二層聚合接口視圖
【缺省用戶角色】
network-admin
【使用指導】
開啟MAC地址遷移抑製功能後,當監測到一個MAC地址遷移檢測周期內某個MAC地址從某端口上遷移出或者遷移到該端口的次數超過MAC地址遷移抑製的檢測閾值,則將該端口down,用戶可以執行命令shutdown和undo shutdown將該端口恢複,也可以等MAC地址遷移抑製時間間隔後讓該端口自行恢複up。
MAC地址遷移抑製功能使端口down後,係統將發送日誌信息到信息中心模塊,如果設備開啟了MAC地址表的告警功能(snmp-agent trap enable mac-address命令),係統還會發送告警信息到設備的SNMP模塊。
【舉例】
# 開啟MAC地址遷移抑製功能。
<Sysname> system-view
[Sysname] interface ten-gigabitethernet 1/0/1
[Sysname-Ten-GigabitEthernet1/0/1] mac-address notification mac-move suppression
【相關命令】
· mac-address notification mac-move suppression (system view)
mac-address notification mac-move suppression命令用來配置MAC地址遷移抑製功能的相關參數。
undo mac-address notification mac-move suppression命令用來恢複缺省情況。
【命令】
mac-address notification mac-move suppression { interval interval | threshold threshold }
undo mac-address notification mac-move suppression { interval | threshold }
【缺省情況】
MAC地址遷移抑製功能的相關參數未配置,采用缺省抑製時間間隔30秒和缺省閾值3次。
【視圖】
係統視圖
【缺省用戶角色】
network-admin
【參數】
interval interval:MAC地址遷移抑製時間間隔(檢測攻擊後,端口保持down狀態的持續時間),取值範圍為30~86400,單位為秒。如果未指定該參數,將采用缺省抑製時間間隔30秒。
threshold threshold:MAC地址遷移抑製的檢測閾值(一個MAC地址遷移檢測周期內允許MAC地址遷移的最大的遷移次數),取值範圍為0~1024。如果未指定該參數,將采用缺省閾值3次。
【使用指導】
配置本命令後,當接口上開啟了MAC地址遷移抑製功能時,本命令配置的參數才能生效。
本命令可多次配置,配置interval interval和threshold threshold時互不影響。
【舉例】
# 配置MAC地址遷移抑製功能的抑製間隔為40s,檢測閾值為1。
<Sysname> system-view
[Sysname] mac-address notification mac-move suppression interval 40
[Sysname] mac-address notification mac-move suppression threshold 1
【相關命令】
· mac-address notification mac-move suppression (interface view)
mac-address static source-check enable命令用來開啟報文入接口與靜態MAC地址表項匹配檢查功能。
undo mac-address static source-check enable命令用來關閉報文入接口與靜態MAC地址表項匹配檢查功能。
【命令】
mac-address static source-check enable
undo mac-address static source-check enable
【缺省情況】
報文入接口與靜態MAC地址表項匹配檢查功能處於開啟狀態。
【視圖】
係統視圖
二層以太網接口視圖
二層聚合接口視圖
三層以太網接口視圖
三層以太網子接口視圖
三層聚合接口視圖
三層聚合子接口視圖
IRF物理端口視圖
【缺省用戶角色】
network-admin
【使用指導】
係統視圖下配置本命令時,將會開啟或關閉所有接口上的報文入接口與靜態MAC地址表項匹配檢查功能。在接口視圖下配置本命令時,配置的效果與係統視圖下配置相同。在聚合組的成員接口下配置本命令時,本命令不生效,但該配置會被保留,直至成員接口退出聚合組後本功能才生效。
【舉例】
# 全局關閉報文入接口與靜態MAC地址表項匹配檢查功能。
<Sysname> system-view
[Sysname] undo mac-address static source-check enable
mac-address timer命令用來配置動態MAC地址表項的老化時間。
undo mac-address timer命令用來恢複缺省情況。
【命令】
mac-address timer { aging seconds | no-aging }
undo mac-address timer
【缺省情況】
動態MAC地址表項的老化時間為300秒。
【視圖】
係統視圖
【缺省用戶角色】
network-admin
【參數】
aging seconds:動態MAC地址表項的老化時間,取值範圍為10~1000000,單位為秒。
no-aging:不老化。
【使用指導】
用戶配置的老化時間過長或者過短,都可能影響設備的運行性能:
· 如果用戶配置的老化時間過長,設備可能會保存許多過時的MAC地址表項,從而耗盡MAC地址表資源,導致設備無法根據網絡的變化更新MAC地址表。
· 如果用戶配置的老化時間太短,設備可能會刪除有效的MAC地址表項,可能導致設備廣播大量的數據報文,影響設備的運行性能。
所以用戶需要根據實際情況,配置合適的老化時間來有效的實現MAC地址老化功能。
【舉例】
# 配置動態MAC地址表項的老化時間為500秒。
<Sysname> system-view
[Sysname] mac-address timer aging 500
【相關命令】
· display mac-address aging-time
snmp-agent trap enable mac-address命令用來開啟MAC地址表的告警功能。
undo snmp-agent trap enable mac-address命令用來關閉MAC地址表的告警功能。
【命令】
snmp-agent trap enable mac-address [ entry-limit | hash-conflict | illegal-mac | mac-move ] *
undo snmp-agent trap enable mac-address [ entry-limit | hash-conflict | illegal-mac | mac-move ] *
【缺省情況】
MAC地址表的告警功能處於開啟狀態。
【視圖】
係統視圖
【缺省用戶角色】
network-admin
【參數】
entry-limit:學習到的MAC地址數量達到了數量上限時的告警信息,以及學習到的MAC地址數量降低到數量上限的80%時的告警信息。
illegal-mac:端口收到源或目的MAC地址為全0地址報文時的告警信息。
hash-conflict:發生MAC地址Hash衝突時的告警信息。
mac-move:MAC地址遷移上報的告警信息。
【使用指導】
開啟MAC地址表的告警功能後,MAC地址表模塊會生成告警信息,用於報告該模塊的重要事件。生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。
關閉MAC地址表的告警功能後,設備將隻發送日誌信息到信息中心模塊,此時請配置信息中心的輸出規則和輸出方向來查看MAC地址表模塊的日誌信息。
有關SNMP和信息中心的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”和“信息中心”。
執行本命令時,若不指定任何告警信息參數,則MAC地址表模塊將生成或取消生成所有類型的告警信息;若指定了告警信息參數,則MAC地址表模塊隻會生成或取消生成指定類型的告警信息。
【舉例】
# 關閉MAC地址遷移的告警功能。
<Sysname> system-view
[Sysname] undo snmp-agent trap enable mac-address mac-move
【相關命令】
· mac-address hash-bucket-size
· mac-address max-mac-count
· mac-address notification mac-move
mac-address information enable命令用來開啟接口的MAC Information功能。
undo mac-address information enable命令用來關閉接口的MAC Information功能。
【命令】
mac-address information enable { added | deleted }
undo mac-address information enable { added | deleted }
【缺省情況】
接口的MAC Information功能處於關閉狀態。
【視圖】
二層以太網接口視圖
【缺省用戶角色】
network-admin
【參數】
added:表示配置接口在學習到新的MAC地址時記錄MAC變化信息。
deleted:表示配置接口在刪除MAC地址時記錄MAC變化信息。
【使用指導】
必須同時開啟全局和接口的MAC Information功能,MAC Information功能才會生效。
【舉例】
# 開啟端口Ten-GigabitEthernet1/0/1的MAC Information功能,使端口在學習到新的MAC時記錄MAC變化信息。
<Sysname> system-view
[Sysname] interface ten-gigabitethernet 1/0/1
[Sysname-Ten-GigabitEthernet1/0/1] mac-address information enable added
【相關命令】
· mac-address information enable (system view)
mac-address information enable命令用來開啟全局MAC Information功能。
undo mac-address information enable命令用來關閉全局MAC Information功能。
【命令】
mac-address information enable
undo mac-address information enable
【缺省情況】
全局MAC Information功能處於關閉狀態。
【視圖】
係統視圖
【缺省用戶角色】
network-admin
【使用指導】
必須同時開啟全局和接口的MAC Information功能,MAC Information功能才會生效。
【舉例】
# 開啟全局MAC Information功能。
<Sysname> system-view
[Sysname] mac-address information enable
【相關命令】
· mac-address information enable (interface view)
mac-address information interval命令用來配置發送MAC變化通知的時間間隔。
undo mac-address information interval命令用來恢複缺省情況。
【命令】
mac-address information interval interval
undo mac-address information interval
【缺省情況】
發送MAC變化通知的時間間隔為1秒。
【視圖】
係統視圖
【缺省用戶角色】
network-admin
【參數】
interval:發送MAC變化通知的時間間隔,取值範圍為1~20000,單位為秒。
【使用指導】
為了防止過於頻繁發送的MAC變化通知幹擾用戶,可以將此時間間隔調整為較大值。
【舉例】
# 配置設備發送MAC變化通知的時間間隔為200秒。
<Sysname> system-view
[Sysname] mac-address information interval 200
mac-address information mode命令用來配置發送MAC變化通知的方式。
undo mac-address information mode命令用來恢複缺省情況。
【命令】
mac-address information mode { syslog | trap }
undo mac-address information mode
【缺省情況】
采用Trap方式發送MAC變化通知。
【視圖】
係統視圖
【缺省用戶角色】
network-admin
【參數】
syslog:表示采用Syslog方式發送MAC變化通知。
trap:表示采用Trap方式發送MAC變化通知。
【舉例】
# 配置設備采用Trap方式發送MAC變化通知。
<Sysname> system-view
[Sysname] mac-address information mode trap
mac-address information queue-length命令用來配置MAC Information緩存隊列長度。
undo mac-address information queue-length命令用來恢複缺省情況。
【命令】
mac-address information queue-length value
undo mac-address information queue-length
【缺省情況】
MAC Information緩存隊列長度為50。
【視圖】
係統視圖
【缺省用戶角色】
network-admin
【參數】
value:MAC Information緩存隊列長度,取值範圍為0~1000,表示可存放的MAC地址變化信息條數。
【使用指導】
如果MAC Information緩存隊列長度為0,則當接口學習到或刪除掉一條MAC地址時會立即發送日誌或SNMP告警信息。
如果MAC Information緩存隊列長度不為0,則將MAC地址變化信息存放在緩存隊列中。當未達到發送MAC變化通知的時間間隔,此時若緩存隊列被寫滿,新的MAC地址變化信息將覆蓋緩存隊列中最後一條寫入的信息;當達到發送MAC變化通知的時間間隔時,不論此時緩存隊列是否已被寫滿,都發送日誌或SNMP告警信息。
【舉例】
# 配置MAC Information緩存隊列長度為600。
<Sysname> system-view
[Sysname] mac-address information queue-length 600
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!