镜像是指将经过指定端口(镜像端口)或者指定VLAN(镜像VLAN)的报文复制一份到另一个指定端口(观察端口),然后转发到网络监控设备,供网络管理员进行网络监控与故障管理。
看官们可以通过下面的这张图了解下镜像具体的工作机制,以及需要注意的地方。
那么镜像在网络维护中具体能做些什么呢?
1、故障定位
在系统运行过程中,可能由于系统软件处理异常、网络设备硬件故障、计算机病毒或用户不正常使用等原因造成网络上流量异常或产生错误报文。为了在不影响系统运行的情况下对网络上的报文进行分析,以定位故障产生的原因,这时候就可以使用镜像。
2、业务可视
为了更好的理解企业内部业务流量模型, 在网络汇聚或核心交换机上,对业务流量进行镜像,以便在不影响正常业务的情况下,使企业各类应用清晰可视。 比如说, 多少用户在上班时间访问QQ; 员工访问公司内部服务器的访问量排名情况。
3、入侵检测
为了发现各种攻击企图、攻击行为或者攻击结果,以保证网络系统资源的机密性、完整性和可用性, 在企业的上行接口,将所有出入的流量镜像到一个IDS服务器上,进行实时分析。比如外部访问公司服务器的访问量激增,分析一下这些是不是属于攻击报文等。
另外,要特别说明一下,江湖就要有江湖的规矩,坏了规矩,就会招致整个武林的一致声讨。所以,虽然镜像功能如此的强大,但是在华为S系列交换机上用的是时候,请谨记:
该功能主要用于网络检测和故障管理,可能涉及使用个人用户某些通信内容。华为公司无法单方采集或存储用户通信内
容。建议您只有在所适用法律法规允许的目的和范围内方可启用相应的功能。在使用、存储用户通信内容的过程中,您应采取足够的措施以确保用户的通信内容受到严格保护。
好了,看官们现在了解到镜像强大的威力之后,那我们下面就来看看华为S系列交换机哪些不同方式的镜像功能。
功能 定义 产品支持情况 端口镜像 将指定端口(镜像端口)的报文复制到观察端口。 全支持 流镜像 将指定类型的报文复制到观察端口。 全支持 VLAN镜像 将指定VLAN(镜像VLAN)的报文复制到观察端口。 框式交换机和S5720HI不支持 MAC镜像 将指定MAC地址的报文复制到观察端口。
框式交换机和S5720HI不支持
如何配置?
无论上述的哪种方式,主要配置下面两步:
1、创建观察端口。不同的场景可以选择不同的命令,如表所示。
场景 | 对应配置命令 |
观察端口与监控设备直连,本地镜像。 | observe-port [ <observe-port-index> ] <interfaceinterface-type interface-number> |
观察端口与监控设备通过中间二层网络相连,二层远程镜像。 | observe-port [ <observe-port-index> ] <interfaceinterface-type interface-number> vlan <vlan-id> |
观察端口与监控设备通过中间三层网络相连,三层远程镜像。(仅框式交换机支持) | observe-port [ <observe-port-index> ] <interfaceinterface-type interface-number> destination-ip <dest-ip-address> source-ip <source-ip-address> [ dscp <dscp-value> | vlan <vlan-id> ] * |
PS:如果需要将报文复制到多个观察端口,可以将上面的命令执行多次,或者配置观察端口组进行批量配置。
2、将指定的报文镜像到观察端口。不同的镜像方式对应有不同的命令,如表所示。
镜像方式 | 镜像方式 |
端口镜像 | port-mirroring to observe-port <observe-port-index> { both | inbound | outbound } |
流镜像 | 基于MQC:mirroring to observe-port <observe-port-index>基于ACL:traffic-mirror |
VLAN镜像 | mirroring to observe-port <observe-port-index> inbound |
MAC镜像 | mac-mirroring mac-address to observe-port <observe-port-index> inbound |
PS:both | inbound | outbound分别表示镜像设备双向(接收和发送两个方向)/入方向(接收方向)/出方向(发送方向)的报文。
下面小编再通过简单的组网环境演示一下我们常用的二层远程端口镜像是如何配置的吧。
如图所示,员工A与DNS服务器在同一个VLAN,通过二层网络通信,现在监控PC通过在SwitchA配置的二层远程端口镜像,来监控员工A访问DNS服务器的记录。
1、具体每台交换机上的配置如下:
l SwitchA的配置文件
#
sysname SwitchA
#
vlan batch 10 20 //VLAN10为用户VLAN,VLAN20用于转发镜像报文
#
observe-port 1 interface GigabitEthernet0/0/1 vlan 20 //配置GE0/0/1为二层远程观察端口,
用的观察端口索引为1,远程镜像VLAN为VLAN20,复制的报文会通过GE0/0/1向VLAN20转发
#
interface GigabitEthernet0/0/1 //观察端口不需要加入VLAN20,上面的配置已实现镜像报文通过GE0/0/1向VLAN20转发
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 10 //端口加入VLAN,员工A与DNS之间通信
port-mirroring to observe-port 1 inbound //将GE0/0/2入方向的报文(即接收到的员工A发送的报文)镜像到观察端口1(即GE0/0/1)
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 10 //端口加入VLAN,员工A与DNS之间通信
l SwitchB的配置文件
#
sysname SwitchB
#
vlan batch 20 //用于转发镜像报文到监控PC
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 20 //端口加入VLAN,用于转发镜像报文到监控PC
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 20 //端口加入VLAN,用于转发镜像报文到监控PC
2、在SwitchA查看端口镜像的配置情况:
3、 检查员工A与DNS服务器间通信的报文是否镜像到监控PC:
先在监控PC上启用抓包工具,然后在员工A的PC上向DNS服务器发个ping报文。最后通过抓包工具抓取报文。
可以发现抓取到了源地址为员工A地址、目的地址为监控PC地址的ping报文。