摘 要:端口镜像主要用来监控分析端口上的各种报文,配置很灵活,本文主要介绍如何通过配置端口镜像来满足用户的一些典型需求及应用。
缩略语:
缩略语 | 英文全名 | 中文解释 |
IDS | Intrusion Detection System | 入侵检测系统 |
VLAN | Virtual Local Area Network | 虚拟局域网 |
目 录
端口镜像是将指定端口(源端口)的报文复制一份到其他端口(目的端口),目的端口会与数据监测设备相连,用户利用这些数据监测设备来分析复制到目的端口的报文,进行网络监控和故障排除。
端口镜像按照应用场景不同又可分为本地端口镜像和远程端口镜像。本地端口镜像是指将设备的一个或多个源端口的报文复制到本设备的目的端口;远程端口镜像则在源端口和目的端口间可以跨越多个网络设备。
端口镜像以镜像组的方式进行配置,一个镜像组中可以包括源端口、目的端口、反射口、远程镜像VLAN等,详细介绍请参见“接入分册”中的“端口镜像配置”手册。
为了分析报文或者部署IDS,需要监听网络流量(网络分析仪同样也需要),但是在目前广泛采用的交换网络中监听所有流量有相当大的困难,因此需要通过配置来把一个或多个端口的数据转发到某一个端口来实现对网络的监听。
在配置过程中,请注意以下几点:
l 镜像组的激活状态。镜像组只有在激活的情况下镜像功能才能实际生效,通过查看镜像组信息可以获得镜像组的激活状态。镜像组是否激活由两个因素共同决定:一、镜像组满足最小配置完整条件;二、在最小配置中的端口都必须是有效端口。不同的镜像组类型的最小配置完整条件也不同。比如本地镜像组的最小配置完整条件是至少有一个源端口和目的端口;远程源镜像组有两类,需要配反射口的远程源镜像组最小配置完整条件是至少有一个源端口、远程镜像VLAN及反射口;不需要配反射口的远程源镜像组的最小配置完整条件是至少有一个源端口、远程镜像VLAN。
l 镜像端口的有效性。目前有效性主要是指Combo端口的有效性,由于Combo端口可能处于禁用状态,因此在最小完整配置中的端口如果是处于禁用的Combo端口,则镜像组状态仍处于非激活状态。启用该Combo口,则镜像组的状态则自动变为激活状态;反之,如果原来最小完整配置中包含Combo端口的镜像组处于激活状态,如果禁用该Combo口,则镜像组也会变为非激活状态。
l 远程镜像VLAN的扩展。未知目的MAC地址的报文会在VLAN内广播,因此可以利用此特性在禁止VLAN学习MAC地址的设备上实现多个监控端口的镜像功能。即配置了远程镜像组的设备上的任何端口只要允许远程镜像VLAN的报文通过,则该端口实际上就可以起到监控端口的作用,而并不一定必须在远程镜像组中配置目的端口。
l 镜像目的端口的入方向流量及MAC地址学习。端口镜像的目的端口上对入方向的流量及MAC地址学习功能没有做限制,在某些特殊情况下配置不当可能会引起网络异常。比如镜像目的端口如果连接的是一个比较智能的安全设备(如IDS设备),则禁止镜像目的端口入方向流量就有必要,因为这些设备可能会发出抑制报文(如TCP重置包等)用来中断可疑流量,这可能造成不期望的结果。再比如镜像目的端口如果连接的是一个中继设备(如二层交换机),在中继设备中有环路出现的话,那么复制的流可能在镜像目的端口原路返回,这样会在目的端口上重新学习MAC地址,导致网络异常。
用户有两台监控分析设备,功能不同,一台是专用分析仪,另一台是IDS设备。用户希望在设备A上能对来自internet的流量同时进行综合分析和入侵检测。组网如图1 所示。

