本檔案介紹在Cisco Catalyst交換器上的VLAN(交換虛擬介面[SVI])或第3層(L3)介面上支援設定唯一MAC位址。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
Supervisor Engine上使用Catalyst OS(CatOS),多層交換器功能卡(MSFC)上則使用Cisco IOS®軟體(混合):CatOS 映像可作為系統軟體,在 Catalyst 6500/6000 交換器上執行 Supervisor Engine。如果安裝了選用的 MSFC,則會使用單獨的 Cisco IOS 軟體映像來執行 MSFC。
Supervisor Engine 和 MSFC 上皆使用 Cisco IOS 軟體(原生):單一 Cisco IOS 軟體映像可作為系統軟體,在 Catalyst 6500/6000 交換器上執行 Supervisor Engine 和 MSFC。
註:有關詳細資訊,請參閱適用於Cisco Catalyst 6500系列交換機的Cisco Catalyst和Cisco IOS作業系統的比較。
預設情況下,Catalyst交換機在所有介面上配置了相同的MAC地址。本節中的圖表顯示搭載Supervisor Engine 2和MSFC2的Catalyst 6500。但是,所有三個VLAN介面上的MAC位址相同,即使IP位址不同。
Catalyst交換器對變更VLAN(SVI)或L3介面的MAC位址的能力具有不同的支援。如果網路裝置支援多個IP,則無需將內建MAC地址更改為單個MAC地址解析協定(ARP)表,這是常見情況。此外,如果交換器支援每個VLAN的MAC位址表,您無需變更MAC位址。思科交換機支援每個VLAN MAC地址表或內容可定址儲存器(CAM)表。此支援允許交換機維護每個VLAN的MAC地址表。因此,交換機可以在多個VLAN介面上使用相同的MAC地址,而不會出現問題。
注意:如果在多個介面上重複使用HSRP組ID,則熱備份路由器協定(HSRP)組使用相同的虛擬MAC地址。因此,您必須瞭解並在可能的情況下使用不同的HSRP組。若要瞭解Catalyst 6500/6000上的HSRP組限制,請參閱以下檔案:
Catalyst 3550交換機、帶有Supervisor Engine III/IV的Catalyst 4500/4000交換機以及帶有Supervisor Engine 720的Catalyst 6500交換機在0到255範圍內支援最多256個唯一HSRP組ID。
第2層介面(交換機埠)的MAC地址是唯一的,並且分配給該特定線路模組。在Cisco 6500/6000、4500/4000、3750、3560、3550和2970系列交換機中,您無法在交換機埠上更改MAC地址。在Cisco 2940和2950/2955系列交換機中,可以在介面配置模式下使用mac-address命令更改交換機埠的MAC地址。
用於生成樹計算的MAC地址儲存在Supervisor模組中的EEPROM中。無論安裝的線路模組型別如何,VLAN的第2層MAC地址都不會更改,除非您更換了Supervisor模組。如果確實要更換Supervisor模組,則所有VLAN的第2層MAC地址將更改為新Supervisor模組上的地址分配器中指定的地址。在固定配置的Catalyst交換機中,無法更改VLAN的MAC地址。
本節討論支援更改每個介面的MAC地址的交換機。
此輸出來自MSFC1,其中所有介面的預設MAC地址相同:
cs-6506-24a#show interfaces | include line | address Vlan1 is down, line protocol is down Hardware is Cat6k RP Virtual Ethernet, address is 00d0.bcf1.ee5c (bia 00d0.bcf1.ee5c) Internet address is 14.18.2.182/16 Vlan2 is down, line protocol is down Hardware is Cat6k RP Virtual Ethernet, address is 00d0.bcf1.ee5c (bia 00d0.bcf1.ee5c) cs-6506-24a#
使用mac-address mac_address 介面配置命令更改MAC地址。以下是範例:
cs-6506-24a#configure terminal Enter configuration commands, one per line. End with CNTL/Z. cs-6506-24a(config)#interface vlan 1 cs-6506-24a(config-if)#mac-address 0007.0001.0001 cs-6506-24a(config-if)#exit cs-6506-24a(config)#interface vlan 2 cs-6506-24a(config-if)#mac-address 0007.0001.0002 cs-6506-24a(config-if)#end cs-6506-24a#
按以下方式驗證MAC位址的變更:
cs-6506-24a#show interfaces | include line | address Vlan1 is down, line protocol is down Hardware is Cat6k RP Virtual Ethernet, address is 0007.0001.0001 (bia 00d0.bcf1.ee5c) Internet address is 14.18.2.182/16 Vlan2 is down, line protocol is down Hardware is Cat6k RP Virtual Ethernet, address is 0007.0001.0002 (bia 00d0.bcf1.ee5c) cs-6506-24a#
執行Cisco IOS系統軟體時,相同的命令適用於VLAN(SVI)和L3介面。但是,第2層(L2)介面的MAC地址是從每個模組中的MAC地址範圍分配的。發出show module命令以檢視此範圍:
cat6kIOS#show module 3 Mod Ports Card Type Model Serial No. --- ----- -------------------------------------- ------------------ ----------- 3 16 SFM-capable 16 port 1000mb GBIC WS-X6516-GBIC SAD0438056W Mod MAC addresses Hw Fw Sw Status --- ---------------------------------- ------ ------------ ------------ ------- 3 0030.f270.ce3b to 0030.f270.ce4a 1.0 6.1(3) 7.5(0.6)HUB1 Ok
當特定L2介面發出控制流量(例如網橋協定資料單元(BPDU))時,使用此MAC地址。 但是,如果使用no switchport命令將相同的L2埠配置為L3介面,則MAC地址將恢復為SVI和L3介面的全域性預設MAC地址。您可以在執行Cisco IOS系統軟體且搭載Supervisor Engine I的Catalyst 6500上變更此問題,如以下範例所示:
cat6kIOS#show interfaces | include line | address Vlan1 is up, line protocol is up Hardware is EtherSVI, address is 00d0.003f.880a (bia 00d0.003f.880a) Internet address is 10.48.72.111/23 Vlan3 is administratively down, line protocol is down Hardware is EtherSVI, address is 00d0.003f.880a (bia 00d0.003f.880a) !--- Output suppressed. GigabitEthernet3/1 is up, line protocol is down (notconnect) Hardware is C6k 1000Mb 802.3, address is 0030.f270.ce3f (bia 0030.f270.ce3f) !--- Gigabit Ethernet 3/5 is an L2 interface. The MAC address !--- is from the module MAC address pool. !--- Output suppressed. GigabitEthernet3/10 is up, line protocol is down (notconnect) Hardware is C6k 1000Mb 802.3, address is 00d0.003f.880a (bia 00d0.003f.880a) !--- Gigabit Ethernet 3/10 is an L3 interface. The MAC address !--- is the default for SVI and L3 interface.
現在,將介面3/10配置為L2埠並檢驗MAC地址的變化:
Enter configuration commands, one per line. End with CNTL/Z. cat6kIOS(config)#interface gigabitethernet cat6kIOS(config)#interface gigabitethernet 3/10 cat6kIOS(config-if)#switchport cat6kIOS(config-if)#
如以下範例所示,Gigabit Ethernet 3/10介面現在使用來自模組MAC位址池的MAC位址:
cat6kIOS#show interface gigabitethernet 3/10 GigabitEthernet3/10 is up, line protocol is down (notconnect) Hardware is C6k 1000Mb 802.3, address is 0030.f270.ce44 (bia 0030.f270.ce44) MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Full-duplex mode, link type is autonegotiation, GBIC not connected output flow-control is unsupported, input flow-control is unsupported, 1000Mb/s
如果將Gigabit Ethernet 3/10改回為第3層介面,則會分配預設MAC地址:
cat6kIOS(config)#interface gigabitethernet 3/10 cat6kIOS(config-if)#no switchport cat6kIOS(config-if)#end cat6kIOS#show interface gigabitethernet 3/10 GigabitEthernet3/10 is up, line protocol is down (notconnect) Hardware is C6k 1000Mb 802.3, address is 00d0.003f.880a (bia 00d0.003f.880a) MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec)
Catalyst 4000 L3模組支援MAC地址更改。在實體介面和連線埠通道介面上使用mac-address mac_address 命令進行變更。
Catalyst 6500/6000 Supervisor Engine II支援從預設燒錄位址(BIA)變更MAC位址。 但是,如果更改一個介面的MAC地址,則所有已配置SVI的MAC地址將更改為新配置的MAC地址。因此,每個介面不能有唯一的MAC地址。這是Supervisor引擎II的硬體限制,不會在未來的軟體版本中修復。
此示例將MAC地址從BIA 0007.0e8f.088a更改為007.0001.0001:
Router#show interfaces | include line | address Vlan1 is up, line protocol is up Hardware is EtherSVI, address is 0007.0e8f.088a (bia 0007.0e8f.088a) Vlan2 is up, line protocol is up Hardware is EtherSVI, address is 0007.0e8f.088a (bia 0007.0e8f.088a) !--- Output suppressed.
使用mac-address mac_address 命令更改介面配置下的MAC地址:
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface vlan 1 Router(config-if)#mac-address 0007.0001.0001 Router(config-if)#end Router#
VLAN 1介面中的MAC地址更改會修改所有介面的MAC地址,如以下示例所示:
Router#show interfaces | include line | address Vlan1 is up, line protocol is up Hardware is EtherSVI, address is 0007.0001.0001 (bia 0007.0e8f.088a) Vlan2 is up, line protocol is up Hardware is EtherSVI, address is 0007.0001.0001 (bia 0007.0e8f.088a)
Catalyst 4500/4000監督器引擎III/IV目前不支援變更MAC位址。介面的MAC地址是預設的BIA,對於所有介面都是相同的。
帶有Supervisor Engine III/IV的Catalyst 4500/4000無法識別mac-address命令。
cat4kIOS(config)#interface vlan 110 cat4kIOS(config-if)#mac-address ? % Unrecognized command cat4kIOS(config-if)#mac-address
本節適用於Catalyst L2固定組態交換器2940、2950/2955和2970(VLAN介面)以及Catalyst L3固定組態交換器3550、3560和3750(VLAN和L3介面)。
交換器系列 | 支援更改L2交換機埠的MAC地址 | 支援更改L3介面的MAC地址 | 支援更改VLAN介面的MAC地址 | VLAN介面的相同MAC地址或唯一MAC地址 |
---|---|---|---|---|
2940、2950、2955 | 是 | 不適用 | 是 | 相同的MAC地址 |
2970 | 否 | 否 | 否 | 唯一MAC地址 |
3550 | 否 | 否 | 否 | 相同的MAC地址 |
3560、3750 | 否 | 否 | 否 | 唯一MAC地址 |
此組態範例顯示您用於變更執行Cisco IOS軟體版本12.1(22)EA9的Cisco Catalyst 2950系列交換器中的MAC位址的步驟。
2950(config)#interface fa0/2 2950(config-if)#mac-address 0007.0007.0002 2950(config-if)#interface vlan 2 2950(config-if)#mac-address 0007.0007.0022 2950#show interfaces | include line | address Vlan1 is up, line protocol is up Hardware is CPU Interface, address is 0009.b740.8900 (bia 0009.b740.8900) Internet address is 172.16.200.1/16 Vlan2 is administratively down, line protocol is down Hardware is CPU Interface, address is 0007.0007.0022 (bia 0009.b740.8900) FastEthernet0/1 is down, line protocol is down (notconnect) Hardware is Fast Ethernet, address is 0009.b740.8901 (bia 0009.b740.8901) FastEthernet0/2 is down, line protocol is down (notconnect) Hardware is Fast Ethernet, address is 0007.0007.0002 (bia 0009.b740.8902) FastEthernet0/3 is down, line protocol is down (notconnect) Hardware is Fast Ethernet, address is 0009.b740.8903 (bia 0009.b740.8903)
在本範例中,搭載Cisco IOS軟體版本12.1(14)EA1的3550無法識別mac-address指令:
3550(config)#interface vlan 2 3550(config-if)#mac-address 0007.0001.0001 ^ % Invalid input detected at '^' marker. 3550(config-if)#
註:在Cisco IOS軟體版本12.1(13)EA1和更新版本中,交換器允許在介面中設定mac-address指令。但是此命令會導致連線問題。此命令列介面(CLI)組態問題已在Cisco IOS軟體版本12.1(14)EA和更新版本中修正。
Catalyst 2900XL/3500XL交換器識別mac-address命令,但並不接受或支援該命令。此輸出來自使用Cisco IOS軟體版本12.0(5)WC3b的Catalyst 3500XL:
Cat3512XL(config)#interface vlan 1 Cat3512XL(config-if)#mac-address Cat3512XL(config-if)#mac-address 005.0005.0005 "mac-address" override is not allowed in this system Cat3512XL(config-if)#