目 录
随着网络的发展,对网络的高可用性的要求日益提高。当网络出现异常时,需要对网络节点或者设备的端口进行了数据流量分析以便网络能够快速恢复正常,但同时又要求不影响设备数据流量的正常转发。
镜像是将指定端口的报文复制到另一个连接有网络监测设备的端口的功能,实现了对可疑的网络节点或者设备端口进行数据流量分析,同时又不影响被监控设备的数据转发。镜像功能主要应用在网络监控和故障排查两种场景中,实现了监控网络信息安全和解决网络故障的目的。
源端口也称为被监控口,源端口上的数据流会被复制一份到目的端口,用于网络分析或故障排除。
目的端口也称为为监控口,与监控设备相连接的端口,将接收到的源端口报文转发到监控设备。
会话是一个逻辑上的概念,一个完整的会话由源端口和目的端口组成。
SPAN(Switch Port Analyzer,交换式端口分析器)也称为本地端口镜像或者本地镜像。指同一个镜像会话的源端口与目的端口在同一台设备上的镜像。
RSPAN(Remote Switch Port Analyzer,远程端口镜像)是SPAN的扩展,源端口和目标端口处于不同的设备。
ERSPAN(Encapsulated Remote Switch Port Analyzer,封装远程端口镜像)是RSPAN的扩展,实现了跨越交换或路由网络的多台设备的远程监控方法。
远程镜像VLAN是一种特殊的VLAN,该VLAN只传输镜像报文,不对正常的业务数据进行传输。
源设备上将镜像报文发送到中间设备或者目的设备的端口称为输出端口。
源设备是远程镜像角色之一,指源端口所在的设备,负责将源端口的报文复制一份到源设备的输出端口,传输给中间设备或目的设备。
目的设备远程镜像角色之一,指远程镜像目的端口所在的设备,负责将中间设备或者源设备接收到的镜像报文转发给监控设备。
中间设备是远程镜像角色之一,指处于源设备和目的设备之间的设备,负责将镜像报文传输给下一个中间设备或目的设备。如果源设备与目的设备直接相连,则不存在中间设备。
镜像数据流指被镜像的数据报文。镜像会话的数据流包含以下三种方向的数据流:
l 输入数据流
所有源端口上接收到的报文都将被复制一份到目的端口。在一个镜像会话中,可以监控一个或多个源端口的输入报文。
l 输出数据流
所有从源端口发送的报文都将复制一份到目的端口。在一个镜像会话中,可以监控一个或多个源端口的输出报文。
l 双向数据流
同时包含输入数据流和输出数据流。在一个镜像会话中,可监控一个或多个源端口的输入和输出方向的数据流。
如图1-1所示,通过在DeviceA上配置了SPAN,设备将Port 1上的报文复制一份到Port 10,连接在Port 10上的网络分析设备虽然未与Port1直接相连,但是可以接收通过Port1上的所有报文,从而实现了监控Port 1接口传输的数据流的目的。具体工作过程如下:
(1) 设备识别与标记出从源端口Port 1进出的报文。
(2) 设备查找Port 1所属的镜像会话。
(3) 设备查找该镜像会话对应的目的端口Port 10。
(4) 设备复制一份进出Port 1的报文发送至Port 10。
(5) Port 10将报文发送至网络分析设备。
图1-1 SPAN工作原理图
如图1-2所示,RSPAN的原理是在源设备、中间设备和目的设备创建一个远程镜像VLAN,且所有参与镜像会话的端口都加入该远程镜像VLAN。远程镜像VLAN中通过广播,使得源设备将镜像报文转发到目的设备,目的设备再将镜像报文转发到网络分析设备。具体工作过程如下:
(1) 源设备、中间设备和目的设备设备中参与镜像会话的端口均加入到远程镜像VLAN中。
(2) 源设备将源端口中的镜像报文封装远程镜像VLAN的ID,并复制一份到输出端口。
说明
如图1-3对于一对多镜像,需要在源设备的输出端口上开启为MAC回环功能使其成为自环口,并将自环口及与中间设备连接的接口(图1-3中的Port1和Port2)加入远程镜像VLAN。源端口将报文镜像传输到自环口,镜像报文添加远程镜像VLAN的ID。因为自环口属于远程镜像VLAN且该VLAN禁止学习MAC地址,因此反射回来的报文在远程镜像VLAN内广播,任意加入远程镜像VLAN的接口均能够接收到镜像报文,从而实现一对多镜像。
(3) 输出端口通过远程镜像VLAN将镜像报文输出到中间设备或者目的设备。
(4) 中间设备在远程镜像VLAN中广播镜像报文,将镜像报文透传到下一个中间设备或者目的设备。
说明
如果源设备与目的设备直接连接,则输出端口将镜像报文输出到目的设备。
(5) 目的设备接收到报文后,通过报文携带的VLAN ID判断该报文是否为镜像报文,当报文携带的VLAN ID与远程镜像VLAN ID一致时,则判断该报文为镜像报文,并将该报文通过目的端口转发给网络分析仪。
图1-2 RSPAN工作原理图
图1-3 基于RSPAN实现的一对多镜像原理图
在RSPAN中,镜像报文只能在二层内传输,无法跨路由网段转发,而ERSPAN将镜像报文通过GRE(Generic Routing Encapsulation,通用路由协议封装)隧道封装成IP报文后,再将镜像报文转发到远端镜像设备的目的端口,实现了镜像报文的跨路由网段的传输。
如图1-4所示,ERSPAN的具体工作过程如下。
(1) 源设备将进入源端口的报文复制一份并进行封装。
○ 封装的GRE报文的源IP、目的IP。
○ 设置GRE报文的TTL和DSCP值。
○ 封装IPv6报文的hop-limit和traffic-class值。
说明
镜像报文经过ERSPAN封装后的报文头部格式如图1-5所示。
(2) 通过GRE隧道,将镜像报文转发至目的设备。
(3) 目的设备将镜像报文进行GRE模块解封装,剥离ERSPAN封装头部后将镜像报文转发到目的端口。
(4) 目的端口将镜像报文转发到网络分析设备。
注意
进行GRE封装后的IP报文必须是能够在网络中正常路由到目的镜像设备的,因此目的IP一般是路由的下一跳IP。即源设备的输出端口是其要封装的目的IP地址所在的三层通路的下一跳出口,所以镜像输出口必须是路由可达的接口,可以是SVI接口,三层聚合接口或者三层以太网接口。
图1-4 ERSPAN工作原理图
图1-5 ERSPAN封装报文格式图
流的镜像是在端口镜像的基础上,将源端口与ACL关联,根据ACL规则对报文进行过滤,达到只镜像指定报文的目的。源端口只有匹配到ACL中permit ace的报文才能被镜像到目的端口。一个源端口只能关联一个ACL。可关联的ACL有标准ACL、扩展ACL、MAC ACL和自定义ACL。
l 源端口具有以下特性:
○ 源端口与输出端口不能为同一端口。
○ 源端口可以是二层以太网接口,三层以太网接口、二层聚合口或三层聚合口。
○ 支持将源设备上的多个源端口数据流镜像到指定的输出端口。
○ 当镜像源端口为三层以太网接口或三层聚合口时,监控的报文包括二层报文和三层报文。
○ 在双向监控多个端口的情况下,一份报文由一个端口进入,从另外一个端口输出,只要有监控到一份报文即视为报文被镜像成功。
○ 当端口启用STP并处于BLOCK状态时,该端口的输入或输出的报文也能够被监控到。
○ 源端口和目的端口可以属于同一VLAN,也可以属于不同VLAN。
○ 如果将源端口加入聚合口,则该源端口将退出镜像会话,仅作为聚合口的成员口,不再作为镜像会话的源端口。
l 目的端口具有以下特性:
○ 目的端口不能同时作为源端口。
○ 目的端口可以是以太网接口或聚合接口。
l 已经配置的会话ID不能作为其他镜像会话的ID。
l 缺省情况下,镜像目的口没有开启switch功能,目的口不参与数据转发,只接收镜像报文。如果需要目的口参与数据转发,则需要开启switch功能,否则对于流经该端口的数据报文将被丢弃。
l 由于其他原因(如端口安全),从源端口输入的报文可能被丢弃,但这不影响镜像功能,该报文仍然会被镜像到目的端口。而由于其他原因,从其他端口发送到源端口的报文可能被丢弃,因此该报文也不会发送到目的端口。
l 如果从源端口输出的报文的格式发生改变时,例如源端口输出经过路由之后的报文,报文的源MAC、目的MAC、VLAN ID以及TTL发生变化时,则镜像到目的端口的报文的格式也会随之发生变化。
l 可以通过在源端口配置ACL达到镜像指定的数据流的目的,支持标准ACL、扩展ACL、MAC ACL和自定义ACL。
l 配置SPAN
l 配置RSPAN
l 配置ERSPAN
b
(可选)配置ERSPAN的采样功能
c
(可选)配置ERSPAN的属性
SPAN通过将指定端口或指定VLAN的报文复制到与数据监测设备相连的端口,可以利用数据监测设备分析这些复制过来的报文,以进行网络监控和故障排除。
l 配置镜像源端口时,可以同时配置指定部分VLAN作为镜像的数据源、配置指定接口作为镜像的数据源、配置指定接口上的指定流作为镜像的数据源功能。
l 配置镜像源端口时,指定某个VLAN作为镜像的数据源功能与指定部分VLAN作为镜像的数据源、配置指定接口作为镜像的数据源、配置指定接口上的指定流作为镜像的数据源功能互斥。
l 配置镜像源端口时,指定部分VLAN作为镜像的数据源后,同时还需要配置指定接口作为源端口。
l 如果改变了源端口或目的端口的VLAN配置,配置将马上生效。
l 如果禁用了源端口或目的端口,镜像功能将失效。
l 如果VLAN或VLAN列表作为镜像源时,要保证目的口有足够大的宽带能够接收整个VLAN的镜像数据。
l 如果在已经生效的指定VLAN为源口的镜像会话中,增加或删除VLAN源口,需要重新应用整个镜像会话,因此已有的镜像流量可能会出现少量丢包。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) 配置镜像源端口。请至少选择其中一项进行配置。
○ 配置指定接口作为镜像的数据源。
monitor session session-number source interface interface-type interface-number [ { both | rx | tx } [ acl acl-name | acl acl-number ]
○ (可选)配置指定部分VLAN不能作为镜像的数据源。
monitor
session session-number filter vlan vlan-id-list rx
本命令需要与monitor session source interface命令或monitor session source interface acl命令同时配置使用。
○ 配置指定某些VLAN作为镜像的数据源。
monitor session session-number source vlan vlan-id-list rx
本功能与指定部分VLAN作为镜像的数据源、配置指定接口作为镜像的数据源功能互斥。
缺省情况下,未配置镜像会话的源端口。
(4) 配置镜像目的端口。
monitor session session-number destination interface interface-type interface-number switch
缺省情况下,未配置镜像目的端口。
通过配置RSPAN功能,能够跨设备监控数据报文以进行网络监控和故障排除。
l 所有参与镜像的报文均要加入远程VLAN中。
l 远程镜像VLAN必须在每台设备中都要进行配置,且VLAN ID必须一致,并且所有参与会话的端口都要加入该VLAN中。请避免将普通端口加入远程镜像VLAN。
l 建议不要将与中间设备相连的端口或与目的设备相连的端口配置为镜像源端口,否则可能引起网络内的流量混乱。
l 为了实现一对多镜像,需要在源设备上选取一个接口配置为MAC回环口,将输出端口通过MAC回环口的“自环”功能,通过实现将镜像报文输出到多个中间设备或者多个目的设备的功能。
l MAC回环口无法作为正常的端口转发流量。建议将处于DOWN状态的端口配置为MAC回环口,且不要在该端口上添加其他配置。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) 进入VLAN配置模式。
vlan vlan-id
(4) 配置远程VLAN。
remote-span
缺省情况下,未配置远程VLAN。
(5) 退出VLAN配置模式。
exit
(6) 配置远程镜像的源设备。
monitor session session-number remote-source
缺省情况下,未配置远程镜像会话中的源设备。
(7) (可选)在源设备上配置MAC自环功能。
a 进入二层以太网接口或三层以太网接口配置模式。
interface interface-type interface-number
b 打开接口MAC自环功能。
mac-loopback
缺省情况下,接口MAC自环功能处于关闭状态。
(8) 退出二层以太网接口或三层以太网接口配置模式。
exit
(9) 配置源设备上的源端口。
monitor session session-number
source interface interface-type interface-number [ { both | rx | tx } [ acl { acl-name | acl-number } ]
缺省情况下,未配置源设备上的镜像会话源端口。
(10) 配置远程镜像的目的设备。
monitor session session-number remote-destination
缺省情况下,未配置远程镜像的会话目的设备。
(11) 配置源设备上的输出端口或者目的设备上的目的端口。
monitor session session-number destination remote vlan remote-vlan-id interface interface-type interface-number switch
缺省情况下,未配置远程镜像源设备的输出端口或远程镜像目的设备的目的端口。
ERSPAN配置任务如下:
(1)
配置ERSPAN基本功能
(2)
(可选)配置ERSPAN的采样功能
(3) (可选)配置ERSPAN的属性
配置ERSPAN后网络分析仪可以通过远程镜像监控网络设备的数据流。设备之间均能正常交换数据。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) 配置ERSPAN会话。
monitor session
session-number erspan-source
缺省情况下,未配置ERSPAN会话。
(4) 配置指定接口作为镜像的数据源。
source interface { interface-type interface-numbere | all } [ both | rx [ acl { acl-name | acl-number } ] | tx ]
缺省情况下,未配置镜像源端口,当配置源端口时镜像数据的方向缺省为双向数据流。
(5) 配置封装源IP地址。
original { ip | ipv6 } address ip-address
缺省情况下,未配置GRE封装的指定源IP地址。
(6) 配置封装目的IP地址。
destination { ip | ipv6 } address ip-address
缺省情况下,未配置封装的类型及指定目的IP地址。
l ERSPAN的采样功能只有在会话或者镜像源端口配置了采样功能时才生效。
l 对于ERSPAN配置流采样的采样比时,采样比会以最接近的2的n次方生效。如配置的采样比为100,则实际生效的采样比为128。
l 采样比实际生效的范围为2^0~2^14,即1~16384。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) 配置ERSPAN会话。
monitor session
session-umber erspan-source
(4) 配置源端口。
source interface interface-type interface-number { [ rx | tx | both ] }
缺省情况下,未配置镜像源端口,当配置源端口时镜像方向缺省为both方向。
(5) 配置封装源IP地址。
original { ip | ipv6 } address ip-address
缺省情况下,未配置GRE封装的指定源IP地址。
(6) 配置封装目的IP地址。
destination { ip | ipv6 } address ip-address
缺省情况下,未配置封装的类型及指定目的IP地址。
(7) 配置基于流的ERSPAN采样功能。
source interface { interface-type interface-number | all }rx acl { acl-name | acl-number } [ sample ]
缺省情况下,未配置基于流的ERSPAN采样功能。
(8) (可选)配置的采样频率。
sampling-rate rate
缺省情况下,采样频率是1:1,表示每个报文都进行采样。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) 配置ERSPAN会话。
monitor session
session-number erspan-source
(4) 配置ERSPAN会话的属性。以下配置均为可选,请根据实际需求至少选择其中一项进行配置。
○ 封装IP TTL
ip ttl ttl-value
缺省情况下,封装IP报文的TTL值为64。
○ 封装IP DSCP
ip dscp dscp-value
缺省情况下,封装IP报文的DSCP值为0。
○
封装IPv6 hop-limit值。
ipv6
hop-limit value
缺省情况下,封装IPv6报文的hop-limit值为64。
○ 封装ipv6 traffic-class值。
ipv6
traffic-class value
缺省情况下,封装IPv6报文的traffic-class值为0。
traffic-class的可配置范围为0~255,但实际只有前6比特封装生效,即只有DSCP(0-63)封装生效,后2比特补0。
○ 配置ERSPAN与VRF联动。
vrf vrf-name
缺省情况下,未配置ERSPAN与VRF联动功能。
配置该功能时VRF必须已经存在。
(5) (可选)关闭ERSPAN会话。
shutdown
缺省情况下,会话功能处于开启状态。
可以通过show命令行查看功能配置后的运行情况以验证配置效果。
可以通过debug命令行列举输出的各种调试信息。
表1-1 SPAN-RSPAN监视与维护
作用 |
命令 |
查看镜像会话信息 |
show monitor [ session session-number ] |
打开镜像会话的调试开关 |
debug span |
如图1-6所示,通过适当的配置,网络分析仪能够监控DeviceA转发给DeviceB的所有数据流,监控来自DeviceB的特定数据流(如来自PC1和PC2的数据流)。
图1-6 SPAN组网图
l 配置DeviceA的GigabitEthernet 0/1和GigabitEthernet 0/2属于VLAN 1。创建SVI 1,并配置SVI
1地址为10.10.10.10/24。
l 配置DeviceB的GigabitEthernet 0/1属于VLAN 1。创建SVI 1,并配置SVI 1地址为10.10.10.20/24。
l 配置PC1、PC2的地址分别为10.10.10.1/24和10.10.10.2/24。
l 配置DeviceA的本地镜像,指定端口GigabitEthernet 0/1和GigabitEthernet 0/2分别为镜像的源端口和目的端口。监控DeviceA转发给DeviceB的所有数据流,监控来自DeviceB的特定数据流。
# 配置DeviceA的GigabitEthernet 0/1和GigabitEthernet 0/2属于VLAN 1。
DeviceA> enable
DeviceA# configure terminal
DeviceA(config)# vlan 1
DeviceA(config-vlan)# exit
# 在DeviceA上创建SVI 1,并配置SVI 1地址为10.10.10.10/24。
DeviceA(config)# interface vlan 1
DeviceA(config-if-VLAN 1)# ip address 10.10.10.10 255.255.255.0
DeviceA(config-if-VLAN 1)# exit
# 配置DeviceB的GigabitEthernet 0/1属于VLAN 1。
DeviceB# configure
DeviceB(config)# vlan 1
DeviceB(config-vlan)# exit
# 在DeviceB上创建SVI 1,并配置SVI 1地址为10.10.10.20/24。
DeviceB (config)# interface vlan 1
DeviceB(config-if-VLAN 1)# ip address 10.10.10.20 255.255.255.0
DeviceB(config-if-VLAN 1)# exit
# 在DeviceA上配置ACL,匹配源地址为10.10.10.20的报文。
DeviceA(config)# access-list 100 permit ip host 10.10.10.20 any
# 在DeviceA上配置端口GigabitEthernet 0/1为镜像的源端口,监控DeviceA转发给DeviceB的所有数据流,监控来自DeviceB的特定数据流。
DeviceA(config)# monitor session 1 source interface gigabitethernet 0/1 tx
DeviceA(config)# monitor session 1 source interface gigabitethernet 0/1 rx acl 100
# 在DeviceA上配置GigabitEthernet 0/2为镜像的目的端口。
DeviceA(config)# monitor session 1 destination interface gigabitethernet 0/2
# 通过show monitor命令查看镜像是否正确配置。
DeviceA# show monitor
sess-num: 1
span-type: LOCAL_SPAN
src-intf:
GigabitEthernet 0/1 frame-type TX Only
src-intf:
GigabitEthernet 0/1 frame-type RX Only
rx acl id 100
dest-intf:
GigabitEthernet 0/2
l DeviceA的配置文件
hostname DeviceA
!
ip access-list extended 100
10 permit ip host 10.10.10.20 any
!
interface VLAN 1
ip address 10.10.10.10 255.255.255.0
!
monitor session 1 destination interface GigabitEthernet 0/2
monitor session 1 source interface GigabitEthernet 0/1 tx
monitor session 1 source interface GigabitEthernet 0/1 rx acl 100
!
end
l DeviceB的配置文件
hostname DeviceB
!
interface VLAN 1
ip address 10.10.10.20 255.255.255.0
!
end
警告
当部署一对多端口镜像时,必须使用switchport trunk allowed vlan remove vlan-list命令裁剪掉各镜像设备上trunk类型的接口中广播的VLAN,否则trunk接口可能会被广播的流量占满导致业务中断。
如图1-7所示,网络分析仪可以通过远程镜像功能,实现在目的设备DeviceB和DeviceC上监控源设备DeviceA上的双向数据流。且设备之间均能正常交换数据。
图1-7 基于RSPAN实现的一对多镜像功能网图
l 配置DeviceA为源设备,配置远程镜像VLAN,配置端口GigabitEthernet 0/1为源端口,与目的设备相连的端口GigabitEthernet 0/3和GigabitEthernet 0/4为输出端口,配置GigabitEthernet 0/2接口为MAC回环口,用于实现一对多镜像的“反射”功能。配置输出端口可交换功能。
l DeviceB和DeviceC配置为目的设备,配置远程镜像VLAN,与源设备相连的端口GigabitEthernet 0/1作为源端口,配置Trunk端口,与网络分析仪相连的端口GigabitEthernet 0/2配置为镜像目的端口,并配置镜像目的端口可交换功能。
# 配置DeviceA为源设备。
(1) 配置远程VLAN。
DeviceA> enable
DeviceA# configure terminal
DeviceA(config)# vlan 7
DeviceA(config-vlan)# remote-span
DeviceA(config-vlan)# exit
(2) 配置源端口。
DeviceA(config)# monitor session 1 remote-source
DeviceA(config)# monitor session 1 source interface gigabitethernet 0/1 both
(3) 配置输出端口。
DeviceA(config)# monitor session 1 destination remote vlan 7 interface gigabitethernet 0/2 switch
(4) 配置回环口。
DeviceA(config)# interface gigabitethernet 0/2
DeviceA(config-if)# mac-loopback
DeviceA(config-if)# switchport access vlan 7
DeviceA(config-if)# exit
DeviceA(config)# interface range gigabitethernet 0/3-4
DeviceA(config-if-range)#
switchport mode trunk
# 配置DeviceB为目的设备。
(1) 配置远程VLAN。
DeviceB> enable
DeviceB# configure
DeviceB(config)# vlan 7
DeviceB(config-vlan)# remote-span
DeviceB(config-vlan)# exit
(2) 配置目的端口。
DeviceB(config)# monitor session 1 remote-destination
DeviceB(config)# monitor session 1 destination remote vlan 7 interface gigabitethernet 0/2 switch
DeviceB(config)# interface gigabitethernet 0/1
DeviceB(config-if)# switchport mode trunk
# 配置DeviceC为目的设备。
(1) 配置远程VLAN。
DeviceC> enable
DeviceC# configure
DeviceC(config)# vlan 7
DeviceC(config-vlan)# remote-span
DeviceC(config-vlan)# exit
(2) 配置目的端口。
DeviceC(config)# monitor session 1 remote-destination
DeviceC(config)# monitor session 1 destination remote vlan 7 interface gigabitethernet 0/2 switch
DeviceC(config)# interface gigabitethernet 0/1
DeviceC(config-if)# switchport mode trunk
# 在DeviceA上通过show monitor命令查看镜像源设备配置结果。
DeviceA# show monitor
sess-num: 1
span-type: SOURCE_SPAN
src-intf:
GigabitEthernet 0/1 frame-type Both
dest-intf:
GigabitEthernet 0/2
Remote vlan 7
mtp_switch on
# 在DeviceB和DeviceC中通过show monitor命令查看镜像目的设备配置结果。以DeviceB为例说明。
DeviceB# show monitor
sess-num: 1
span-type: DEST_SPAN
dest-intf:
GigabitEthernet 0/2
Remote vlan 7
mtp_switch on
l DeviceA的配置文件
hostname DeviceA
!
vlan 7
!
remote-span
!
interface GigabitEthernet 0/2
mac-loopback
switchport access vlan 7
!
interface GigabitEthernet 0/3
switchport mode trunk
interface GigabitEthernet 0/4
switchport mode trunk
!
monitor session 1 remote-source
monitor session 1 source interface GigabitEthernet 0/1 both
monitor session 1 destination remote vlan 7 interface GigabitEthernet0/2 switch
!
end
l DeviceB的配置文件
hostname DeviceB
!
vlan 7
remote-span
!
interface GigabitEthernet 0/1
switchport mode trunk
!
monitor session 1 remote-destination
monitor session 1 destination remote vlan 7 interface GigabitEthernet0/2 switch
!
end
l DeviceC的配置文件
hostname Device
!
vlan 7
remote-span
!
interface GigabitEthernet 0/1
switchport mode trunk
!
monitor session 1 remote-destination
monitor session 1 destination remote vlan 7 interface GigabitEthernet 0/2 switch
!
end
l 源设备、中间设备、目的设备均要配置远程VLAN且VID必须一致。
l 带宽大的端口被镜像到带宽小的端口可能会造成丢包。
如图1-8中所示。网管希望通过网络分析仪对DeviceA和DeviceC的流量进行监控。其中对于DeviceA,监控双向数据流;对于DeviceC,仅监控部分发送到Device的报文。为了合理利用资源,对监控报文进行采样,采样率为1000。
图1-8 ERSPAN配置举例组网图
l 配置各设备之间三层路由可达。
l 配置DeviceB为源设备。GigabitEthernet 0/1,GigabitEthernet 0/2均为源端口,监控GigabitEthernet 0/1的双向数据报文,对于GigabitEthernet 0/2的报文,仅镜像目的IP为2.1.1.1的报文,GigabitEthernet 0/3为镜像报文出口。
l 配置镜像报文的采样率为1000。
# 配置DeviceB的地址。
DeviceB> enable
DeviceB# configure terminal
DeviceB(config)# interface gigabitethernet 0/1
DeviceB(config-if-GigabitEthernet 0/1)# ip address 1.1.1.1 255.255.255.0
DeviceB(config-if-GigabitEthernet 0/1)# exit
DeviceB(config)# interface gigabitethernet 0/2
DeviceB(config-if-GigabitEthernet 0/1)# ip address 2.1.1.1 255.255.255.0
DeviceB(config-if-GigabitEthernet 0/1)# exit
DeviceB(config)# interface gigabitethernet 0/3
DeviceB(config-if-GigabitEthernet 0/1)# ip address 13.1.1.1 255.255.255.0
DeviceB(config-if-GigabitEthernet 0/1)# exit
# 配置DeviceA的地址。
DeviceA> enable
DeviceA# configure terminal
DeviceA(config)# interface gigabitethernet 0/1
DeviceA(config-if-GigabitEthernet 0/1)# ip address 1.1.1.2 255.255.255.0
DeviceA(config-if-GigabitEthernet 0/1)# exit
# 配置DeviceC地址。
DeviceC> enable
DeviceC# configure terminal
DeviceC(config)# interface gigabitethernet 0/1
DeviceC(config-if-GigabitEthernet 0/1)# ip address 2.1.1.2 255.255.255.0
DeviceC(config-if-GigabitEthernet 0/1)# exit
# 在DeviceB上配置ACL。
DeviceB(config)#access-list 1 permit host 1.1.1.1
# 创建ERSPAN Session 1,设置为源设备,并设置端口GigabitEthernet 0/1为源端口,镜像双向数据流,端口GigabitEthernet 0/2也为源端口,仅进行目的地址为1.1.1.1的报文。
DeviceB(config)# monitor session 1 erspan-source
DeviceB(config-mon-erspan-src)# source interface gigabitethernet 0/1 both
DeviceB(config-mon-erspan-src)# source interface gigabitethernet 0/2 rx acl acl1
DeviceB(config-mon-erspan-src)#
origin ip address
DeviceB(config-mon-erspan-src)# destination ip address 3.1.1.2
# 开启镜像报文采用功能并配置采样率为1000。
DeviceB(config-mon-erspan-src)# sample enable
DeviceB(config-mon-erspan-src)# sample rate 1000
# 验证DeviceB与DeviceA之间三层可通。
DeviceB# ping 1.1.1.2
Sending 5, 100-byte ICMP Echoes to 1.1.1.2, timeout is 2 seconds:
< press Ctrl+C to break >
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/3/8 ms.
# 验证DeviceB与DeviceC之间三层可通。
DeviceB# ping 2.1.1.2
Sending 5, 100-byte ICMP Echoes to 2.1.1.2, timeout is 2 seconds:
< press Ctrl+C to break >
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/3/8 ms.
# 验证DeviceB与网络分析仪之间三层可通。
DeviceB# ping 3.1.1.2
Sending 5, 100-byte ICMP Echoes to 3.1.1.2, timeout is 2 seconds:
< press Ctrl+C to break >
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/3/8 ms.
# 通过show access-lists命令查看ACL配置成功。
DeviceB# show access-lists
ip access-list standard 1
10 permit host 1.1.1.1
# 通过show monitor命令查看配置结果,ERSPAN会话处于Active状态。
DeviceB# show monitor
sess-num: 1
span-type: ERSPAN_SOURCE
src-intf:
GigabitEthernet 0/1 frame-type: Both TX status: Active RX status: Active
src-intf:
GigabitEthernet 0/2 frame-type: RX Only Rx acl id: 1
status: Active
original ip address: 2.1.1.2
destination ip address: 3.1.1.2
ip ttl: 64
ip dscp: 0
sample rate: 1000
vrf: default
l DeviceA的配置文件
hostname DeviceA
!
interface GigabitEthernet 0/1
ip address 1.1.1.2 255.255.255.0
!
end
l DeviceC的配置文件
hostname DeviceC
!
interface GigabitEthernet 0/1
ip address 2.1.1.2 255.255.255.0
!
end
l DeviceB的配置文件
hostname DeviceB
!
ip access-list standard 1
10 permit host 1.1.1.1
!
interface GigabitEthernet 0/1
ip address 1.1.1.1 255.255.255.0
!
interface GigabitEthernet 0/2
ip address 2.1.1.1 255.255.255.0
!
interface GigabitEthernet 0/3
ip address 3.1.1.1 255.255.255.0
!
monitor session 1 erspan-source
source interface gigabitEthernet 0/1 both
source interface gigabitEthernet 0/2 rx acl acl1
origin ip address 10.1.1.2
destination ip address 3.1.1.2
sample enable
sample rate 1000
!
end
l 配置ERSPAN镜像的会话ID已经被配置了RSPAN或LOCAL SPAN。