本次博客会介绍镜像技术原理与配置的内容。

对于这个镜像技术原理与配置在实际的网络工作环境中,用的比较多,有的时候遇到一些攻击,或者是故障,都会用镜像技术引到管理设备上,去抓包进行分析。

在网络维护的过程中会遇到需要对报文进行获取和分析的情况,比如怀疑有攻击报文,此时需要在不影响报文转发的情况下,对报文进行获取和分析。

镜像技术可以在不影响报文正常处理流程的情况下,将镜像端口的报文复制一份到观察端口,所以说在镜像技术里边有两个端口,(一个是镜像端口,一个是观察端口),把哪个端口的流量复制出来就是镜像端口,用户利用数据监控设备来分析复制到观察端口的报文,进行网络监控和故障排除。

数据采集的作用

 

一般情况下,都会对数据进行采集,对数据采集的用途无非就是三个,一个是业务实时监控,(可以监控下这个业务是不是正常的,)第二个就是当设备出现故障的时候,管理员需要对这个故障进行分析,分析的话,往往除了物理层面的分析以外们还要去抓取报文,去分析报文,第三个是去做网络流量的优化,有可能通过对数据的采集,对数据包进行分析,发现可能有些流量并不是优化的,可能是有问题,要对某些流量进行优化,这个是数据采集大体的三个作用。

业务实时监控

大型网络或数据中心一般会在汇聚点设置监控系统实时监测网络数据流量信息,防范和防止业务的异常。

故障处理分析

一些疑难杂症的故障需通过采集实际的报文信息来找到更加明显的线索。

网络流量优化

当网络系统发展到一定规模,对数据流量地精细化控制变的尤为重要。只有实际采集现网的真实数据流量,通过专业的流量分析系统定位出网络的各种问题,并为此提出优化解决方案。

想将交换机的镜像流量镜像到虚拟机中怎么操作 交换机流量镜像原理_运维

数据采集的方法

那么数据采集的方法,实际上有很多种,第一种就是用分光器,有点类似于hub,是三通的线,当被采集的设备发出的流量,需要把它采集过来,那么在中间加个分光器,这个分光器它是一个物理设备,是三通,有三个口,这样的话,从一个接口接收到的流量,会向着其他的接口,发送一份出去,这样的话,在其中一个接口下边部署采集器,一般是服务器,弄一些数据报文的分析软件比如wireshark这样的话,就可以对一些报文进行分析,这种方法是必须要有硬件支持的。且当网络已经成型的情况下,这种方式不够灵活,因为要把物理线路拆掉,重新安装新的物理采集器,就是分光器这种设备。

想将交换机的镜像流量镜像到虚拟机中怎么操作 交换机流量镜像原理_运维_02

分光器物理采集:

利用物理器件分光器插入连接的链路当中,复制出正常的数量流到采集器上面。

采集的数据完整可靠,只在中间链路上操作,完全不影响被采集设备的性能,也不占用链路带宽。

缺点是每次采集要做物理动作切入,相对繁琐且有风险。

适合网络业务出入口大型设备的数据流采集,常用于连接 IDS 设备的网络环境。

 

 另外一种方式会稍微好一点,会采用SNMP,通过SNMP协议,去网管网络设备,然后进行一个NMS的集中采集。

NMS 集中采集:

利用通用标准协议 SNMP 协议传送标准的 MIB 数据,采集整网的配置信息和设备端口数据流信息。

优点是可以采集整网设备节点信息。

缺点是针对接口的数据流信息采集不够精细和完整,大部分是统计信息。

适合网管中心查看设备的参数和性能以及业务信息统计。

 

 

镜像概述

镜像 定义

将镜像端口(源端口)的报文复制一份到观察端口(目的端口) 。(这种就叫做镜像,说白了就是把某个端口的流量完完整整的复制一份,然后copy到另外一个端口上去,这个源端口有什么样的流量,到了观察端口也有什么样的流量。)

 

镜像作用

获取完整报文用于分析网络状况。(因为这个镜像是对所有的数据进行完整的复制,很类似刚才讲的分光器,分光器就是 对所有的数据流量进行完整的复制。)

但是对于上面两种方法来说,采集数据的时候都会影响业务,但是对于镜像来说,是不会影响业务的。所以它的优点是不影响原来的网络。

镜像优点

不影响原有网络,快捷方便。

采集的是实时数据流,真实可靠。

 

镜像的特点:

在网络维护的过程中会遇到需要对报文进行获取和分析的情况,比如怀疑有攻击报文,此时需要在不影响报文转发的情况下,对报文进行获取和分析。

镜像可以在不影响报文正常处理流程的情况下,将镜像端口的报文复制一份到观察端口,用户利用监控设备来分析复制到观察端口的报文,进行网络监控和故障排除。

