1) 什么是端口镜像? 把交换机一个或多个端口(VLAN)的数据镜像到一个或多个端口的方法。
2) 为什么需要端口镜像 ? 在进行网络故障排查、网络数据流量分析的过程中,有时需要对网络节点或骨干交换机的某些端口进行数据流量监控分析,而在交换机中设置镜像(SPAN)端口,可以对某些可疑端口进行监控,同时又不影响被监控端口的数据交换。 通常为了部署 IDS 产品需要监听网络流量,但是在目前广泛采用的交换网络中监听所有流量有相当大的困难,因此需要通过配置交换机来把一个或多个端口(VLAN)的数据转发到某一个端口来实现对网络的监听。
3) SPAN的分类
SPAN(Switched Port Analyzer)的作用主要是为了给某种网络分析器提供网络数据流。它既可以实现一个VLAN中若干个源端口向一个监控端口镜像数据,也可以从若干个 VLAN向一个监控端口镜像数据。SPAN 任务不会影响交换机的正常工作。当一个SPAN任务被建立后,根据交换机所处的不同的状态或操作,任务会处于激活或非激活状态,同时系统会将其记入日志。通过“show monitor session”命令可显示SPAN的当前状态。 SPAN数据流主要分为三类: (1)输入数据流(Ingress SPAN):指被源端口接收进来,其数据副本发送至监控端口的数据流; (2)输出数据流(Egress SPAN):指从源端口发送出去,其数据副本发送至监控端口的数据流; (3)双向数据流(Both SPAN):即为以上两种的综合。
4) SPAN任务时应遵循的原则: (1)对数据进行监控分析的设备应搭接在监控端口上; (2)冗余链路端口只能作为SPAN任务的源端口; (3)SPAN任务中所有的源端口的被监控方向必须一致; (4)在设置端口为源端口时,如果没有指定数据流的监控方向,默认为双向; (5)当SPAN任务含有多个源端口时,这些端口可以来自不同的VLAN; (6)取消某一个SPAN任务的命令是:no monitor session任务号; (7)取消所有SPAN任务的命令是:no monitor; (8)SPAN任务的目的端口不能参与到生成树的距离计算中,但由于源端口的BPDU包可以被镜像,所以SPAN目的端口可以监控到来自源端口的BPDU数据包。
5) 在Cisco Catalyst系列交换机上配置镜像(SPAN)端口
对于 Cisco 2950、Cisco 3550 和 Cisco 3750 系列交换机配置SPAN的源端口,命令格式如下: Switch(config)#[no]monitorsession{session_number}{source(interface type/num)|{vlan vlan_ID}}[,|-|rx|tx| both] 以下例子显示如何配置源端口为FastEthernet 5/l的SPAN任务,其监控对象为双向数据流: Switch(config)# monitor session 1 source interface fastethrnet 5/l 配置SPAN的目的端口,命令格式如下: Switch(config)# [no] monitor session(session_number){destination{interface type/num}} 以下例子显示如何配置目的端口为FastEthernet 5/48的SPAN任务: Switch(config)#monitor session l destination interface fastethernet 5/48 当SPAN任务的源端口为Trunk端口时,命令格式如下: Switch(config)#[no]monitor session{session_number}{filter vlan {vlan_ID}[,|-]} 以下例子是当源端口为Trunk端口时,如何配置监控其中的VLANl~VLAN5和 VLAN9: Switch(config)# monitor session 2 filter vlan 1-5,9 以下是一个综合例子,将用到前面所提到的各种命令: 监控Trunk端口FastEtheraet4/10上的双向数据流(在该端口上承载着VLANl~ VLANl005的数据流),只监控其中VLAN57中的数据流,端口 FastEthernet4/15为目的端口,具体配置方法如下: Switch(config)# monitor session 1 source interface fastethernet 4/10 Switch(config)# monitor session 1 filter vlan 57 Switch(config)# monitor session 1 destination interface fastethernet 4/15 如果想释放该SPAN任务,输入如下命令: Switch(config)# no monitor session 1 以下语句显示如何检验SPAN任务的配置结果: Switch# show monitor session 2 在配置镜像端口(SPAN)过程中,还应考虑到数据流量过大时,设备的处理速度及端口数据缓存的大小,要尽量减少被监控数据包的丢失。