一、流量镜像
流量镜像技术是将指定接口或多个接口或指定VLAN的流量复制一份到交换机的另一个端口上。管理员可以通过配置,告诉交换机哪些端口的流量需要进行监控,然后将这些接口的流量复制一份,发送给另一个安装了流量监控软件的接口,以便进行流量分析。
简单的打个比方说就是三层交换机的进出口流量复制一份,一般复制到运行流量分析的服务器的接口上
二、流量镜像(思科技术)
1、SPAN
SPAN是将指定接口/多个接口/指定VLAN的流量复制一份到同交换机的另一个端口上。可以镜像源端口的出站流量,也可以镜像源端口的入站流量。然后将镜像的流量发送到目的端口,目的端口运行wireshark等流量分析工具。SPAN也有缺点:
- 无法跨交换机镜像流量:SPAN支持对某个VLAN流量的监控,但是无法捕获分布在多台交换机上的特定VLAN的全部流量(采用RSPAN解决)
- 接口带宽限制:无法将40Gbps的镜像流量镜像到一个10Gbps端口上
在配置SPAN前,需要了解几个概念:SPAN的端口角色、端口流量方向、SPAN会话
- SPAN定义了两种端口:源端口和目的端口。源端口表示需要镜像流量的端口,目的端口表示流量镜像到该端口。
- 端口流量方向:可以镜像源端口的in、out、both方向的流量,无论是2层还是3层端口都可以配置成SPAN源端口。
- SPAN会话是一组源端口和目的端口的关联,每个SPAN会话中可配置一个/多个源端口,也可以将会话流量镜像到一个/多个目的端口上。
不同交换机平台对SPAN的能力需要根据官网参数来
SPAN支持源VLAN,表示源VLAN的所有端口是SPAN源端口,每个SPAN会话只能在端口或VLAN之间任选其一,不能同时配置。SPAN的目的端口不存在所谓的流量方向问题!
配置SPAN
1st. 定义SPAN源端口:monitor session session-id source interface g0/0/0 {both | rx | tx}
2nd. 定义SPAN源VLAN:monitor session session-id source vlan vlan-id {both | rx | tx}
3rd. 定义SPAN目的端口/VLAN:monitor session session-id source {int g0/0/0 | vlan vlan-id }
4th. 验证SPAN会话:show monitor
最佳实践
需求:将g0/1接口的流量镜像到g0/2上
SW#
monitor session 10 source int g0/1 both
monitor session 10 destination int g0/2
show monitor
2、RSPAN
RSPAN是远程镜像端口技术,将SPAN特性从单台交换机扩展到了多台交换机上。RSPAN将远程流量镜像到本地交换机端口上,无需将抓包工具物理连接到远程交换机上。
理解RSPAN:所有参与RSPAN会话的交换机都需要配置RSPAN VLAN,通过RSPAN VLAN这个虚拟通道来实现跨交换机的流量镜像。源端口的被监控流量将被注入到RSPAN VLAN中,通过该通道到达跨越了多个交换机的目的交换机的RSPAN VLAN中。随后通过RSPAN VLAN注入到目的交换机的目的端口中。
- trunk可以承载RSPAN VLAN的流量
- 了解性:在某些交换机平台中,配置RSPAN VLAN的同时,需要指定一个反射端口,反射端口作用就是将从源端口复制下来的流量反射到RSPAN VLAN中。实际流量不走反射端口,配置反射端口仅仅是某些平台的硬件限制。每个反射端口每次只能应用在一个会话中。
配置RSPAN
配置的时候需要注意:
- 镜像流量流经过的交换机都需要配置RSPAN VLAN
- 源和目的交换机之间的trunk链路需要放通RSPAN VLAN
- RSPAN使用两个SPAN会话,一个用于源(配置在源交换机上),一个用于目的(配置在目的交换机上)
1st. 定义RSPAN VLAN:
vlan vlan-id
name RSPAN VLAN
remote-span
exit
2nd. 定义源交换机源端口:monitor session session-id source {int g0/0/0 | vlan vlan-id}
3rd. 定义源交换机的目的端口为RSPAN VLAN:monitor session session-id destination remote vlan vlan-id
4th. 定义目的交换机的源端口为RSPAN VLAN:monitor session session-id source remote vlan vlan-id
5th. 定义目的交换机的目的端口:monitor session session-id destination {int g0/0/0 | vlan vlan-id}
最佳实践
需求:配置RSPAN将SW3 g0/1的流量镜像到SW1 g0/2。(从左至右依次为SW1、SW2、SW3)
SW1#
vlan 199
name RSPAN VLAN
remote vlan
exit
monitor session 1 source remote vlan 199
monitor session 1 destination int g0/2
int g0/0
sw tr allow vlan add 199
SW2#
vlan 199
name RSPAN VLAN
remote vlan
exit
int range TRUNK-LINK
sw tr allow vlan add 199
SW3#
vlan 199
name RSPAN VLAN
remote vlan
exit
monitor session 1 source int g0/1
monitor session 1 destination remote vlan 199
int g0/0
sw tr allow vlan add 199
三、流量镜像(华为技术)
镜像端口指流量源端口,本地观察端口指转发到的目的端口,远程观察端口指转发到远程目的端口。S5700支持将多镜像端口复制到一个观察端口上,支持将一个镜像端口复制到多个观察端口上。
配置流量镜像
1st. 定义观察端口:observe-port 1 int g0/0/1 {to g0/0/10}
2nd. 定义镜像源:镜像VLAN、镜像端口
定义镜像VLAN:
int vlan x
port-mirroring to observe-port 1 {both | inbound | outbound}
定义镜像端口:
int g0/0/0
port-mirroring to observe-port 1 {both | inbound | outbound}
查看镜像端口:dis port-mirroring
查看观察端口:dis observe-port