02-MAC地址表配置
本章節下載: 02-MAC地址表配置 (227.11 KB)
目 錄
· MAC地址表中對於接口的相關配置,目前隻能在二層以太網接口和二層聚合接口上進行。
· 本章節內容隻涉及單播的靜態、動態、黑洞MAC地址表項和多端口單播MAC地址表項的配置,有關靜態組播MAC地址表項的相關介紹和配置內容,請參見“IP組播配置指導”中的“組播路由與轉發”和“IPv6組播路由與轉發”。
· 設備支持兩種運行模式:獨立運行模式和IRF模式,缺省情況為獨立運行模式。有關IRF模式的介紹,請參見“IRF配置指導”中的“IRF”。
MAC地址表記錄了與該設備相連的設備的MAC地址、與該設備相連的設備的接口號以及所屬的VLAN ID。在轉發數據時,設備根據報文中的目的MAC地址查詢MAC地址表,快速定位出接口,從而減少廣播。
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的報文,或MAC地址表中沒有包含對應報文目的MAC地址的表項時,設備將采取廣播方式將報文向除接收接口外的所有接口進行轉發。
以下配置均為可選配置,且配置過程無先後順序,用戶可以根據實際情況選擇配置。
一般情況下,設備通過源MAC地址學習過程自動建立MAC地址表。
為了提高接口安全性,網絡管理員可手工在MAC地址表中加入特定MAC地址表項,將用戶設備與接口綁定,從而防止假冒身份的非法用戶騙取數據。
另外,如果需要丟棄指定源MAC地址或目的MAC地址的報文,可配置黑洞MAC地址表項。
表1-1 全局配置MAC地址表項
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
全局配置MAC地址表項 |
配置動態/靜態MAC地址表項 |
mac-address { dynamic | static } mac-address interface interface-type interface-number vlan vlan-id |
二者必選其一 |
配置黑洞MAC地址表項 |
mac-address blackhole mac-address vlan vlan-id |
在添加MAC地址表項時,命令中interface參數指定的接口必須屬於vlan參數指定的VLAN,而且該VLAN必須事先創建,否則將添加失敗。
表1-2 接口配置MAC地址表項
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入二層以太網接口或者二層聚合接口視圖 |
interface interface-type interface-number |
- |
添加/修改接口下的MAC地址表項 |
mac-address { dynamic | static } mac-address vlan vlan-id |
必選 |
在添加MAC地址表項時,當前的接口必須屬於命令中vlan參數指定的VLAN,而且該VLAN必須事先創建,否則將添加失敗。
網絡管理員可手工配置多端口單播MAC地址表項,將多個端口和單播MAC地址綁定,以實現目的地址匹配該MAC地址的報文通過多個端口轉發出去。比如當有一組服務器同時處理客戶端請求時,客戶端不用了解服務器的細節,會認為隻有一台服務器在響應請求,這時可以在服務器組的連接設備上配置多端口單播MAC地址表項,把客戶端發往服務器組(即客戶端認為的服務器)的報文轉發至每一台服務器。
表1-3 全局配置多端口單播MAC地址表項
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置靜態多端口單播MAC地址表項 |
mac-address multiport mac-address interface interface-list vlan vlan-id |
必選 缺省情況下,沒有配置靜態多端口單播MAC地址表項 |
· 在添加多端口單播MAC地址表項時,命令中interface參數指定的接口必須屬於vlan參數指定的VLAN(該VLAN必須事先創建),否則將添加失敗。
· 當將以太網接口加入到聚合組後,該端口上的多端口單播MAC地址表項配置可能會不生效。因此,建議用戶在該聚合組對應的聚合接口視圖下配置多端口單播MAC地址表項。
表1-4 接口配置多端口單播MAC地址表項
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入相應視圖 |
進入二層以太網接口、二層聚合接口視圖 |
interface interface-type interface-number |
二者必選其一 進入二層以太網接口或二層聚合接口視圖後,下麵進行的配置隻在當前接口生效;進入端口組視圖後,下麵進行的配置將在端口組的所有接口生效 |
進入端口組視圖 |
port-group manual port-group-name |
||
配置靜態多端口單播MAC地址表項 |
mac-address multiport mac-address vlan vlan-id |
必選 缺省情況下,沒有配置靜態多端口單播MAC地址表項 |
· 在添加多端口單播MAC地址表項時,當前的接口必須屬於命令中vlan參數指定的VLAN(該VLAN必須事先創建),否則將添加失敗。
· 在IRF模式下,靜態多端口單播MAC地址表項中的mac-address參數不能和靜態鄰居表項中的mac-address參數一致,否則會造成衝突。關於靜態鄰居表項的介紹請參見“三層技術-IP業務”中的“IPv6基礎”。
· 當將以太網接口加入到聚合組後,該端口上的多端口單播MAC地址表項配置可能會不生效。因此,建議用戶在該聚合組對應的聚合接口視圖下配置多端口單播MAC地址表項。
當網絡拓撲改變後,動態MAC地址表項不會及時自動更新。這樣,由於設備學習不到新的MAC地址,會導致用戶流量不能正常轉發。因此,需要配置動態MAC地址表項老化時間。超出設定的老化時間,動態MAC地址表項被自動刪除,設備重新進行MAC地址學習,構建新的動態MAC地址表項。
配置合適的老化時間可以有效利用MAC地址老化功能。用戶配置的老化時間過長或者過短,都可能影響設備的運行性能:
· 如果用戶配置的老化時間過長,設備可能會保存許多過時的MAC地址表項,從而耗盡MAC地址表資源,導致設備無法根據網絡的變化更新MAC地址表。
· 如果用戶配置的老化時間太短,設備可能會刪除有效的MAC地址表項,可能導致設備廣播大量的數據報文,影響設備的運行性能。
表1-5 配置動態MAC地址表項的老化時間
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置動態MAC地址表項的老化時間 |
mac-address timer { aging seconds | no-aging } |
可選 缺省情況下,MAC地址老化時間為300s |
· 動態MAC地址表項的老化時間作用於全部接口上,地址老化隻對動態的(設備學習到的或者用戶配置的動態的)MAC地址表項起作用。
· 在一個比較穩定的網絡,如果長時間沒有流量,動態MAC地址表項會被全部刪除,可能導致設備突然廣播大量的數據報文,被他人偵聽,造成安全隱患,此時可將動態MAC地址表項的老化時間設成no-aging(即不老化),以減少廣播,增加網絡穩定性和安全性。
通過配置以太網接口或端口組或二層聚合接口最多可以學習到的MAC地址數,用戶可以控製設備維護的MAC地址表的表項數量。當接口學習到的MAC地址數達到配置的最大值時,該接口將不再對MAC地址進行學習。
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入相應視圖 |
進入以太網接口視圖 |
interface interface-type interface-number |
三者必選其一 進入以太網接口或二層聚合接口視圖後,下麵進行的配置隻在當前接口生效;進入端口組視圖後,下麵進行的配置將在端口組的所有接口生效 |
進入端口組視圖 |
port-group manual port-group-name |
||
進入二層聚合接口視圖 |
interface bridge-aggregation interface-number |
||
配置接口最多可以學習到的MAC地址數,以及當接口學習到的MAC地址數達到配置的最大值時,是否繼續轉發源MAC地址不在MAC地址表裏的數據幀 |
mac-address max-mac-count { count | disable-forwarding } |
必選 缺省情況下,以太網接口或端口組或二層聚合接口最多可以學習到的MAC地址數目不作限製,並且當以太網接口或端口組或二層聚合接口學習的MAC地址數達到配置的最大MAC地址數後,允許轉發源MAC地址不在MAC地址表裏的數據幀 |
通過配置VLAN最多可以學習到的MAC地址數,用戶可以控製設備維護的VLAN的MAC地址表的表項數量。當VLAN學習到的MAC地址條數達到最大值時,該VLAN將不再對MAC地址進行學習。
表1-7 配置VLAN最多可以學習到的MAC地址數
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入VLAN視圖 |
vlan vlan-id |
- |
配置VLAN最多可以學習到的MAC地址數,以及當VLAN學習到的MAC地址數達到最大值時,是否繼續轉發源MAC地址不在MAC地址表裏的數據幀 |
mac-address max-mac-count { count | disable-forwarding } |
必選 缺省情況下,VLAN最多可以學習到的MAC地址數目不作限製,並且當VLAN學習的MAC地址數達到配置的最大MAC地址數後,允許轉發源MAC地址不在MAC地址表裏的數據幀 |
MAC地址遷移是指:設備從某接口(假設接口A)學習到某MAC地址,之後從另一接口(假設接口B)接收到了以該MAC地址為源MAC地址的報文,且接口B與接口A所屬的VLAN相同,則該MAC地址表項的出接口改為接口B,即MAC地址從接口A遷移到接口B。如果MAC地址遷移頻繁出現,且同一MAC地址總是在特定的兩個接口之間遷移,那麼網絡中可能存在二層環路。網絡連接錯誤或配置錯誤都容易導致網絡出現環路,使設備重複發送報文,造成網絡資源浪費甚至網絡癱瘓。
您可以通過MAC地址遷移日誌上報功能來發現和定位二層環路。
表1-8 配置MAC地址遷移日誌上報
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
使能MAC地址遷移日誌上報功能 |
mac-flapping notification enable |
必選 缺省情況下,MAC地址遷移日誌上報功能處於關閉狀態 |
· 使能本功能後,係統將每分鍾上報一次上一分鍾發生的MAC地址遷移日誌。
· 如果要查看設備啟動後的MAC地址遷移記錄,請使用display mac-flapping information命令。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後MAC地址表的運行情況,通過查看顯示信息驗證配置的效果。
表1-9 MAC地址表顯示和維護
操作 |
命令 |
顯示MAC地址表信息 |
display mac-address [ mac-address [ vlan vlan-id ] | [ [ dynamic | static ] [ interface interface-type interface-number ] | blackhole ] [ vlan vlan-id ] [ count ] ] [ | { begin | exclude | include } regular-expression ] |
顯示多端口單播MAC地址表信息 |
display mac-address multiport [ vlan vlan-id ] [ count ] [ | { begin | exclude | include } regular-expression ] |
顯示MAC地址表動態表項的老化時間 |
display mac-address aging-time [ | { begin | exclude | include } regular-expression ] |
顯示MAC地址遷移記錄(獨立運行模式) |
display mac-flapping information [ slot slot-number ] |
顯示MAC地址遷移記錄(IRF模式) |
display mac-flapping information [ chassis chassis-number [ slot slot-number ] ] |
缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使接口狀態處於UP。
· 現有一個用戶主機Host A,它的MAC地址為000f-e235-dc71,所屬VLAN為VLAN 1,所連的設備接口為GigabitEthernet3/0/1。為防止MAC地址攻擊,在設備的MAC地址表中為該用戶主機添加一條靜態表項。
· 另有一個用戶主機Host B,它的MAC地址為000f-e235-abcd,所屬VLAN為VLAN 1。由於該用戶主機曾經接入網絡進行非法操作,為了避免此種情況再次發生,在設備上添加一條目的黑洞MAC地址表項,使該用戶主機接收不到報文。
· 配置設備的動態MAC地址表項老化時間為500秒。
# 增加一個靜態MAC地址表項。
<Sysname> system-view
[Sysname] mac-address static 000f-e235-dc71 interface Gigabitethernet 3/0/1 vlan 1
# 增加一個目的黑洞MAC地址表項。
[Sysname] mac-address blackhole 000f-e235-abcd vlan 1
# 配置動態MAC地址表項的老化時間為500秒。
[Sysname] mac-address timer aging 500
# 查看以太網接口GigabitEthernet3/0/1上的MAC地址表信息。
[Sysname] display mac-address interface Gigabitethernet 3/0/1
MAC ADDR VLAN ID STATE PORT INDEX AGING TIME(s)
000f-e235-dc71 1 Config static GigabitEthernet3/0/1 NOAGED
--- 1 mac address(es) found on port GigabitEthernet3/0/1 ---
# 查看目的黑洞MAC地址表信息。
[Sysname] display mac-address blackhole
MAC ADDR VLAN ID STATE PORT INDEX AGING TIME(s)
000f-e235-abcd 1 Blackhole N/A NOAGED
--- 1 mac address(es) found ---
# 查看動態MAC地址表項的老化時間。
[Sysname] display mac-address aging-time
Mac address aging time: 500s
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!