交換器SPAN技術簡介+Cisco配置樣本
一、SPAN簡介
SPAN技術主要是用來監控交換器上的資料流,大體分為兩種類型,本地SPAN和遠程SPAN.
----Local Switched Port Analyzer (SPAN) and Remote SPAN (RSPAN),實現方法上稍有不同。
利用SPAN技術我們可以把交換器上某些想要被監控連接埠(以下簡稱受控連接埠)的資料流COPY或MIRROR一
份,發送給串連在監控連接埠上的流量分析儀,比如CISCO的IDS或是裝了SNIFFER工具的PC. 受控連接埠和
監控連接埠可以在同一台交換器上(本地SPAN),也可以在不同的交換器上(遠程SPAN)。
二、名詞解釋
SPAN Session--SPAN會話
SPAN會話是指一組受控連接埠與一個監控連接埠之間的資料流。可以同時對多個連接埠的進入流量或是一個端
口的外出流量進行監控,也可以對VLAN內所有連接埠的進入流量進行監控,但不能同時對多個連接埠的外出
流量及VLAN的外出流量進行監控,可以對處於關閉狀態的連接埠設定SPAN,但此時的SPAN會話是非活動,
但只要相關的介面被開啟,SPAN就會變為活動的。
監控連接埠最好是>=受控連接埠的頻寬,否則可能會出現丟包的情況。
SPAN Traffic--SPAN的流量
使用本地SPAN可以監控所有的網路流量,包括multicast、bridge protocol data unit (BPDU),和CDP、
VTP、DTP、STP、PagP、LACP packets. RSPAN不能監控二層協議。
Traffic Types--流量類型
被監控的流量類型分為三種,Receive (Rx) SPAN 受控連接埠的接收流量,Transmit (Tx) SPAN 受控連接埠
的發送流量,Both 一個受控連接埠的接收和發送流量。
Source Port--SPAN會話的源連接埠(也就是monitored port-即受控連接埠)
受控連接埠可以是實際的物理連接埠、VLAN、以太通道連接埠組EtherChannel,物理連接埠可以在不同的VLAN中,
受控連接埠如果是VLAN則包括此VLAN中的所以物理連接埠,受控連接埠如果是以太通道則包括組成此以太通道組
的所有物理連接埠,如果受控連接埠是一個TRUNK幹道連接埠,則此TRUNK連接埠上承載的所有VLAN流量都會受到監
控,也可以使用filter vlan 參數進行調整,只對filter vlan 中指定的VLAN資料流量做監控。
Destination Port--SPAN會話的目的連接埠(也就是monitoring port-即監控連接埠)
監控連接埠只能是單獨的一個實際物理連接埠,一個監控連接埠同時只能在一個SPAN會話中使用,監控
連接埠不參與其它的二層協議如:Layer 2 protocols
Cisco Discovery Protocol (CDP),
VLAN Trunk Protocol (VTP),
Dynamic Trunking Protocol (DTP),
Spanning Tree Protocol (STP),
Port Aggregation Protocol (PagP),
Link Aggregation Control Protocol (LACP).
預設情況下監控連接埠不會轉寄除SPAN Session以外的任何其它的資料流,也可以通過設定ingress
參數,開啟監控連接埠的二層轉寄功能,比如當串連CISCO IDS的時會有這種需求,此時IDS不僅要接
收SPAN Session的資料流,IDS本身在網路中還會與其它裝置有通訊流量,所以要開啟監控連接埠的
二層轉寄功能。
Reflector Port--反射連接埠
反射連接埠只在RSPAN中使用,與RSPAN中的受控連接埠在同一台交換器上,是用來將本地的受控連接埠流量
轉寄到RSPAN中在另一台交換器上的遠程監控連接埠的方法,反射連接埠也只能是一個實際的物理連接埠,
它不屬於任何VLAN(It is invisible to all VLANs.)。
RSPAN中還要使用一個專用的VLAN來轉寄流量,反射連接埠會使用這個專用VLAN將資料流通過TRUNK連接埠
發送給其它的交換器,遠程交換器再通過此專用VLAN將資料流發送到監控連接埠上的分析儀。
關於RSPAN VLAN的建立,所有參與RSPAN的交換器應在同一個VTP域中,不能用VLAN 1,也不能用
1002-1005,這是保留的(reserved for Token Ring and FDDI VLANs),如果是2-1001的標準VLAN,
則只要在VTP Server上建立即可,其它的交換器會自動學到,如果是1006-4094的擴充VLAN,則需要
在所有交換器上建立此專用VLAN.
反射連接埠最好是>=受控連接埠的頻寬,否則可能會出現丟包的情況。
VLAN-Based SPAN--基於VLAN的SPAN
基於VLAN的SPAN只能監控VLAN中所有工作端口接收的流量(only received (Rx) traffic),如果
監控連接埠屬於此VLAN,則此連接埠不在監控範圍內,VSPAN只監控進入交換器的流量,不對VLAN介面上
的路由資料做監控。
(VSPAN only monitors traffic that enters the switch, not traffic that is routed between VLANs.
For example, if a VLAN is being Rx-monitored and the multilayer switch routes traffic
from another VLAN to the monitored VLAN, that traffic is not monitored and is not received
on the SPAN destination port. )
三、SPAN和RSPAN與其它特性的互通性
Routing--SPAN不監控VLAN間的路由資料;(不好理解)
Routing—Ingress SPAN does not monitor routed traffic. VSPAN only monitors traffic that
enters the switch, not traffic that is routed between VLANs. For example, if a VLAN is
being Rx-monitored and the multilayer switch routes traffic from another VLAN to the
monitored VLAN, that traffic is not monitored and not received on the SPAN destination port.
STP--監控連接埠和反射連接埠不會參與STP,但SPAN對受控連接埠的STP沒有影響;
CDP--監控連接埠不參與CDP;
VTP--RSPAN VLAN可以被修剪pruning;
VLAN and trunking--可以修改受控連接埠、監控連接埠和反射連接埠的VLAN和TRUNK設定,受控連接埠的改變
會立即生效,而監控連接埠和反射連接埠則要在從SPAN中去除後才會生效;
EtherChannel--整個以太通道組可以做為受控連接埠使用,如果一個屬於某個以太通道組的物理連接埠被
配成了受控連接埠、監控連接埠或反射連接埠,則此連接埠會自動從以太通道組去除,當SPAN
刪除後,它又會自動加入原以太通道組;
QoS--由於受QoS的策略影響,監控連接埠上收到的資料流會與受控連接埠實際的資料流不同,比如DSCP值
被修改等;
Multicast--SPAN可以監控組播的資料流;
Port security--安全連接埠不能做為監控連接埠使用;
802.1x--受控連接埠、監控連接埠和反射連接埠上可以設定802.1x,但有些限制。
四、SPAN和RSPAN的配置舉例
SPAN的限制和預設設定
Catalyst 3550交換器上最多隻能設定兩個SPAN Session,預設SPAN沒有使用,如果做了設定,預設
情況下,第一個被設為受控連接埠的介面進出流量都會受到監控,以後再追加的受控連接埠只會對接收的
流量進行監控,監控連接埠的預設封裝類型為Native,也就是沒有打VLAN的標記。
1、Configuring SPAN--配置本地SPAN
Switch(config)# no monitor session 1 //先清除可能已經存在SPAN設定
Switch(config)# monitor session 1 source interface fastethernet0/10
//設定SPAN的受控連接埠
Switch(config)# monitor session 1 destination interface fastethernet0/20
//設定SPAN的監控連接埠
Switch#sh mon
Session 1
---------
Type : Local Session
Source Ports :
Both : Fa0/10 //注意此處是Both
Destination Ports : Fa0/20
Encapsulation : Native
Ingress: Disabled
Switch(config)# monitor session 1 source interface fastethernet0/11 - 13
//添加SPAN的受控連接埠
Switch#sh mon
Session 1
---------
Type : Local Session
Source Ports :
RX Only : Fa0/11-13 //注意此處是RX Only
Both : Fa0/10 //注意此處還是Both
Destination Ports : Fa0/20
Encapsulation : Native
Ingress: Disabled
Switch(config)# monitor session 1 destination interface fastethernet0/20 ingress vlan 5
//設定SPAN的監控連接埠並啟用二層轉寄
Switch#sh mon
Session 1
---------
Type : Local Session
Source Ports :
RX Only : Fa0/11-13
Both : Fa0/10
Destination Ports : Fa0/20
Encapsulation : Native
Ingress: Enabled, default VLAN = 5 //允許正常的流量進入
Ingress encapsulation: Native
2、VLAN-Based SPAN--基於VLAN的SPAN
Switch(config)# no monitor session 2
Switch(config)# monitor session 2 source vlan 101 - 102 rx
Switch(config)# monitor session 2 destination interface fastethernet0/30
Switch#sh mon ses 2
Session 2
---------
Type : Local Session
Source VLANs :
RX Only : 101-102 //注意此處是RX Only
Destination Ports : Fa0/30
Encapsulation : Native
Ingress: Disabled
Switch(config)# monitor session 2 source vlan 201 - 202 rx
Switch#sh mo se 2
Session 2
---------
Type : Local Session
Source VLANs :
RX Only : 101-102,201-202 //注意此處多了201-202
Destination Ports : Fa0/30
Encapsulation : Native
Ingress: Disabled
3、Specifying VLANs to Filter
Switch(config)# no monitor session 2
Switch(config)# monitor session 2 source interface fastethernet0/48 rx
Switch(config)# monitor session 2 filter vlan 100 - 102 //指定受控的VLAN範圍
Switch(config)# monitor session 2 destination interface fastethernet0/30
Switch#sh mon ses 2
Session 2
---------
Type : Local Session
Source Ports :
Both : Fa0/48
Destination Ports : Fa0/30
Encapsulation : Native
Ingress: Disabled
Filter VLANs : 100-102 //只監控VLAN100-102中的流量
4、Configuring RSPAN--配置遠程RSPAN
RSPAN的Session分成RSPAN Source Session和RSPAN Destination Session兩部分,所以
相應的配置也要分別在Session的源和目的交換器上做。
4.1、首先要配置專用的RSPAN VLAN
Switch(config)# vlan 800
Switch(config-vlan)# remote-span
Switch(config-vlan)# end
sw1#sh vl id 800
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
800 VLAN0800 active Fa0/47, Fa0/48
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
800 enet 100800 1500 - - - - - 0 0
Remote SPAN VLAN
----------------
Enabled //注意看此處的提示
Primary Secondary Type Ports
------- --------- ----------------- ------------------------------------------
4.2、配置RSPAN Source Session
Switch(config)# no monitor session 1
Switch(config)# monitor session 1 source interface fastethernet0/10 - 13
Switch(config)# monitor session 1 source interface fastethernet0/15 rx
Switch(config)# monitor session 1 destination remote vlan 800 reflector-port fastethernet0/20
sw1#sh mo se 1
Session 1
---------
Type : Remote Source Session
Source Ports :
RX Only : Fa0/11-13,Fa0/15
Both : Fa0/10
Reflector Port : Fa0/20
Dest RSPAN VLAN : 800
4.3、配置RSPAN Destination Session
Switch(config)# monitor session 1 source remote vlan 800
Switch(config)# monitor session 1 destination interface fastethernet0/30
Switch(config)# end
sw2#sh mo se 1
Session 1
---------
Type : Remote Destination Session
Source RSPAN VLAN : 800
Destination Ports : Fa0/30
Encapsulation : Native
Ingress: Disabled
(VLAN-Based RSPAN)基於VLAN的RSPAN也和上面的方法類似,只不過受控的是整個VLAN.
啟用監控連接埠的二層轉寄以及Specifying VLANs to Filter 的方法也和本地SPAN相同,
此處不再舉例。詳見CISCO CD.
五、Catalyst 4000/4500系列交換器的SPAN配置
Configuring SPAN
命令如下:
set span {src_mod/src_ports | src_vlan | sc0} dest_mod/dest_port [rx | tx | both]
[inpkts {enable | disable}] [learning {enable | disable}]
[multicast {enable | disable}] [create]
set span中的create參數用於建立多個SPAN Session.
show span
set span disable [dest_mod/dest_port | all]
舉例:
This example shows how to configure SPAN so that both the transmit and receive
traffic from port 2/4 (the SPAN source) is mirrored on port 3/6 (the SPAN destination):
Console> (enable) set span 2/4 3/6
// Overwrote Port 3/6 to monitor transmit/receive traffic of Port 2/4
Incoming Packets disabled. Learning enabled.
Console> (enable) show span
Destination : Port 3/6
Admin Source : Port 2/4
Oper Source : None
Direction : transmit/receive
Incoming Packets: disabled
Learning : enabled
Filter : -
Status : active
----------------------------------------------
Total local span sessions: 1
Console> (enable)
This example shows how to set VLAN 522 as the SPAN source and port 2/1 as the SPAN destination:
Console> (enable) set span 522 2/1
// Overwrote Port 2/1 to monitor transmit/receive traffic of VLAN 522
Incoming Packets disabled. Learning enabled.
Console> (enable) show span
Destination : Port 2/1
Admin Source : VLAN 522
Oper Source : Port 2/1-2
Direction : transmit/receive
Incoming Packets: disabled
Learning : enabled
Filter : -
Status : active
----------------------------------------------
Total local span sessions: 1
Console> (enable)
Configuring RSPAN
命令如下:
set vlan vlan_num [rspan]
show vlan
set rspan source {mod/ports... | vlans...} {rspan_vlan} reflector mod/port [rx | tx | both]
[filter vlans...] [create]
set rspan destination {mod_num/port_num} {rspan_vlan} [inpkts {enable | disable}]
[learning {enable | disable}] [create]
show rspan
set rspan disable source [rspan_vlan | all]
set rspan disable destination [mod_num/port_num | all]
--------------END-------------------------