镜像 支持将多端口的流量镜像到同一个观察端口,配置时没有数量限制,但是需要考虑观察端口实际的流量是否超过其转发能力,即实际流量是否超过此观察端口的最大带宽。

如果在主接口做端口镜像,会将子接口流量也镜像到观察端口 。

 

镜像的角色

(镜像的角色有镜像端口,观察端口还有普通端口,普通端口的流量是不会被镜像到观察端口的,只有定义了某些端口是镜像端口的话,镜像端口和观察端口进行关联,那么这种情况下,设备就会把镜像端口的流量,有可能是出方向,有可能是入方向,也有可能是双向,都可以去复制一份放到观察端口,那么观察端口再连一个监控设备,就可以去对数据包进行分析了)

 

镜像端口:

镜像端口是被监控的端口,从镜像端口流经的所有报文或匹配流分类规则的报文将被复制到观察端口 。

观察端口:

观察端口是连接监控设备的端口,用于输出从镜像端口复制过来的报文。

 镜像没有那么难以理解,就一句话,就是复制,这个接口所有的流量,不管是入方向的,还是出方向的,或者是出入方向的流量都可以,所有的流量可以复制一份,实时流量,只要有流量就复制,没有流量就不会复制。

本地端口镜像配置需求

某企业中,办公区1和办公区2用户分别通过接口Eth2/0/1、Eth2/0/2接入Router。一台监控设备接在Router的接口Eth2/0/3上,用于数据分析监控。为保证企业的信息安全,用户希望通过监控设备对办公区1和办公区2发送的所有报文进行监控。

(这种情况下就意味着E2/0/1、E2/0/2实际上就是这个镜像端口,E2/0/3就是这个观察端口,这样的话,不管是办公区1还是办公区2来的流量,去访问其他设备的时候,全都复制一份给监控设备,就可以对这个数据报文进行监控,进行分析了。)

想将交换机的镜像流量镜像到虚拟机中怎么操作 交换机流量镜像原理_数据_03

配置思路:

在 Router 上 将接口 Eth2/0/3 配置为本地观察端口。 

在 Router 上 将接口 Eth2/0/1 和 Eth2/0/2 配置为镜像端口,实现对接口报文进行监控。

 

本地端口镜像配置实现

想将交换机的镜像流量镜像到虚拟机中怎么操作 交换机流量镜像原理_运维_04

 

配置命令:

#

 observe-port interface Ethernet2/0/3  // 将 E2/0/3 接口配置为观察端口。

#

nterface Ethernet2/0/1

 mirror to observe-port inbound  // 将 E2/0/1 接口配置为镜像端口,镜像所有入方向报文。

因为现在是主要针对办公区域进来的流量,去往外访问的流量,用的是inbound,所以在配置端口镜像的时候,得根据实际情况,去判断到底是用inbound还是outbound

#

interface Ethernet2/0/2

 mirror to observe-port inbound  // 将 E2/0/2 接口配置为镜像端口,镜像所有入方向报文。

 

流镜像配置需求

上面是本地端口镜像,把这个接口所有的流全部都做了复制,但是流镜像是对某条流去做镜像,因为在一个网络里面,这个流量太多了,迅雷的流量,http的流量,但是现在只是想监控某一个流量,过多的流量不需要监控。

 

某企业中,市场部 用户通过接口 Eth2/0/0 接入 路由器 RTA 。一台 监控 设备接在 RTA 的接口 Eth2/0/1 上,用于 数据分析监控 。用户希望监控 市场部 IP 地址为 192.168.1.10 的主机 发出的所有 报文。(明显是在怀疑这个流量)

 

想将交换机的镜像流量镜像到虚拟机中怎么操作 交换机流量镜像原理_数据采集_05

流镜像 :

将镜像端口上特定业务流的报文传送到监控设备进行分析和监控。在流镜像中,镜像端口应用了 特定的 流策略。如果从镜像端口流经的报文匹配 流策略 ,则将被复制并传送到监控设 备。

配置思路:

将接口 Eth2/0/1 配置为本地观察端口。

配置流镜像策略,并在接口 Eth2/0/0 入方向 上应用流策略,将匹配源 IP 地址为 192.168.1.10 的报文复制到本地观察端口。

 

流镜像配置实现

想将交换机的镜像流量镜像到虚拟机中怎么操作 交换机流量镜像原理_运维_06

配置命令:

observe-prt interface Ethernet2/0/1  // 
 将端口 
 E2/0/1定义为观察端口。#
 
acl 
  number 2000  // 
 用 
 ACL 
 匹配 
 IP 
 为 
 192.168.1.10 
 主机。
 
 rule 5 permit source 192.168.1.10 0  
 
#
 
traffic classifier c1 operator or
 
 if-match  
 acl 
  2000
 