由于每个镜像组只能配置一个目的端口,并且源端口只能属于一个镜像组,因此可以利用远程镜像VLAN来实现镜像到多个目的端口的目的。
l 在设备上配置远程源镜像组,并保证镜像组处于激活状态;
l 将多个目的端口加入远程镜像VLAN。
本举例是在57设备的COMWAREV500R002B41D001版本上进行配置和验证的。
& 说明:
以下配置均是在实验室环境下进行的配置和验证,配置前设备的所有参数均采用出厂时的缺省配置。如果您已经对设备进行了配置,为了保证配置效果,请确认现有配置和以下配置不冲突。
本文档不严格与具体软、硬件版本对应。
# 创建远程源镜像组。
<DeviceA> system-view
[DeviceA] mirroring-group 1 remote-source
# 创建VLAN 2。
[DeviceA] vlan 2
[DeviceA-vlan2] quit
# 为远程源镜像组配置远程镜像VLAN、源端口和反射口。
[DeviceA] mirroring-group 1 remote-probe vlan 2
[DeviceA] mirroring-group 1 mirroring-port GigabitEthernet 1/0/25 inbound
[DeviceA] mirroring-group 1 reflector-port GigabitEthernet 1/0/26
# 进入连接分析仪的接口视图。
[DeviceA] interface GigabitEthernet 1/0/27
# 将连接分析仪的端口加入远程镜像VLAN。
[DeviceA-GigabitEthernet1/0/27] port access vlan 2
# 进入连接IDS设备的接口视图。
[DeviceA-GigabitEthernet1/0/27] interface GigabitEthernet 1/0/28
# 将连接IDS设备的端口加入远程镜像VLAN。
[DeviceA-GigabitEthernet1/0/28] port access vlan 2
<DeviceA> display current-configuration
#
version 5.20, Test 5310
#
sysname DeviceA
#
domain default enable system
#
telnet server enable
#
mirroring-group 1 remote-source
mirroring-group 1 remote-probe vlan 2
#
vlan 1
#
vlan 2
#
domain system
access-limit disable
state active
idle-cut disable
self-service-url disable
#
interface GigabitEthernet1/0/25
mirroring-group 1 mirroring-port inbound
#
interface GigabitEthernet1/0/26
mirroring-group 1 reflector-port
#
interface GigabitEthernet1/0/27
port access vlan 2
#
interface GigabitEthernet1/0/28
port access vlan 2
#
load xml-configuration
#
user-interface aux 0
idle-timeout 0 0
user-interface vty 0 4
#
return
#
用户在两台监控分析设备上可以同时收到来自internet的流量,镜像功能生效。这样,用户就可以对internet的流量分别进行综合分析和入侵检测了。
用户只有一台分析仪,但希望能够同时监控分析来自internet和局域网的流量。设备A连接internet,设备B连接局域网,设备C连接分析仪。组网如图2 所示。

