01-MAC地址表配置
本章節下載: 01-MAC地址表配置 (254.39 KB)
MAC(Media Access Control,媒體訪問控製)地址表記錄了MAC地址與接口的對應關係,以及接口所屬的VLAN等信息。設備在轉發報文時,根據報文的目的MAC地址查詢MAC地址表,如果MAC地址表中包含與報文目的MAC地址對應的表項,則直接通過該表項中的出接口轉發該報文;如果MAC地址表中沒有包含報文目的MAC地址對應的表項時,設備將采取廣播方式通過對應VLAN內除接收接口外的所有接口轉發該報文。
MAC地址表項的生成方式有兩種:自動生成、手工配置。
一般情況下,MAC地址表由設備通過源MAC地址學習自動生成。設備學習MAC地址的過程如下:
· 從某接口(假設為接口A)收到一個數據幀,設備分析該數據幀的源MAC地址(假設為MAC-SOURCE),並認為目的MAC地址為MAC-SOURCE的報文可以由接口A轉發。
· 如果MAC地址表中已經包含MAC-SOURCE,設備將對該表項進行更新。
· 如果MAC地址表中尚未包含MAC-SOURCE,設備則將這個新MAC地址以及該MAC地址對應的接口A作為一個新的表項加入到MAC地址表中。
為適應網絡拓撲的變化,MAC地址表需要不斷更新。MAC地址表中自動生成的表項並非永遠有效,每一條表項都有一個生存周期,到達生存周期仍得不到刷新的表項將被刪除,這個生存周期被稱作老化時間。如果在到達生存周期前某表項被刷新,則重新計算該表項的老化時間。
設備通過源MAC地址學習自動生成MAC地址表時,無法區分合法用戶和非法用戶的報文,帶來了安全隱患。如果非法用戶將攻擊報文的源MAC地址偽裝成合法用戶的MAC地址,並從設備的其他接口進入,設備就會學習到錯誤的MAC地址表項,於是將本應轉發給合法用戶的報文轉發給非法用戶。
為了提高安全性,網絡管理員可手工在MAC地址表中加入特定MAC地址表項,將用戶設備與接口綁定,從而防止非法用戶騙取數據。
MAC地址表項分為以下幾種:
· 靜態MAC地址表項:由用戶手工配置,用於目的是某個MAC地址的報文從對應接口轉發出去,表項不老化。靜態MAC地址表項優先級高於自動生成的MAC地址表項。
· 動態MAC地址表項:可以由用戶手工配置,也可以由設備通過源MAC地址學習自動生成,用於目的是某個MAC地址的報文從對應接口轉發出去,表項有老化時間。手工配置的動態MAC地址表項優先級等於自動生成的MAC地址表項。
· 黑洞MAC地址表項:由用戶手工配置,用於丟棄源MAC地址或目的MAC地址為指定MAC地址的報文(例如,出於安全考慮,可以禁止某個用戶發送和接收報文),表項不老化。黑洞MAC地址表項優先級高於自動生成的MAC地址表項。
靜態MAC地址表項、黑洞MAC地址表項不會被動態MAC地址表項覆蓋,而動態MAC地址表項可以被靜態MAC地址表項、黑洞MAC地址表項覆蓋。靜態MAC地址表項、黑洞MAC地址表項不會彼此覆蓋。
本章中的所有配置均為可選,請根據實際情況選擇配置。
· 配置MAC地址學習功能
配置MAC地址表項後,當設備收到的報文的源MAC地址與配置表項中的MAC地址相同時,不同類型的MAC地址表項處理方式不同。
表1-1 不同類型MAC地址表項對源MAC地址匹配報文的處理方式
MAC地址表項類型 |
報文源MAC地址與配置表項中的MAC地址相同 |
靜態MAC地址表項 |
不檢查報文入接口與表項中的接口是否相同,直接根據目的MAC地址轉發該報文 |
黑洞MAC地址表項 |
丟棄該報文 |
動態MAC地址表項 |
· 如果報文入接口與該表項中的接口不同,則進行MAC地址學習,並覆蓋該表項 · 如果報文入接口與該表項中的接口相同,則轉發該報文,並更新該表項老化時間 |
在手工配置動態MAC地址表項時,如果MAC地址表中已經存在MAC地址相匹配的自動生成表項,但該表項的接口與配置不符,那麼該手工配置失敗。
如果不保存配置,設備重啟後所有手工配置的MAC地址表項都會丟失;如果保存配置,設備重啟後手工配置的靜態MAC地址表項、黑洞MAC地址表項不會丟失,手工配置的動態MAC地址表項會丟失。
設備的保留MAC地址和三層以太網接口/三層以太網子接口/三層聚合接口/三層聚合子接口的MAC地址不允許配置為靜態、動態、黑洞MAC。有關橋MAC地址的詳細介紹,請參見“虛擬化技術”中的“IRF”。
手工配置MAC地址表項時,必須先創建指定接口所屬的VLAN,否則配置失敗。
(1) 進入係統視圖。
system-view
(2) 添加或者修改靜態/動態MAC地址表項。
mac-address { dynamic | static } mac-address interface interface-type interface-number vlan vlan-id
缺省情況下,未配置靜態/動態MAC地址表項。
interface參數指定的接口必須屬於vlan-id參數指定的VLAN。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
(3) 在接口下添加或者修改靜態/動態MAC地址表項。
mac-address { dynamic | static } mac-address vlan vlan-id
缺省情況下,接口下未配置靜態/動態MAC地址表項。
當前接口必須屬於vlan-id參數指定的VLAN。
(1) 進入係統視圖。
system-view
(2) 添加或者修改黑洞MAC地址表項。
mac-address blackhole mac-address vlan vlan-id
缺省情況下,未配置黑洞MAC地址表項。
當網絡拓撲改變後,如果動態MAC地址表項不及時更新,會導致用戶流量不能正常轉發。配置動態MAC地址表項的老化時間後,超過老化時間的動態MAC地址表項會被自動刪除,設備將重新進行MAC地址學習,構建新的動態MAC地址表項。
用戶配置的老化時間過長或者過短,都可能影響設備的運行性能:
· 如果用戶配置的老化時間過長,設備可能會保存許多過時的MAC地址表項,從而耗盡MAC地址表資源,導致設備無法根據網絡的變化更新MAC地址表。
· 如果用戶配置的老化時間太短,設備可能會刪除有效的MAC地址表項,導致設備廣播大量的數據報文,增加網絡的負擔。
用戶需要根據實際情況,配置合適的老化時間。如果網絡比較穩定,可以將老化時間配置得長一些或者配置為不老化;否則,可以將老化時間配置得短一些。比如在一個比較穩定的網絡,如果長時間沒有流量,動態MAC地址表項會被全部刪除,可能導致設備突然廣播大量的數據報文,造成安全隱患,此時可將動態MAC地址表項的老化時間設得長一些或不老化,以減少廣播,增加網絡穩定性和安全性。
動態MAC地址表項的老化時間作用於全部接口上。
(1) 進入係統視圖。
system-view
(2) 配置動態MAC地址表項的老化時間。
mac-address timer { aging seconds | no-aging }
缺省情況下,動態MAC地址表項的老化時間為300秒。
缺省情況下,MAC地址學習功能處於開啟狀態。有時為了保證設備的安全,需要關閉MAC地址學習功能。常見的危及設備安全的情況是:非法用戶使用大量源MAC地址不同的報文攻擊設備,導致設備MAC地址表資源耗盡,造成設備無法根據網絡的變化更新MAC地址表。關閉MAC地址學習功能可以有效防止這種攻擊。
關閉MAC地址學習功能後,對於已經存在的動態MAC地址表項,待老化時間結束後自然老化。
關閉全局的MAC地址學習功能後,接口將不再學習新的MAC地址。
(1) 進入係統視圖。
system-view
(2) 關閉全局的MAC地址學習功能。
undo mac-address mac-learning enable
缺省情況下,全局的MAC地址學習功能處於開啟狀態。
在開啟全局的MAC地址學習功能的前提下,用戶可以關閉設備上單個接口的MAC地址學習功能。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
(3) 關閉接口的MAC地址學習功能。
undo mac-address mac-learning enable
缺省情況下,接口的MAC地址學習功能處於開啟狀態。
通過配置接口的MAC地址數學習上限,用戶可以控製設備維護的MAC地址表的表項數量。如果MAC地址表過於龐大,可能導致設備的轉發性能下降。當接口學習到的MAC地址數達到上限時,該接口將不再對MAC地址進行學習。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
(3) 配置接口的MAC地址數學習上限。
mac-address max-mac-count count
缺省情況下,接口的MAC地址數學習上限僅受設備硬件能力的限製。
當學習到的MAC地址數達到上限時,用戶可以選擇是否允許係統轉發源MAC不在MAC地址表裏的報文。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
(3) 配置當達到接口的MAC地址數學習上限時,允許轉發源MAC地址不在MAC地址表裏的報文。
mac-address max-mac-count enable-forwarding
缺省情況下,當達到接口的MAC地址數學習上限時,允許轉發源MAC地址不在MAC地址表裏的報文。
基於MAC地址轉發報文的網絡有時會因為下行接口的攻擊行為或者環路,下行接口學習到網關等上層設備的MAC地址。為了避免這種情況,將接口的MAC地址學習功能分為兩個優先級:高優先級和低優先級。對於高優先級的接口,可以學習任何MAC地址;對於低優先級的接口,在學習MAC地址時需要查看高優先級接口是否已經學到該MAC地址,如果已經學到,則不允許學習該MAC地址。比如,可以將上行接口的MAC地址學習優先級配置為高優先級,下行接口的MAC地址學習優先級配置為低優先級,那麼,下行接口就不會學到網關等上層設備的MAC地址,避免了攻擊。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
(3) 配置接口的MAC地址學習優先級。
mac-address mac-learning priority { high | low }
缺省情況下,MAC地址學習優先級為低優先級。
開啟MAC地址表的告警功能後,MAC地址表模塊會生成告警信息,用於報告該模塊的重要事件。生成的告警信息將發送到設備的SNMP模塊,請通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。
關閉MAC地址表的告警功能後,設備將隻發送日誌信息到信息中心模塊,此時請配置信息中心的輸出規則和輸出方向來查看MAC地址表模塊的日誌信息。
有關SNMP和信息中心的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”和“信息中心”。
(1) 進入係統視圖。
system-view
(2) 開啟MAC地址表的告警功能。
snmp-agent trap enable mac-address
缺省情況下,MAC地址表的告警功能處於開啟狀態。
當MAC地址表的告警功能關閉後,將采用Syslog方式上報信息。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後MAC地址表的運行情況,通過查看顯示信息驗證配置的效果。
表1-2 MAC地址表顯示和維護
操作 |
命令 |
顯示MAC地址表信息 |
display mac-address [ mac-address [ vlan vlan-id ] | [ [ dynamic | static ] [ interface interface-type interface-number ] | blackhole ] [ vlan vlan-id ] [ count ] ] |
顯示MAC地址表動態表項的老化時間 |
display mac-address aging-time |
顯示MAC地址學習功能的開啟狀態 |
display mac-address mac-learning [ interface interface-type interface-number ] |
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!