HCIP-5.9镜像技术原理与配置
前言
在网络维护的过程中会遇到需要对报文进行获取和分析的情况,比如怀疑有攻击报文,此时需要在不影响报文转发的情况下,对报文进行获取和分析。
镜像技术可以在不影响报文正常处理流程的情况下,将镜像端口的报文复制一份到观察端口,用户利用数据监控设备来分析复制到观察端口的报文,进行网络监控和故障排除。
1、镜像的产生背景
数据采集的作用:
数据采集的方法:
- 分光器物理采集
- 利用物理器件分光器插入连接的链路当中,复制出正常的数量流到采集器上面。
- 采集的数据完整可靠,只在中间链路上操作,完全不影响被采集设备的性能,也不占用链路带宽。
- 缺点是每次采集要做物理动作切入,相对繁琐且有风险。
- 适合网络业务出入口大型设备的数据流采集,常用于连接IDS设备的网络环境。
- NMS集中采集 - 利用通用标准协议SNMP协议传送标准的MIB数据,采集整网的配置信息和设备端口数据流信息。
- 优点是可以采集整网设备节点信息。
- 缺点是针对接口的数据流信息采集不够精细和完整,大部分是统计信息。
- 适合网管中心查看设备的参数和性能以及业务信息统计。
2、镜像的基本概念
镜像简介:
镜像是指将经过指定端口(源端口或者镜像端口)的报文复制一份到另一个指定端口(目的端口或者观察端口)。
目的:
在网络运营与维护的过程中,为了便于业务监测和故障定位,网络管理员时常要获取设备上的业务报文进行分析。
镜像可以在不影响设备对报文进行正常处理的情况下,将镜像端口的报文复制一份到观察端口。网络管理员通过网络监控设备就可以分析从观察端口复制过来的报文,判断网络中运行的业务是否正常。
2.1、基本概念
- 镜像定义
- 将镜像端口(源端口)的报文复制一份到观察端口(目的端口)。
- 镜像作用
- 获取完整报文用于分析网络状况。
- 镜像优点
- 不影响原有网络,快捷方便。
- 采集的是实时数据流,真实可靠。
镜像的特点:
- 在网络维护的过程中会遇到需要对报文进行获取和分析的情况,比如怀疑有攻击报文,此时需要在不影响报文转发的情况下,
对报文进行获取和分析
。 - 镜像可以在不影响报文正常处理流程的情况下,
将镜像端口的报文复制一份到观察端口
,用户利用监控设备来分析复制到观察端口的报文,进行网络监控和故障排除。 - 镜像支持将
多端口的流量镜像到同一个观察端口
,配置时没有数量限制,但是需要考虑观察端口实际的流量是否超过其转发能力,即实际流量是否超过此观察端口的最大带宽。 - 如果在
主接口做端口镜像,会将子接口流量也镜像到观察端口
。
镜像的角色:
- 镜像端口:
镜像端口是被监控的端口
,从镜像端口流经的所有报文或匹配流分类规则的报文将被复制到观察端口。 - 观察端口:
观察端口是连接监控设备的端口
,用于输出从镜像端口复制过来的报文。
在设备上应用镜像功能时,如果镜像过多,会占用较多的设备内部转发带宽,可能影响其他业务转发。另外,如果镜像端口与观察端口的带宽不一致,比如,镜像端口的带宽是1000Mbit/s,观察端口的带宽是100Mbit/s,则有可能导致观察端口因带宽不足而不能及时转发全部的镜像报文,发生丢包情况。
2.2、镜像方向
镜像方向是指将镜像端口指定方向的报文复制到观察端口,包括:
- 入方向:将镜像端口接收的报文复制到观察端口上。
- 出方向:将镜像端口发送的报文复制到观察端口上。
- 双向:将镜像端口接收和发送的报文都复制到观察端口上。
2.3、端口镜像
端口镜像是指设备复制从镜像端口流经的报文,并将此报文传送到指定的观察端口进行分析和监控。端口镜像根据监控设备在网络中位置的不同,分为本地端口镜像和远程端口镜像。
本地端口镜像:
本地端口镜像是指观察端口与监控设备直接相连
,此时观察端口被称为本地观察端口。
远程端口镜像:
远程端口镜像是指观察端口与监控设备通过中间网络传输镜像报文
,此时观察端口被称为远程观察端口。
二层远程端口镜像是指远程观察端口与监控设备通过一个二层网络相连。如下图所示,二层远程端口镜像中镜像报文的具体转发过程如下。
远程观察端口收到镜像端口复制过来的镜像报文,在原来的VLAN标签(VLAN10)外层再添加一层VLAN标签(VLAN20),以便将镜像报文向中间二层网络转发。值得注意的是,这一步不需要通过端口加入VLAN来完成,是直接通过配置远程观察端口来实现的。
SwitchC在接收到远程观察端口发来的镜像报文后,就将镜像报文向监控设备转发。为了实现这一步,需要将中间二层设备(SwitchC)与远程观察端口、监控设备相连的端口加入VLAN20,保证SwitchB、SwitchC与监控设备间能够二层通信。
2 .4、镜像类型
镜像类型 | 描述 |
---|---|
流镜像 | 流镜像是指在设备上配置一定的规则,将符合规则的特定业务流复制到观察端口进行分析和监控。 |
VLAN镜像 | VLAN镜像是指将指定VLAN内所有活动接口的报文镜像到观察端口。用户可以对某个VLAN或者某些VLAN内的报文进行监控。 |
MAC镜像 | MAC镜像是指将VLAN内匹配指定源或者目的MAC地址的报文镜像到观察端口。MAC地址镜像提供了一种更加精确的镜像方式,用户可以对网络中特定设备的报文进行监控。。 |
注意:
目前,华为S系列盒式交换机在应用VLAN镜像时,仅支持将VLAN
内活动接口入方向的报文镜像到观察端口。
同端口镜像类似,根据监控设备在网络中位置的不同,VLAN镜像也可以分为本地VLAN镜像和远程VLAN镜像
。值得注意的是,远程VLAN镜像中,主机所在VLAN和用于转发镜像报文的中间二层网络的VLAN不能相同。
目前,华为S系列盒式交换机在应用MAC镜像时,仅支持:
- 将VLAN内活动接口入方向匹配指定源;
- 或者目的MAC地址的报文镜像到观察端口。
3、镜像的常规配置方法
3.1、本地端口镜像配置
某企业中,行政大楼和生产厂区用户分别通过接口Eth2/0/1、Eth2/0/2接入Router。一台监控设备接在Router的接口Eth2/0/3上,用于数据分析监控。为保证企业的信息安全,用户希望通过监控设备对行政大楼和生产厂区发送的所有报文进行监控。
配置思路:
- 在Router上将接口Eth2/0/3配置为本地观察端口。
- 在Router上将接口Eth2/0/1和Eth2/0/2配置为镜像端口,实现对接口报文进行监控。
[R1]
[R1]
observe-port interface Ethernet2/0/3 //将E2/0/3接口配置为观察端口
interface Ethernet2/0/1
port-mirroring to observe-port inbound //将E2/0/1接口配置为镜像端口,镜像所有入方向报文。
interface Ethernet2/0/2
port-mirroring to observe-port inbound //将E2/0/2接口配置为镜像端口,镜像所有入方向报文。
[R1]display mirror-port
3.2、流镜像配置需求
某企业中,市场部用户通过接口Eth2/0/0接入路由器RTA。一台监控设备接在RTA的接口Eth2/0/1上,用于数据分析监控。用户希望监控市场部IP地址为192.168.1.10的主机发出的所有报文。
配置流镜像策略,并在接口Eth2/0/0入方向上应用流策略,将匹配源IP地址为192.168.1.10的报文复制到本地观察端口。
#
observe-port interface Ethernet2/0/1 //将端口E2/0/1定义为观察端口
#
acl number 2000
rule 5 permit source 192.168.1.10 0 //用ACL匹配IP为192.168.1.10主机。
#
traffic classifier c1 operator or //创建流分类
if-match acl 2000 //匹配ACL2000
#
traffic behavior b1 //创建流行为
mirror to observe-port //配置本地端口镜像功能。mirror命令用来配置端口镜像功能
#
traffic policy p1 //定义流策略,将ACL匹配的流量镜像到观察端口。
classifier c1 behavior b1
#
interface Ethernet2/0/0
traffic-policy p1 inbound
3.3、远程端口镜像配置
PC3为监控器,通过两台交换机实现对PC1、PC2出入流量的监控。
配置命令:
[SW2]vlan 10
[SW2]int g0/0/3
[SW2-GigabitEthernet0/0/1]port link-type trunk
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
[SW2]observe-port 1 int g0/0/3 vlan 10 //定义g0/0/3为观察端口
[SW2]int g0/0/1
[SW2-GigabitEthernet0/0/1]port-mirroring to observe-port 1 inbound
[SW2-GigabitEthernet0/0/1]port-mirroring to observe-port 1 outbound
[SW2]int g0/0/2
[SW2-GigabitEthernet0/0/2]port-mirroring to observe-port 1 inbound
[SW2-GigabitEthernet0/0/2]port-mirroring to observe-port 1 outbound
<SW3>display current-configuration
#
sysname SW3
#
vlan batch 10
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 10
3.4、配置二层远程端口镜像
配置思路
- 进行如下配置,实现Server远程监控行政部访问Internet的流量:1.在Sw2上配置接口GE0/0/2为二层远程观察端口,负责向绑定的VLAN转发镜像报文。
- 2.在Sw2上配置接口GE0/0/1为镜像端口,将行政部访问Internet的流量复制一份到二层远程观察端口。
- 3.在Sw3上创建VLAN,关闭该VLAN的MAC地址学习功能。配置接口加入VLAN,负责将观察端口发送过来的报文向Server转发。
操作步骤
1.配置观察端口
在Sw2上配置接口GE0/0/2为二层远程观察端口,二层远程镜像VLAN为VLAN 10。
<HUAWEI> system-view
[HUAWEI] sysname Sw2
[Sw2] observe-port 1 interface gigabitethernet 0/0/2 vlan 10
2、配置镜像端口
在Sw2上配置接口GE0/0/1为镜像端口,将其入方向绑定到二层远程观察端口,即将镜像端口接收到的报文复制一份到二层远程观察端口。
[Sw2] interface gigabitethernet 0/0/1
[Sw2-GigabitEthernet0/0/1] port-mirroring to observe-port 1 inbound
3、在Sw3上创建VLAN,配置接口加入VLAN.
在Sw3上创建VLAN10,关闭该VLAN的MAC地址学习功能,并将接口GE0/0/1和GE0/0/2加入VLAN10。
<HUAWEI> system-view
[HUAWEI] sysname Sw3
[Sw3] vlan 10
[Sw3-vlan10] mac-address learning disable
[Sw3-vlan10] quit
[Sw3] interface gigabitethernet 0/0/1
[Sw3-GigabitEthernet0/0/1] port link-type access
[Sw3-GigabitEthernet0/0/1] port default vlan 10
[Sw3-GigabitEthernet0/0/1] quit
[Sw3] interface gigabitethernet 0/0/2
[Sw3-GigabitEthernet0/0/2] port link-type trunk
[Sw3-GigabitEthernet0/0/2] port trunk allow-pass vlan 10
[Sw3-GigabitEthernet0/0/2] return
4、验证配置结果
查看观察端口的配置情况。
<SwitchA> display observe-port
----------------------------------------------------------------------
Index : 1
Untag-packet : No
Interface : GigabitEthernet0/0/2
Vlan : 10
----------------------------------------------------------------------
查看镜像端口的配置情况。
<SwitchA> display port-mirroring
----------------------------------------------------------------------
Observe-port 1 : GigabitEthernet0/0/2
----------------------------------------------------------------------
Port-mirror:
----------------------------------------------------------------------
Mirror-port Direction Observe-port
----------------------------------------------------------------------
1 GigabitEthernet0/0/1 Inbound Observe-port 1
----------------------------------------------------------------------