问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

端口镜像SPAN与RSPAN详解

创作时间:
作者:
@小白创作中心

端口镜像SPAN与RSPAN详解

引用
CSDN
1.
https://m.blog.csdn.net/2401_83604604/article/details/144948950

端口镜像概述

端口镜像的作用主要在于一些难度较大的网络技术的学习中,我们通过抓包对报文的分析,可以更好地理解。还有的就是在网络排障的过程中,我们可以通过抓包分析数据报文的收发等状态,来判断在哪个设备节点上出现了问题。

端口镜像最主要使用的技术是SPAN,所以端口镜像也被称为是SPAN或端口监听。端口镜像最重要的概念是,将一个端口的入/出/双向流量复制一份到另一个端口上,注意,这里指的是复制,而并不是直接转发。端口镜像最多只是起到分析流量的作用,并没有能力去控制流量。

如下图,通过端口镜像我们可以将③的出/入/双向流量复制一份给①,从而使得网络监测系统对③端口以及下联两台PC的流量进行分析。

端口镜像原理

端口镜像定义了独自属于端口镜像的会话,SPAN会话,在这个SPAN会话中有两种的端口角色,1、目的端口,2、源端口。

刚刚我们说到,将一个端口的入/出/双向流量复制一份到另一个端口上,在这其中,存在着两种端口类型的概念,被复制流量的那个端口称为被监控端口,而负责分析流量的那个端口被称为监控端口。

与目的端口和源端口相互结合,我们得到了一个新的概念,目的端口就是那个被监控的端口,而源端口就是那个去监控的端口,如下图所示。即源端口会复制一份流量称为镜像报文然后转发给目的端口。

源端口的特性

源端口也称端口镜像中的被监控口。

在SPAN会话中,无论是源端口的出/入/双向的数据,都会被监控到。

通过上图我们发现,在一个SPAN会话中,有许多个源端口,也暗示着我们源端口的数量是不受限制的,但在物理层面上还是要收到设备性能的限制。

  1. 源端口的角色有很多种,源端口可以作为二层口、三层口(no switchport)或者是AP口
  2. 一个端口不能同时作为源端口和目的端口
  3. 源端口和目的端口之间可以是跨网段通信,如源端口和目的端口所在的vlan可以相同也可以不同

目的端口的特性

目的端口也称为端口镜像中的监控口。

在SPAN会话中,负责接收并分析源端口发送来的镜像报文。

  1. 同样,目的端口的角色也可以是二层口、三层口(no switchport)、AP口
  2. 与之前说的一样,目的端口也不能同时作为源端口
  3. 默认情况下,目的端口是不能即用来发送数据,又用来做端口镜像,这里说了默认情况,那么就说明,我们可以通过配置命令来进行改变,就是在配置时加上switch参数

端口镜像SPAN的配置

如下拓扑图,通过在交换机SW1上配置端口镜像,g0/1作为源端口,g0/2作为目的端口,实现在PC0上可以监控PC1和PC2访问外部流量的效果。

基础配置:SW1和SW2之间的链路为trunk链路

SW1上

SW1(config)#int g0/1
SW1(config-if)#switchport mode trunk

SW2上

SW2(config)#int g0/1
SW2(config-if)#switchport mode trunk

因为源端口和目的端口都在SW1上,所以这里的端口镜像实验,我们都是在SW1进行配置即可。

创建SPAN会话为会话1,为会话创建端口镜像的源端口g0/1,抓包方向为双向

SW1(config)#monitor session 1 source int g0/1 both
//这条命令同时做了两件事情,1、创建SPAN会话1,创建端口镜像的源端口g0/1,both表示抓包方向为双向

创建SPAN session 1的目的端口为g0/2,并配置switch参数

SW1(config)#monitor session 1 destination int g0/2 switch

端口镜像SPAN会话的配置,只需要上述的简单两步即可完成。

同时也要注意在配置源端口被监控双向抓包的时候,除了both,我们还要知道只抓出流量和入流量。

在原本both的位置,如果配置rx,则表示只抓包抓取入流量的数据包;如果配置为tx,则表示只抓包抓出流量的数据包。

我们还可以show一下,来验证我们的配置

查看SPAN的配置

SW1(config)#show monitor session 1

远程端口镜像RSPAN

上面我们的实验配置都是在一台设备上进行端口镜像的,但是某些场景下,我们需要将其它的端口的报文镜像一份到本设备上来。

这个时候就需要另外一种SPAN,就是RSPAN,RSPAN可以做到监控其它设备上的端口,即源端口和目的端口不再一台设备上。

RSPAN原理

RSPAN会定义了一个专门用于传输镜像报文的vlan,叫做Remote vlan。

由于Remote vlan 的存在,RSPAN中又产生三种设备的角色和功能:

  1. 源设备,源端口所在的交换机,负责将源端口的数据复制一份,接着通过Remote vlan传递到目的设备或者是中间设备上
  2. 中间设备,源设备与目的设备之间并且在remote vlan上的交换机,负责将镜像报文传递到下一个中间设备或则是目的设备上
  3. 目的设备,目的端口所在的交换机,负责接收并分析镜像报文

RSPAN配置流程

RSPN配置大致思路,既然是交换机互联,我们就必须先将交换机与交换机之间的trunk的链路配置完成。

随后需要源设备、中间设备和目的设备上定义remote vlan。

接着就开始对源设备、中间设备和目的设备不同角色进行不同的配置即可。

  1. 源设备、中间设备和目的设备上定义remote vlan,并配置交换机与交换机之间的trunk链路

SW1上

SW1(config)#int g0/2 
SW1(config-if)#switchport mode trunk 
SW1(config-if)#switchport trunk allowed vlan all
SW1(config-if)#ex
SW1(config)#vlan 7	
SW1(config-vlan)#remote-span 		//使vlan7称为remote-vlan
SW1(config-vlan)#ex

SW2上

SW2(config)#int range g0/1-2
SW2(config-if-range)#switchport mode trunk 
SW2(config-if-range)#switchport trunk allowed vlan all
SW2(config-if-range)#ex
SW2(config)#vlan 7
SW2(config-vlan)#remote-span 
SW2(config-vlan)#ex

SW3上

SW3(config)#int g0/1
SW3(config-if)#switchport trunk encapsulation dot1q 
SW3(config-if)#switchport mode trunk 
SW3(config-if)#switchport trunk allowed vlan all
SW2(config-if-range)#ex
SW3(config)#vlan 7
SW3(config-vlan)#remote-span 
SW3(config-vlan)#ex
  1. 实际上,在RSPAN中,中间设备只需要允许配置trunk链路和允许全部vlan通过即可

配置源设备

SW1上

创建RSPAN会话1,并指定其为源设备

SW1(config)#monitor session 1 remote-source		//指定SW1为源设备

配置g0/1为源端口,并且抓包方向为双向

SW1(config)#monitor session 1 source int g0/1 both

配置源设备复制的镜像报文应该从那个vlan出(即那个是remote vlan)和从哪个接口出,并配置输出端口可交换功能

SW1(config)#monitor session 1 destination remote vlan 7 int g0/2 switch

配置目的设备

SW3上

创建RSPAN会话1,并指定其为目的设备

SW3(config)#monitor session 1 remote-destination

配置g0/2为目的端口,并配置从哪个remote vlan接收镜像报文

SW3(config)#monitor session 1 desination remote vlan 7 int g0/2 switch
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号