本次博客会介绍镜像技术原理与配置的内容。
对于这个镜像技术原理与配置在实际的网络工作环境中,用的比较多,有的时候遇到一些攻击,或者是故障,都会用镜像技术引到管理设备上,去抓包进行分析。
在网络维护的过程中会遇到需要对报文进行获取和分析的情况,比如怀疑有攻击报文,此时需要在不影响报文转发的情况下,对报文进行获取和分析。
镜像技术可以在不影响报文正常处理流程的情况下,将镜像端口的报文复制一份到观察端口,所以说在镜像技术里边有两个端口,(一个是镜像端口,一个是观察端口),把哪个端口的流量复制出来就是镜像端口,用户利用数据监控设备来分析复制到观察端口的报文,进行网络监控和故障排除。
数据采集的作用
一般情况下,都会对数据进行采集,对数据采集的用途无非就是三个,一个是业务实时监控,(可以监控下这个业务是不是正常的,)第二个就是当设备出现故障的时候,管理员需要对这个故障进行分析,分析的话,往往除了物理层面的分析以外们还要去抓取报文,去分析报文,第三个是去做网络流量的优化,有可能通过对数据的采集,对数据包进行分析,发现可能有些流量并不是优化的,可能是有问题,要对某些流量进行优化,这个是数据采集大体的三个作用。
数据采集的方法
那么数据采集的方法,实际上有很多种,第一种就是用分光器,有点类似于hub,是三通的线,当被采集的设备发出的流量,需要把它采集过来,那么在中间加个分光器,这个分光器它是一个物理设备,是三通,有三个口,这样的话,从一个接口接收到的流量,会向着其他的接口,发送一份出去,这样的话,在其中一个接口下边部署采集器,一般是服务器,弄一些数据报文的分析软件比如wireshark这样的话,就可以对一些报文进行分析,这种方法是必须要有硬件支持的。且当网络已经成型的情况下,这种方式不够灵活,因为要把物理线路拆掉,重新安装新的物理采集器,就是分光器这种设备。
,
另外一种方式会稍微好一点,会采用SNMP,通过SNMP协议,去网管网络设备,然后进行一个NMS的集中采集。
镜像概述
但是对于上面两种方法来说,采集数据的时候都会影响业务,但是对于镜像来说,是不会影响业务的。所以它的优点是不影响原来的网络。
镜像的角色
镜像没有那么难以理解,就一句话,就是复制,这个接口所有的流量,不管是入方向的,还是出方向的,或者是出入方向的流量都可以,所有的流量可以复制一份,实时流量,只要有流量就复制,没有流量就不会复制。
本地端口镜像配置需求
某企业中,办公区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来的流量,去访问其他设备的时候,全都复制一份给监控设备,就可以对这个数据报文进行监控,进行分析了。)
本地端口镜像配置实现
流镜像配置需求
流镜像配置实现
那么这样的话,需要通过acl的方式把来源于192.168.1.10的流量匹配出来,因为现在是只需要监控192.168.1.10,其他的不监控,所以不能用之前的那种方式,把所有的端口的流量给镜像过来,首先需要通过acl,通过acl的话,还要通过流分类,流动作,和流策略进行,但是在这里边也需要配置观察端口,E2/0/1,但是怎么能让只是来自192.168.1.10的流量copy到观察端口呢?那么在接口就完不成了,需要通过策略去实现,策略就是通过3个组成部分,一个是流分类,流分类叫做traffic classifier ,然后定义动作 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地址,
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的入方向的流量,出方向的并没有,因为我们在配置的时候,配置的就是入方向的。
如下图所示,需要在交换机上做让g0/02端口来做观察端口和g0/0/1端口来做镜像端口
<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上对于这个交换机上看不了验证结果的,这边不做展示。
接着我们来看一下流镜像的配置,如下图所示
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上去访问外网,我们在观察端口去抓包获取,查看结果
我们发现在观察端口只会有源地址是10.0.1.1的报文,没有源地址是10.0.1.2的报文的获取。