本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本檔案介紹如何在思科以應用程式為中心的基礎架構(ACI)上設定交換連線埠分析器(SPAN)。
一般來說,有三種型別的SPAN。本地SPAN、遠端SPAN(RSPAN)和封裝遠端SPAN(ERSPAN)。這些SPAN之間的差異主要是複製封包的目的地。Cisco ACI支援本地SPAN和ERSPAN。
註:本檔案假設讀者一般已熟悉SPAN,例如本地SPAN和ERSPAN差異。
Cisco ACI有三種型別的SPAN; Fabric SPAN
中, Tenant SPAN
和 Access SPAN
.每個SPAN之間的差異是複製封包的來源。
如前所述,
Fabric SPAN
是捕獲進出資料包的 interfaces between Leaf and Spine switches
.Access SPAN
是捕獲進出資料包的 interfaces between Leaf switches and external devices
.Tenant SPAN
是捕獲進出資料包的 EndPoint Group (EPG) on ACI Leaf switches
.此SPAN名稱對應於Cisco ACI GUI上的設定位置。
Fabric > Fabric Policies
Fabric > Access Policies
Tenants > {each tenant}
對於每個SPAN的目的地,僅 Access SPAN
兩者都有 Local SPAN
和 ERSPAN
.其他兩個SPAN(Fabric
和 Tenant
)只能 ERSPAN
.
請檢視思科APIC故障排除指南中的限制和指南。中提到了 Troubleshooting Tools and Methodology > Using SPAN
.
本節介紹與每個SPAN型別的設定相關的簡短範例。在後面的部分中,有有關如何選擇span型別的特定示例案例。
思科APIC故障排除指南:故障排除工具和方法>使用SPAN中還介紹了SPAN配置。
UI可能與當前版本不同,但配置方法相同。
其中:
導航至 FABRIC > ACCESS POLICIES > Troubleshoot Policies > SPAN
.
SPAN Source Groups
SPAN Destination Groups
SPAN Source Group
領帶 Destination
和 Sources
.
方式:
SPAN Source Group
(SRC_GRP1)。SPAN Source
(SRC1)在 SPAN Source Group
(SRC_GRP1)。SPAN Source
(SRC1)註:請參閱圖片瞭解每個引數的詳細資訊。
SPAN Destination Group
(DST_EPG)。SPAN Destination
(DST)。SPAN Destination
(DST)註:請參閱圖片瞭解每個引數的詳細資訊。
SPAN Destination Group
關聯到適當的 SPAN Source Group
.Admin State
已啟用。注意:當您在此管理狀態上選擇Disabled時,SPAN停止。如果以後重複使用所有策略,則無需將其刪除。
另請確保將ERSPAN的目標IP獲知為指定目標EPG下的終結點。在上述示例中,必須在以下位置學習192.168.254.1 Tenant TK > Application profile SPAN_APP > EPG SPAN
.或者,如果目標裝置是靜默主機,則可以在此EPG下將目標IP配置為靜態終端。
Fabric > ACCESS POLICIES > Troubleshoot Policies > SPAN
- SPAN Source Groups
- SPAN Destination Groups
SPAN Source Group
領帶 Destination
和 Sources
.
SPAN Source Group
(SRC_GRP1)SPAN Source
(SRC1)在 SPAN Source Group
(SRC_GRP1)SPAN Source
(SRC1)SPAN Destination Group
(DST_Leaf1)SPAN Destination
(DST)SPAN Destination
(DST)SPAN Destination Group
關聯到適當的 SPAN Source Group
.確保 Admin State
已啟用。
※選擇Disabled on this Admin State時,SPAN停止。如果以後重複使用所有策略,則無需將其刪除。
目標介面不需要通過介面策略組進行任何配置。將電纜插入ACI枝葉上的介面時,它可正常工作。
限制:
您可以對存取span來源使用ACL過濾器。此功能提供將SPAN特定流量或流量傳入/傳出SPAN來源的功能。
當需要SPAN流量特定流量時,使用者可以將該SPAN Acl套用至來源。
交換矩陣SPAN和租戶SPAN來源群組/來源不支援此功能。
在篩選器組中新增篩選器條目時必須小心,因為它可以為當前使用篩選器組的每個源新增tcam條目。
篩選器組可以關聯到:
-Span來源:過濾器組用於過濾在此Span來源下定義的所有介面上的流量。
-Span來源群組:過濾器群組(例如x)用於過濾在該Span來源群組的每個Span來源下定義的所有介面上的流量。
在此配置快照中,過濾器組應用於Span源組。
當特定Span來源已經與篩選群組建立關聯時(例如y),會使用該篩選群組(y)來篩選此特定Span來源下所有介面上的群組
— 應用於源組的篩選器組將自動應用於該源組中的所有源。
— 在源應用的過濾器組僅適用於該源。
— 過濾器組同時應用於源組以及該源組中的源,則應用於源的過濾器組優先。
— 刪除應用於源的篩選器組,將自動應用應用於父源組的篩選器組。
— 刪除應用於源組的篩選器組,並將其從當前繼承到該源組的所有源中刪除。
Tenants > {tenant name} > Troubleshoot Policies > SPAN
- SPAN Source Groups
- SPAN Destination Groups
※ SPAN來源群組連結 Destination
和 Sources
.
SPAN Source Group
(SRC_GRP)SPAN Source
(SRC_A)在 SPAN Source Group
(SRC_GRP)SPAN Source
(SRC_A)SPAN Destination Group
(DST_GRP)SPAN Destination
(DST_A)SPAN Destination
(DST_A)SPAN Destination Group
關聯到適當的 SPAN Source Group
.Admin State
已啟用。
Fabric > FABRIC POLICIES > Troubleshoot Policies > SPAN
- Fabric
- SPAN Destination Groups
※ SPAN Source Group
領帶 Destination
和 Sources
SPAN Source Group
(SRC_GRP)SPAN Source
(SRC_A)在 SPAN Source Group
(SRC_GRP)SPAN Source
(SRC_A)SPAN Destination Group
(DST_GRP)SPAN Destination
(DST_A)SPAN Destination
(DST_A)SPAN Destination Group
關聯到適當的 SPAN Source Group
.Admin State
已啟用。Admin State
.如果以後重複使用所有策略,則無需將其刪除。雖然稍後的「ERSPAN版本(型別)」一節會對此進行說明,但您可以判斷ERSPAN版本II用於交換矩陣SPAN,而版本I用於租戶和存取SPAN。
Fabric > ACCESS POLICIES > Troubleshoot Policies > SPAN > SPAN Source Groups > Operational tab
Fabric > FABRIC POLICIES > Troubleshoot Policies > SPAN > SPAN Source Groups > Operational tab
Tenants > {tenant name} > Troubleshoot Policies > SPAN > SPAN Source Groups > Operational tab
請確保運行狀態為開啟。
SPAN Configuration Policy
或 Fabric > INVENTORY > Node > Span Sessions > { SPAN session name }
請確保運行狀態為開啟。
SPAN作業階段命名慣例:
— 交換矩陣SPAN:fabric_xxxx
— 訪問SPAN:infra_xxxx
— 租戶SPAN:tn_xxxx
本節介紹每個ACI SPAN型別的詳細案例(Access, Tenant, Fabric
)上一節中介紹了每個場景的基本拓撲。
如果您瞭解這些情況,則可以根據您的要求選擇適當的ACI SPAN型別,例如必須捕獲僅特定介面上的資料包或特定EPG上的所有資料包(無論必須捕獲哪些介面),等等。
在Cisco ACI中,SPAN設定為 source group
和 destination group
.源組包含多個源因素,例如介面或EPG。目的地組包含目的地資訊,例如本地SPAN的目的地介面或ESPAN的目標IP。
擷取封包後,請參閱「如何讀取SPAN資料」一節以解碼擷取封包。
注意:請關注在每個拓撲中以綠色指示燈突出顯示的虛擬機器。每種場景都是從這些突出顯示的虛擬機器捕獲資料包。
Source Group
Destination Group
存取SPAN可以為一個SPAN作業階段指定多個介面。它可以捕獲所有從指定介面傳入或傳出的資料包,而不管其EPG如何。
將多個介面指定為來自多個枝葉交換機的源組時,目標組必須是ERSPAN,而不是本地SPAN。
在本示例中,它從EPG1和EPG2上的所有VM複製資料包。
CLI檢查點
destination-ip
"是ERSPAN的目標IPorigin-ip
"是ERSPAN的來源IP
在本範例中,Leaf1 e1/34從先前案例1設定的SPAN來源群組移除。
此範例中的關鍵點在於,Access SPAN可以指定來源介面,而無論EPG如何。
CLI檢查點
此範例顯示,存取SPAN也可以在來源連線埠上指定特定的EPG。當多個EPG在單個介面上流動並且僅需要捕獲該介面上EPG1的流量時,這非常有用。
由於EPG1未部署在Leaf2上,Leaf2的SPAN發生故障,故障為F1553和F1561。但是,Leaf1上的SPAN仍然有效。
此外,系統會自動為枝葉1上的SPAN作業階段新增兩個VLAN篩選條件,因為EPG1在枝葉1上使用兩個VLAN(VLAN-751、752)。
請注意,CLI上的VLAN ID(35、39)是內部VLAN,即所謂的PI-VLAN(平台獨立VLAN),它不是線路上的實際ID。如圖所示,show vlan extended命令會顯示實際封裝VLAN ID和PI-VLAN的對映。
即使EPG2(VLAN-753)在同一介面上傳輸,此SPAN作業階段也允許我們僅擷取枝葉1 e1/11上EPG1(VLAN-752)的封包。
CLI檢查點
將vPC介面設定為來源時,目的地必須是遠端IP(ERSPAN),而不是介面(本地SPAN)
存取SPAN也可以使用本地SPAN(即特定介面作為目的地)
但是,在這種情況下,源介面必須與目標介面位於同一枝葉上。
使用本地SPAN的存取SPAN也可以使用EPG過濾器和ERSPAN。
這與存取SPAN(ERSPAN)上的案例3類似,但在本範例中,由於EPG3不存在於Leaf1上,Leaf1上唯一的一個SPAN作業階段失敗。因此SPAN完全無法使用。
只有設定了來源連線埠時,存取SPAN上的EPG過濾器才能使用。如果EPG是唯一要指定的源,則必須使用租戶SPAN而不是訪問SPAN。
不能將vPC介面設定為具有本地SPAN的來源。請使用ERSPAN。有關存取SPAN(ERSPAN)的資訊,請參閱案例4。
如果SPAN的目標I/F已屬於EPG,則在物理I/F下會引發錯誤「F1696 :連線埠具有EPG和span目標的無效組態」。
但即使發生此故障,SPAN也能順利運作。此故障只是SPAN導致額外流量的警告,因為它可能會影響同一I/F上客戶的正常EPG流量。
租戶SPAN使用EPG本身作為來源,而存取SPAN僅使用EPG作為過濾器。
租戶SPAN的關鍵點是,您不必指定每個單獨的埠,並且ACI會自動檢測每台枝葉交換機上的適當VLAN。因此,當必須監控特定EPG的所有資料包且該EPG的端點屬於枝葉交換機上的多個介面時,這將非常有用。
交換矩陣SPAN將交換矩陣埠指定為源,其中交換矩陣埠是枝葉和主幹交換機之間的介面。
當需要在枝葉交換機和主幹交換機之間複製資料包時,此SPAN非常有用。但是,枝葉交換機和主幹交換機之間的資料包使用iVxLAN報頭進行封裝。所以需要一些技巧來讀它。請參閱「如何讀取SPAN資料」。
注意:iVxLAN報頭是增強型VxLAN報頭,僅用於ACI交換矩陣內部使用。
交換矩陣SPAN可以使用篩選器和存取SPAN。但過濾器型別不同。交換矩陣SPAN使用虛擬路由和轉送(VRF)或BD作為過濾器。
如前所述,在思科ACI中,通過交換矩陣埠的資料包將封裝為iVxLAN報頭。此iVxLAN標頭將VRF或BD資訊作為虛擬網路識別符號(VNID)。當資料包作為第2層(L2)轉發時,iVxLAN VNID代表BD。當資料包作為第3層(L3)轉發時,iVxLAN VNID代表VRF。
因此,當需要捕獲交換矩陣埠上的路由流量時,請使用VRF作為過濾器。
如前面的案例2所述,交換矩陣SPAN可以使用BD作為過濾器。
當需要捕獲交換矩陣埠上的橋接流量時,請使用BD作為過濾器。
註:一次只能配置一個BD或VRF過濾器。
只需運行資料包捕獲應用程式,例如 tcpdump, wireshark
在它上面。設定ERSPAN目的地作業階段或其他任何方式都不是必需的。
請確保使用目的地IP對ERSPAN執行擷取工具,因為SPAN封包會被轉送到目的地IP。
收到的資料包將封裝為GRE報頭。請參閱有關如何解碼ERSPAN GRE標頭的「如何讀取ERSPAN資料」一節。
請確保在連線到ACI枝葉上的SPAN目標介面的介面上運行捕獲工具。
在此介面中接收原始封包。不需要處理ERSPAN標頭。
ERSPAN封裝複製的資料包,將其轉送到遠端目的地。GRE用於此封裝。GRE標頭上ERSPAN的通訊協定型別為0x88be。
在Internet Engineering Task Force(IETF)文檔中,ERSPAN版本被描述為type而不是version。
有三種型別的ERSPAN。一、二和三。此RFC草案中提到了ERSPAN型別。此外,此GRE RFC1701也有助於瞭解每個ERSPAN型別。
以下是每種型別的資料包格式:
型別I不使用GRE報頭上的序列欄位。如果是ERSPAN型別II和III,它甚至不會使用GRE標頭之後必須跟的ERSPAN標頭。Broadcom Trident 2僅支援此ERSPAN型別I。
如果序列欄位是由S位啟用,則此欄位必須是ERSPAN型別II或III。ERSPAN標頭上的版本欄位會識別ERSPAN型別。在ACI中,自2016年3月20日起,不支援型別III。
如果存取或租戶SPAN的SPAN來源組在第1代和第2代節點上均有來源,ERSPAN目的地會收到來自每代節點的ERSPAN型別I和II封包。但是,Wireshark一次只能解碼其中一個ERSPAN型別。預設情況下,只會對ERSPAN型別II進行解碼。如果啟用ERSPAN Type I的解碼,Wireshark不會解碼ERSPAN Type II。請參閱後面有關如何在Wireshark上解碼ERSPAN Type I的部分。
若要避免此類問題,您可以在SPAN目的地群組上設定ERSPAN型別。
預設情況下,SPAN版本為版本2,且強制執行SPAN版本未勾選。這表示如果來源節點是支援ERSPAN型別II的第二代或更新版本,它就會產生具有型別II的ERSPAN。如果來源節點是不支援ERSPAN型別II的第1代(交換矩陣SPAN除外),則它會回復到型別I,因為未勾選「強制執行SPAN版本」。因此,ERSPAN目的地收到混合型別的ERSPAN。
下表說明存取和租戶SPAN的每種組合。
SPAN版本 |
強制執行SPAN版本 |
第1代源節點 |
第二代源節點 |
版本2 |
未選中 |
使用型別I |
使用II類 |
版本2 |
已檢查 |
失敗 |
使用II類 |
版本1 |
未選中 |
使用型別I |
使用型別I |
版本1 |
已檢查 |
使用型別I |
使用型別I |
封包將由ERSPAN型別I封裝,因此需進行解碼。這可以通過Wireshark完成。請參閱「如何解碼ERSPAN型別1」部分。
Wireshark自動對ERSPAN II類進行解碼。但是,它仍會以iVxLAN標頭封裝。
預設情況下,Wireshark不理解iVxLAN報頭,因為它是ACI內部報頭。請參閱「如何解碼iVxLAN報頭」。
選項1.導航至 Edit > Preference > Protocols > ERSPAN
並檢查FORCE以解碼虛假ERSPAN幀。
user1@linux# tshark -f 'proto GRE' -nV -i eth0 -o erspan.fake_erspan:true
注意:請確保在閱讀ERSPAN型別II或III時禁用此選項。
選項2.導航至 Decode As > Network > ICMP (if it’s ICMP)
.
iVxLAN標頭使用目的地連線埠48879。因此,如果您在Wireshark上將UDP目的地連線埠設定為VxLAN,則可以48879解iVxLAN標頭以及VxLAN。
Analyze > Decode As > Transport > UDP destination (48879) > VxLAN
.Apply
.注意:交換矩陣埠上的APIC之間存在通訊資料包。這些資料包不會以iVxLAN報頭封裝。
在執行Precision Time Protocol(PTP)的使用者網路上進行erspan擷取時,有時會看到Wireshark由於GRE封裝中的未知ethertype(0x8988)而無法解釋資料。0x8988是啟用PTP時插入到資料平面封包中的時間標籤的ethertype。將ethertype 0x8988解碼為「Cisco ttag」,以顯示資料包的詳細資訊。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
01-Feb-2023 |
初始版本 |