由于是跨设备镜像,因此必须配置远程端口镜像。为了防止设备A和设备B的流量互相影响,因此设备A和设备B要使用不同的远程镜像VLAN。
l 在设备A和设备B上配置远程源镜像组,并保证镜像组处于激活状态;
l 在设备A上配置连接设备C的端口,只允许通过设备A的远程镜像VLAN;
l 在设备B上配置连接设备C的端口,只允许通过设备B的远程镜像VLAN;
l 在设备C上创建设备A和设备B上的远程镜像VLAN;
l 在设备C上配置连接设备A的端口,只允许通过设备A的远程镜像VLAN;
l 在设备C上配置连接设备B的端口,只允许通过设备B的远程镜像VLAN;
l 在设备C上配置连接分析仪的端口,只允许通过设备A和设备B的远程镜像VLAN。
本举例是在57设备的COMWAREV500R002B41D001版本上进行配置和验证的。
& 说明:
以下配置均是在实验室环境下进行的配置和验证,配置前设备的所有参数均采用出厂时的缺省配置。如果您已经对设备进行了配置,为了保证配置效果,请确认现有配置和以下配置不冲突。
本文档不严格与具体软、硬件版本对应。
# 创建远程源镜像组。
<DeviceA> system-view
[DeviceA] mirroring-group 1 remote-source
# 创建VLAN 2。
[DeviceA] vlan 2
[DeviceA-vlan2] quit
# 为远程源镜像组配置远程镜像VLAN、源端口和反射口。
[DeviceA] mirroring-group 1 remote-probe vlan 2
[DeviceA] mirroring-group 1 mirroring-port GigabitEthernet 1/0/25 inbound
[DeviceA] mirroring-group 1 reflector-port GigabitEthernet 1/0/26
# 进入连接设备C的接口视图。
[DeviceA] interface GigabitEthernet 1/0/27
# 配置连接设备C的端口为trunk端口。
[DeviceA-GigabitEthernet1/0/27] port link-type trunk
# 配置连接设备C的端口允许通过远程镜像VLAN。
[DeviceA-GigabitEthernet1/0/27] port trunk permit vlan 2
# 配置连接设备C的端口禁止通过默认VLAN。
[DeviceA-GigabitEthernet1/0/27] undo port trunk permit vlan 1
<DeviceA> display current-configuration
#
version 5.20, Test 5310
#
sysname DeviceA
#
domain default enable system
#
telnet server enable
#
mirroring-group 1 remote-source
mirroring-group 1 remote-probe vlan 2
#
vlan 1
#
vlan 2
#
domain system
access-limit disable
state active
idle-cut disable
self-service-url disable
#
interface GigabitEthernet1/0/25
mirroring-group 1 mirroring-port inbound
#
interface GigabitEthernet1/0/26
mirroring-group 1 reflector-port
#
interface GigabitEthernet1/0/27
port link-type trunk
undo port trunk permit vlan 1
port trunk permit vlan 2
#
load xml-configuration
#
user-interface aux 0
idle-timeout 0 0
user-interface vty 0 4
#
return
#
# 创建远程源镜像组。
<DeviceB> system-view
[DeviceB] mirroring-group 1 remote-source
# 创建VLAN 3。
[DeviceB] vlan 3
[DeviceB-vlan2] quit
# 为远程源镜像组配置远程镜像VLAN、源端口和反射口。
[DeviceB] mirroring-group 1 remote-probe vlan 3
[DeviceB] mirroring-group 1 mirroring-port GigabitEthernet 1/0/25 inbound
[DeviceB] mirroring-group 1 reflector-port GigabitEthernet 1/0/26
# 进入连接设备C的接口视图。
[DeviceB] interface GigabitEthernet 1/0/27
# 配置连接设备C的端口为trunk端口。
[DeviceB-GigabitEthernet1/0/27] port link-type trunk
# 配置连接设备C的端口允许通过远程镜像VLAN。
[DeviceB-GigabitEthernet1/0/27] port trunk permit vlan 3
# 配置连接设备C的端口禁止通过默认VLAN。
[DeviceB-GigabitEthernet1/0/27] undo port trunk permit vlan 1
<DeviceB> display current-configuration
#
version 5.20, Test 5310
#
sysname DeviceB
#
domain default enable system
#
telnet server enable
#
mirroring-group 1 remote-source
mirroring-group 1 remote-probe vlan 3
#
vlan 1
#
vlan 3
#
domain system
access-limit disable
state active
idle-cut disable
self-service-url disable
#
interface GigabitEthernet1/0/25
mirroring-group 1 mirroring-port inbound
#
interface GigabitEthernet1/0/26
mirroring-group 1 reflector-port
#
interface GigabitEthernet1/0/27
port link-type trunk
undo port trunk permit vlan 1
port trunk permit vlan 3
#
load xml-configuration
#
user-interface aux 0
idle-timeout 0 0
user-interface vty 0 4
#
return
#
# 创建VLAN 2和VLAN 3。
<DeviceC> system-view
[DeviceC] vlan 2
[DeviceC-vlan2] quit
[DeviceC] vlan 3
[DeviceC-vlan3] quit
# 进入连接设备A的接口视图。
[DeviceC] interface GigabitEthernet 1/0/25
# 配置连接设备A的端口为trunk端口。
[DeviceC-GigabitEthernet1/0/25] port link-type trunk
# 配置连接设备A的端口允许通过设备A的远程镜像VLAN。
[DeviceC-GigabitEthernet1/0/25] port trunk permit vlan 2
# 配置连接设备A的端口禁止通过默认VLAN。
[DeviceC-GigabitEthernet1/0/25] undo port trunk permit vlan 1
# 进入连接设备B的接口视图。
[DeviceC] interface GigabitEthernet 1/0/26
# 配置连接设备B的端口为trunk端口。
[DeviceC-GigabitEthernet1/0/26] port link-type trunk
# 配置连接设备B的端口允许通过设备B的远程镜像VLAN。
[DeviceC-GigabitEthernet1/0/26] port trunk permit vlan 3
# 配置连接设备B的端口禁止通过默认VLAN。
[DeviceC-GigabitEthernet1/0/26] undo port trunk permit vlan 1
# 进入连接分析仪的接口视图。
[DeviceC] interface GigabitEthernet 1/0/27
# 配置连接分析仪的端口为trunk端口。
[DeviceC-GigabitEthernet1/0/27] port link-type trunk
# 配置连接分析仪的端口允许通过设备A和设备B的远程镜像VLAN。
[DeviceC-GigabitEthernet1/0/27] port trunk permit vlan 2 to 3
# 配置连接分析仪的端口禁止通过默认VLAN。
[DeviceC-GigabitEthernet1/0/27] undo port trunk permit vlan 1
<DeviceC> display current-configuration
#
version 5.20, Test 5310
#
sysname DeviceC
#
domain default enable system
#
telnet server enable
#
vlan 1
#
vlan 2 to 3
#
domain system
access-limit disable
state active
idle-cut disable
self-service-url disable
# &