#
 
traffic behavior b1
 
 mirror to observe-port
 
#

traffic policy p1  // 定义流策略,将 ACL 匹配的流量镜像到观察端口。

classifier c1 behavior b1
 
#
 
interface Ethernet2/0/0

 traffic-policy p1 inbound  // 在镜像端口 E2/0/0 入方向应用流策略。

 

traffic behavior ,动作是把流量输出到镜像端口,同时通过一个流策略,把将ACL匹配的流量镜像到观察端口,然后把这个策略放到接口就行了,只要是从这个接口进来的,只要源是192.168.1.10这样的数据流量,都会使得执行traffic policy的动作,然后镜像到观察端口,如果来的流量不是192.168.1.10,这个策略就不会生效,就会直接放行,这个只是针对某个流量,还可以通过高级acl去针对http的流量,或者是其他的流量,完全取决于acl怎么去写。

华为的ensp上是做不出来效果的,但是命令可以敲一敲。

如下图所示,AR1上的g0/0/0为镜像端口,g0/0/1为观察端口,我们可以让pc1去pingAR1上的g0/0/0地址,

 

想将交换机的镜像流量镜像到虚拟机中怎么操作 交换机流量镜像原理_数据_07

 AR1上的配置如下所示:

[AR1]dis cu
 #
  sysname AR1
 #
  observe-port interface GigabitEthernet0/0/1
 #
 interface GigabitEthernet0/0/0
  ip address 192.168.1.254 255.255.255.0 
  mirror to observe-port inbound
 #
 interface GigabitEthernet0/0/1
  ip address 10.0.12.1 255.255.255.0 
 #

结果验证:

如下图所示,是在AR1上g0/0/1接口抓取的包,发现都是从pc1去往AR1上g0/0/0的入方向的流量,出方向的并没有,因为我们在配置的时候,配置的就是入方向的。

 

想将交换机的镜像流量镜像到虚拟机中怎么操作 交换机流量镜像原理_数据_08

如下图所示,需要在交换机上做让g0/02端口来做观察端口和g0/0/1端口来做镜像端口

想将交换机的镜像流量镜像到虚拟机中怎么操作 交换机流量镜像原理_数据_09

 

<LSW1>dis cu
 #
 sysname LSW1
 #
 vlan batch 10 20
 #
 observe-port 1 interface GigabitEthernet0/0/2
 #
 interface Vlanif1
  ip address 10.0.1.11 255.255.255.0
 #
 interface Vlanif10
  ip address 192.168.10.254 255.255.255.0
 #
 interface Vlanif20
  ip address 192.168.20.254 255.255.255.0
 #
 interface GigabitEthernet0/0/1
  port link-type access
  port default vlan 10
  port-mirroring to observe-port 1 inbound
 #
 interface GigabitEthernet0/0/3
  port link-type access
  port default vlan 20

 在ensp上对于这个交换机上看不了验证结果的,这边不做展示。

接着我们来看一下流镜像的配置,如下图所示

想将交换机的镜像流量镜像到虚拟机中怎么操作 交换机流量镜像原理_数据采集_10

 

AR1上的配置如下所示:
 [AR1]dis cu
 [V200R003C00]
 #
  sysname AR1
 #
 acl number 2000  
  rule 5 permit source 10.0.1.1 0    只匹配源地址是10.0.1.1的流量(把源地址是10.0.1.1的流量抓取出来)
 #
 traffic classifier c1 operator or
  if-match acl 2000
 #
 traffic behavior b1
  mirror to observe-port 
 #
 traffic policy p1
  classifier c1 behavior b1
 #
 interface GigabitEthernet0/0/0
  ip address 10.0.1.254 255.255.255.0 
  traffic-policy p1 inbound
 #
 interface GigabitEthernet0/0/1
  ip address 10.0.14.1 255.255.255.0 
 #
 interface GigabitEthernet0/0/2
  ip address 10.0.12.1 255.255.255.0 
 #
 ospf 1 router-id 1.1.1.1 
  area 0.0.0.0 
   network 10.0.1.0 0.0.0.255 
   network 10.0.12.0 0.0.0.255 
   network 10.0.14.0 0.0.0.255

配置验证:

分别在PC1(10.0.1.1)和PC2上去访问外网,我们在观察端口去抓包获取,查看结果 

想将交换机的镜像流量镜像到虚拟机中怎么操作 交换机流量镜像原理_源地址_11

 

想将交换机的镜像流量镜像到虚拟机中怎么操作 交换机流量镜像原理_数据_12

 

想将交换机的镜像流量镜像到虚拟机中怎么操作 交换机流量镜像原理_源地址_13

我们发现在观察端口只会有源地址是10.0.1.1的报文,没有源地址是10.0.1.2的报文的获取。