端口镜像是将指定端口(源端口)或VLAN(源VLAN)的报文复制一份到其它端口(目的端口),目的端口会与数据监测设备相连,用户利用这些数据监测设备来分析复制到目的端口的报文,进行网络监控和故障排除。
为了更好地理解后面的内容,首先介绍一下端口镜像中涉及的基本概念。
源端口是被监控的端口,用户可以对通过该端口的报文进行监控和分析。
源VLAN是被监控的VLAN,用户可以对通过该VLAN所有端口的报文进行监控和分析。
源CPU是被监控单板上的CPU,用户可以对通过该CPU的报文进行监控和分析。
目的端口也可称为监控端口,该端口将接收到的报文转发到数据监测设备,以便对报文进行监控和分析。
端口镜像的方向分为三种:
l 入方向:仅对源端口(或源VLAN)接收的报文进行镜像。
l 出方向:仅对源端口(或源VLAN)发送的报文进行镜像。
l 双向:对源端口(或源VLAN)接收和发送的报文都进行镜像。
端口镜像支持同方向的监控端口数量存在下面的限制:
l 对于24个端口的GE单板,1块单板只支持配置1个监控端口;
l 对于48个端口的GE单板,1块单板支持配置2个监控端口,其中前24个端口支持配置1个监控端口,后24个端口支持配置1个监控端口
l 对于10GE单板(除了LST1XP32REC1单板之外),按照端口顺序,单板上每2个10GE端口只支持配置1个监控端口;
l 对于LST1XP32REC1单板,1个单板支持配置4个监控端口,按照端口顺序,前8个10GE端口支持配置1个监控端口,后8个10GE端口支持配置1个监控端口
根据使用范围的不同,端口镜像分为两种:
l 本地端口镜像:可以将设备源端口(或源VLAN中的端口)的报文复制到本设备的目的端口,用于监控和分析这些报文。
l 远程端口镜像:可以将本设备源端口(或源VLAN中的端口)上的报文通过二层网络复制到另一台设备的目的端口,用于监控和分析这些报文。目前,远程端口镜像功能可以跨越二层网络,但无法跨越三层网络。
l 由于一个目的端口可以同时监控多个源端口(或源VLAN),在某些配置情况下,目的端口会收到同一个报文的多个复制报文。例如,目的端口Port 1同时监控源端口Port 2和Port 3接收和发送的报文(Port 2和Port 3在同一台设备上),如果一个报文从Port 2进入设备又从Port 3发送出去,那么这个报文将被复制两次送到目的端口Port 1。
l 在IRF模式下,设备不支持源VLAN镜像。
l 在IRF模式下,设备不支持跨框(即目的端口和源端口或源VLAN中的端口位于IRF模式下的两台不同的设备上)配置端口镜像,但是可以镜像到跨框聚合口;不过如果本框的聚合成员端口处于down状态,镜像报文也不会从跨框的聚合成员端口上转发出去。
端口镜像通过镜像组的方式实现,镜像组可以分为以下三类:
l 本地镜像组:如果一台设备的一个镜像组中既有源端口/源VLAN中的端口/源CPU,又有目的端口,那么该镜像组就称为本地镜像组。
l 远程源镜像组:如果一台设备的一个镜像组中只有源端口/源VLAN中的端口/源CPU,那么该镜像组就称为远程源镜像组,该设备也称为源设备。
l 远程目的镜像组:如果一台设备的一个镜像组中只有目的端口,那么该镜像组就称为远程源镜像组,该设备也称为目的设备。
本地端口镜像可以对所有报文(包括协议报文和数据报文)进行镜像。它通过本地镜像组的方式实现,即源端口(或源VLAN中的端口)和目的端口在同一个本地镜像组中,设备将源端口(或源VLAN)的报文复制一份并转发到目的端口。
如所示,源端口的报文被镜像到目的端口,这样,连接在目的端口上的数据监测设备就可以对这些报文进行监控和分析。
远程端口镜像可以对协议报文之外的所有报文进行镜像,它通过远程源镜像组和远程目的镜像组互相配合的方式实现。
l 如所示,用户在源设备上创建远程源镜像组,在目的设备上创建远程目的镜像组。源设备将源端口/源VLAN/源CPU的报文复制一份后,将其通过反射端口在远程镜像VLAN中广播,经由中间设备发送至目的设备。目的设备收到该报文后,若其VLAN ID与远程目的镜像组的远程镜像VLAN的VLAN ID相同,就将其转发至目的端口。这样,连接在目的端口上的数据监测设备就可以对源设备上源端口/源VLAN/源CPU的报文进行监控和分析。
l 用户需要确保远程镜像VLAN内源设备到目的设备间二层网络的互通性。
l 由于源端口(或源VLAN)的报文将在源设备的远程镜像VLAN中广播,因此可通过把源设备上的其它端口加入远程镜像VLAN的方式,实现本地端口镜像的功能。
本地端口镜像的配置需要在同一台设备上进行。配置本地端口镜像时,用户首先要创建一个本地镜像组,然后为该镜像组配置源端口(或源VLAN)和目的端口。
表1-1 配置本地端口镜像
|
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
创建本地镜像组 |
mirroring-group group-id local [ sampler sampler-name ] |
必选 sampler参数用于绑定采样器,有关采样器的详细介绍,请参见“系统分册”中的“Sampler配置” |
|
为镜像组配置源端口 |
在系统视图下配置源端口 |
mirroring-group group-id mirroring-port mirroring-port-list { both | inbound | outbound } |
必选 用户可以为镜像组配置源端口或源VLAN,也可以为镜像组同时配置源端口和源VLAN 用户可以在系统视图下同时配置多个源端口,也可以在具体的接口视图下配置源端口,两种视图下的配置效果相同 |
在以太网接口视图下配置源端口 |
interface interface-type interface-number |
||
[ mirroring-group group-id ] mirroring-port { both | inbound | outbound } |
|||
quit |
|||
为镜像组配置源VLAN |
在系统视图下配置源VLAN |
mirroring-group group-id mirroring-vlan mirroring-vlan-list { both | inbound | outbound } |
|
为镜像组配置目的端口 |
在系统视图下配置目的端口 |
mirroring-group group-id monitor-port monitor-port-id |
二者必选其一 两种视图下的配置效果相同 |
在接口视图下配置目的端口 |
interface interface-type interface-number |
||
[ mirroring-group group-id ] monitor-port |
l 请不要将源端口加入到镜像源VLAN,否则会影响设备的性能。
l 请不要将目的端口加入镜像源VLAN,否则会影响设备的正常使用。
l 请不要在目的端口上使能STP、MSTP以及RSTP,否则会影响设备的正常使用。
l 配置跨框端口镜像到安全单板的端口时,安全单板的端口必须包含在VLAN 1内。
l 配置好源端口(或源VLAN)和目的端口后,本地镜像组才能生效。
l 源VLAN必须是已经存在的静态VLAN。
l 源端口只能是以太网接口,目的端口可以是以太网接口或二层聚合接口。
l 一个镜像组中可以配置多个源端口(或源VLAN),但只能配置一个目的端口。
l 一个端口只能在一个镜像组中被配置,同一个VLAN只能被一个镜像组使用。
l 目的端口收到的报文包括复制自源端口(或源VLAN)的报文和来自其它端口的正常转发报文。为了保证数据监测设备只对源端口(或源VLAN)的报文进行分析,建议目的端口仅用于端口镜像,不用做其它用途。
配置远程端口镜像时,用户需要在两台设备上分别配置远程源镜像组和远程目的镜像组。两个镜像组所使用的远程镜像VLAN必须相同。
在配置远程端口镜像之前,需完成以下任务:
l 配置源VLAN所使用的静态VLAN
l 配置远程镜像VLAN所使用的静态VLAN
l 反射口不能是现有镜像组的成员端口、不能是流镜像目的端口、必须是Access端口且属于缺省VLAN。
l 反射口不能配置QinQ和端口环回功能。
l 将某个端口配置为反射口后,不能再修改端口双工模式、端口速率。
l 请不要在反射口连接网线,不要在反射口上配置下列功能:STP、MSTP、RSTP、IGMP Snooping、静态ARP以及MAC地址学习,否则会影响设备的正常使用。
表1-2 配置远程源镜像组
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
创建远程源镜像组 |
mirroring-group group-id remote-source |
必选 |
|
为镜像组配置源端口 |
在系统视图下配置源端口 |
mirroring-group group-id mirroring-port mirroring-port-list { both | inbound | outbound } |
必选 用户可以为镜像组配置源端口或源VLAN,也可以为镜像组同时配置源端口和源VLAN 用户可以在系统视图下同时配置多个源端口,也可以在具体的接口视图下配置源端口,两种视图下的配置效果相同 |
在以太网接口视图下配置源端口 |
interface interface-type interface-number |
||
[ mirroring-group group-id ] mirroring-port { both | inbound | outbound } |
|||
quit |
|||
为镜像组配置源VLAN |
在系统视图下配置源VLAN |
mirroring-group group-id mirroring-vlan mirroring-vlan-list { both | inbound | outbound } |
|
为镜像组配置反射口 |
在系统视图下配置反射口 |
mirroring-group group-id reflector-port reflector-port-id |
二者必选其一 两种视图下的配置效果相同 |
在以太网接口视图下配置反射口 |
interface interface-type interface-number |
||
mirroring-group group-id reflector-port |
|||
quit |
|||
为镜像组配置远程镜像VLAN |
mirroring-group group-id remote-probe vlan rprobe-vlan-id |
必选 |
l 远程源镜像组的源端口和反射口属于同一台设备。
l 源端口、反射口只能是以太网接口。
l 当配置VLAN为远程镜像VLAN后,不能直接删除该VLAN,必须先删除远程镜像VLAN的配置才能够删除这个VLAN。如果组生效后,VLAN被删除,那么组也将失效。
l 建议远程镜像VLAN不用做其它用途,仅用于远程镜像。
l 一个远程源镜像组中可以配置多个源端口(或源VLAN),只能配置一个反射口。
l 一个端口只能在一个镜像组中被配置,同一个VLAN只能被一个镜像组使用。
远程目的镜像组需要配置远程镜像VLAN和目的端口。
表1-3 配置远程目的镜像组
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
创建远程目的镜像组 |
mirroring-group group-id remote-destination |
必选 |
|
为镜像组配置远程镜像VLAN |
mirroring-group group-id remote-probe vlan rprobe-vlan-id |
必选 |
|
为镜像组配置目的端口 |
在系统视图下配置目的端口 |
mirroring-group group-id monitor-port monitor-port-id |
二者必选其一 两种视图下的配置效果相同 |
在接口视图下配置目的端口 |
interface interface-type interface-number |
||
[ mirroring-group group-id ] monitor-port |
|||
quit |
|||
进入目的接口视图 |
interface interface-type interface-number |
- |
|
将目的端口加入远程镜像VLAN |
目的端口为Access端口 |
port access vlan rprobe-vlan-id |
三者必选其一 |
目的端口为Trunk端口 |
port trunk permit vlan rprobe-vlan-id |
||
目的端口为Hybrid端口 |
port hybrid vlan rprobe-vlan-id { tagged | untagged } |
l 当配置VLAN为远程镜像VLAN后,不能直接删除该VLAN,必须先删除远程镜像VLAN的配置才能够删除这个VLAN。如果远程目的镜像组生效后,VLAN被删除,那么组也将失效。
l 建议远程镜像VLAN不用做其它用途,仅用于远程镜像。
l 一个端口只能在一个镜像组中被配置,同一个VLAN只能被一个镜像组使用。
l 目的端口可以是以太网接口或者二层聚合接口。
l 目的端口收到的报文包括复制自源端口(或源VLAN)的报文和来自其它端口的正常转发报文。为了保证数据监测设备只对源端口(或源VLAN)的报文进行分析,建议目的端口仅用于端口镜像,不用做其它用途。
在完成上述配置后,在任意视图下执行display命令可以显示配置后镜像组的运行情况,通过查看显示信息验证配置的效果。
表1-4 端口镜像显示和维护
用户网络描述如下:
l Host A通过端口GE4/0/1接入Switch C。
l Host B通过端口GE4/0/2接入Switch C。
l Server接在Switch C的GE4/0/3端口上。
需求为:用户希望通过Server对Host A和Host B收发的报文进行监控。
使用本地端口镜像功能实现该需求,在Switch C上进行如下配置:
(1) 方案一
l 端口GE4/0/1和GE4/0/2为镜像源端口。
l 连接Server的端口GE4/0/3为镜像目的端口。
(2) 方案二
l VLAN 2为镜像源VLAN,端口GE4/0/1和GE4/0/2加入VLAN 2。
l 连接Server的端口GE4/0/3为镜像目的端口。
(1) 选择方案一,在Switch C上进行如下配置:
# 创建本地镜像组。
<Sysname> system-view
[Sysname] mirroring-group 1 local
# 为本地镜像组配置源端口和目的端口。
[Sysname] mirroring-group 1 mirroring-port gigabitethernet 4/0/1 gigabitethernet 4/0/2 both
[Sysname] mirroring-group 1 monitor-port gigabitethernet 4/0/3
(2) 选择方案二,在Switch C上进行如下配置:
# 创建本地镜像组。
<Sysname> system-view
[Sysname] mirroring-group 1 local
# 创建VLAN 2,并将端口GE4/0/1和GE4/0/2加入VLAN 2。
[Sysname] vlan 2
[Sysname-vlan2] port gigabitethernet 4/0/1
[Sysname-vlan2] port gigabitethernet 4/0/2
[Sysname-vlan2] quit
# 为本地镜像组配置源VLAN和目的端口。
[Sysname] mirroring-group 1 mirroring-vlan 2 both
[Sysname] mirroring-group 1 monitor-port gigabitethernet 4/0/3
配置完成后,用户就可以在Server上监控Host A和Host B收发的报文。
用户网络描述如下:
l Host A的报文通过端口GE4/0/1接入Switch A。
l Host B的报文通过端口GE4/0/2接入Switch A。
l Switch A的Trunk端口GE4/0/3和Switch B的Trunk端口GE4/0/1相连。
l Switch B的Trunk端口GE4/0/2和Switch C的Trunk端口GE4/0/1相连。
l Server接在Switch C的GE4/0/2端口上。
需求为:用户希望通过Server对Host A和Host B收发的报文进行远程监控。
使用远程端口镜像功能实现该需求,进行如下配置:
l 在Switch A上配置远程源镜像组,定义VLAN 2为远程镜像VLAN,端口GE4/0/1和GE4/0/2为镜像源端口,端口GE4/0/4为反射口。
l 配置Switch A的GE4/0/3端口、Switch B的GE4/0/1和GE4/0/2端口、Switch C的GE4/0/1端口为Trunk端口,并且端口均允许VLAN 2的报文通过。
l 在Switch C上配置远程目的镜像组,定义VLAN 2为远程镜像VLAN,连接Server的端口GE4/0/2为镜像目的端口。
图1-4 配置远程端口镜像组网图
(1) 配置Switch A(源设备)
# 进入系统视图。
<SwitchA> system-view
# 创建远程源镜像组。
[SwitchA] mirroring-group 1 remote-source
# 创建VLAN 2。
[SwitchA] vlan 2
[SwitchA-vlan2] quit
# 为远程源镜像组配置远程镜像VLAN、源端口和反射口。
[SwitchA] mirroring-group 1 remote-probe vlan 2
[SwitchA] mirroring-group 1 mirroring-port gigabitethernet 4/0/1 gigabitethernet 4/0/2 both
[SwitchA] mirroring-group 1 reflector-port gigabitethernet 4/0/4
# 配置GE4/0/3为Trunk端口,并且允许VLAN 2的报文通过。
[SwitchA] interface gigabitethernet 4/0/3
[SwitchA-GigabitEthernet4/0/3] port link-type trunk
[SwitchA-GigabitEthernet4/0/3] port trunk permit vlan 2
(2) 配置Switch B(中间设备)
# 创建VLAN 2。
<DeviceB> system-view
[DeviceB] vlan 2
[DeviceB-vlan2] quit
# 配置GE4/0/1为Trunk端口,并且允许VLAN 2的报文通过。
[SwitchB] interface gigabitethernet 4/0/1
[SwitchB-GigabitEthernet4/0/1] port link-type trunk
[SwitchB-GigabitEthernet4/0/1] port trunk permit vlan 2
# 配置GE4/0/2为Trunk端口,并且允许VLAN 2的报文通过。
[SwitchB-GigabitEthernet4/0/1] interface gigabitethernet 4/0/2
[SwitchB-GigabitEthernet4/0/2] port link-type trunk
[SwitchB-GigabitEthernet4/0/2] port trunk permit vlan 2
(3) 配置Switch C(目的设备)
# 进入系统视图。
<SwitchC> system-view
# 配置GE4/0/1为Trunk端口,并且允许VLAN 2的报文通过。
[SwitchC] interface gigabitethernet 4/0/1
[SwitchC-GigabitEthernet4/0/1] port link-type trunk
[SwitchC-GigabitEthernet4/0/1] port trunk permit vlan 2
[SwitchC-GigabitEthernet4/0/1] quit
# 创建远程目的镜像组。
[SwitchC] mirroring-group 1 remote-destination
# 创建VLAN 2。
[SwitchC] vlan 2
[SwitchC-vlan2] quit
# 为远程目的镜像组配置远程镜像VLAN和目的端口。
[SwitchC] mirroring-group 1 remote-probe vlan 2
[SwitchC] interface gigabitethernet 4/0/2
[SwitchC-GigabitEthernet4/0/2] mirroring-group 1 monitor-port
[SwitchC-GigabitEthernet4/0/2] port access vlan 2
配置完成后,用户就可以在Server上监控Host A和Host B收发的报文。