一、什么是端口镜像?
端口镜像,通常被称为 SPAN 或者
端口监控,是一种将经过一个或多个端口(或整个VLAN)的网络数据包复制一份,然后发送到指定的监控端口的技术。
- 源端口:被监控的端口,网络流量从这里被复制。
- 目的端口:连接监控设备(如IDS、流量分析系统、协议分析器)的端口。
- 作用:用于网络故障排查、性能监控、安全监控(入侵检测)、内容审计等。
二、镜像类型详解
1. 本地端口镜像
最常见的镜像方式,源端口和目的端口在同一台交换机上。
- Cisco: 称为 SPAN
- Huawei & H3C: 称为 本地端口镜像
2. 远程端口镜像
源端口和目的端口在不同的网络设备上。它通过一个特殊的VLAN(远程镜像VLAN)将镜像流量传递到远端的监控设备。
- Cisco: 称为 RSPAN
- Huawei & H3C: 称为 远程端口镜像
3. 流镜像
基于复杂的流策略进行镜像,可以只匹配特定的流量(如某个协议、某个IP地址的流量),而不是镜像整个端口的所有流量。功能更强大、更灵活。
- Cisco: 通常使用 基于MQC的镜像
- Huawei & H3C: 称为 流镜像 或 策略镜像
三、主流厂商配置命令大全
1. Cisco (IOS/IOS-XE)
a) 本地SPAN
bash 复制 下载
#
进入配置模式
configure terminal
#
创建一个SPAN会话,并指定会话号 (例如 1)
monitor session 1 source interface gigabitethernet1/0/1 both
# both
表示双向流量,也可以使用 `rx` (入方向) 或 `tx` (出方向)
monitor session 1 destination interface gigabitethernet1/0/24
#
可以监控多个源端口
monitor session 1 source interface gigabitethernet1/0/2
#
也可以监控整个VLAN
monitor session 1 source vlan 10
#
结束配置
end
#
查看SPAN会话状态
show monitor session all show monitor session 1
b) RSPAN
bash 复制 下载 ! 步骤 1: 在所有参与RSPAN的交换机上创建RSPAN VLAN vlan 100 name RSPAN-VLAN
remote-span ! 步骤 2: 在源交换机上配置RSPAN源,并将目的设置为RSPAN VLAN monitor session 2 source
interface gigabitethernet1/0/1 both monitor session 2 destination remote vlan 100 ! 步骤 3:
在目的交换机上配置RSPAN目的端口,并指定源RSPAN VLAN monitor session 3 source remote vlan 100 monitor
session 3 destination interface gigabitethernet2/0/24
c) 基于MQC的流镜像
bash 复制 下载 ! 创建ACL来定义感兴趣的流量 access-list 101 permit ip host 192.168.1.10 any !
创建Class-Map来匹配ACL class-map match-all MIRROR-TRAFFIC match access-group 101 !
创建Policy-Map,对匹配的流量执行镜像动作 policy-map MIRROR-POLICY class MIRROR-TRAFFIC
mirror ! !注意:有些平台使用 `mirror`,有些使用 `span-monitor` !
将策略应用到接口上(入方向或出方向) interface gigabitethernet1/0/1 service-policy input
MIRROR-POLICY
2. Huawei (VRP)
a) 本地端口镜像
bash 复制 下载
#
进入系统视图
system-view
#
创建观察端口(目的端口)
observe-port 1 interface GigabitEthernet0/0/24
#
在源端口上绑定观察端口
interface GigabitEthernet0/0/1 port-mirroring to observe-port 1 inbound
#
镜像入方向
port-mirroring to observe-port 1 outbound
#
镜像出方向
#
也可以使用 `both` 命令镜像双向
# port-mirroring to observe-port 1 both
#
查看镜像配置
display observe-port display port-mirroring
b) 远程端口镜像
bash 复制 下载
#
在中间所有交换机上创建远程镜像VLAN并放通相关端口
vlan 100 description Remote-Mirror
#
在反射器交换机(源交换机)上配置
observe-port 1 interface GigabitEthernet0/0/1 vlan 100 interface GigabitEthernet0/0/2
port-mirroring to observe-port 1 inbound
#
在目的交换机上配置
observe-port 1 interface GigabitEthernet0/0/24 interface GigabitEthernet0/0/1 port-mirroring to
observe-port 1 inbound
c) 流镜像
bash 复制 下载
#
创建ACL
acl number 3000 rule 5 permit ip source 192.168.1.10 0.0.0.0
#
创建流分类
traffic classifier MIRROR-CLASSIFIER if-match acl 3000
#
创建流行为,指定镜像到观察端口
traffic behavior MIRROR-BEHAVIOR mirror to observe-port 1
#
创建流策略并绑定分类和行为
traffic policy MIRROR-POLICY classifier MIRROR-CLASSIFIER behavior MIRROR-BEHAVIOR
#
将流策略应用到接口
interface GigabitEthernet0/0/1 traffic-policy MIRROR-POLICY inbound
3. H3C (Comware V7)
H3C的配置与华为非常相似。
a) 本地端口镜像
bash 复制 下载 system-view
#
配置镜像目的端口
mirroring-group 1 monitor-port gigabitethernet 1/0/24
#
配置镜像源端口
mirroring-group 1 mirroring-port gigabitethernet 1/0/1 both
#
同样支持 inbound, outbound
#
查看配置
display mirroring-group all
b) 远程端口镜像
bash 复制 下载
#
创建远程镜像组
mirroring-group 1 remote-source
#
配置反射端口(源交换机上连接中间网络的端口)
mirroring-group 1 monitor-egress gigabitethernet 1/0/2
#
配置源端口
mirroring-group 1 mirroring-port gigabitethernet 1/0/1 inbound
#
配置远程Probe VLAN
mirroring-group 1 remote-probe vlan 100
#
在目的交换机上
mirroring-group 1 remote-destination
#
配置监控端口
mirroring-group 1 monitor-port gigabitethernet 2/0/24
#
配置远程Probe VLAN
mirroring-group 1 remote-probe vlan 100
c) 流镜像
bash 复制 下载
#
创建ACL
acl advanced 3000 rule 0 permit ip source 192.168.1.10 0
#
定义流分类
traffic classifier MIRROR-CLASSIFIER if-match acl 3000
#
定义流行为,重定向到监控端口
traffic behavior MIRROR-BEHAVIOR mirror-to interface gigabitethernet 1/0/24
#
定义QoS策略
qos policy MIRROR-POLICY classifier MIRROR-CLASSIFIER behavior MIRROR-BEHAVIOR
#
应用策略到接口
interface gigabitethernet 1/0/1 qos apply policy MIRROR-POLICY inbound
四、注意事项与最佳实践
-
目的端口功能:
- 目的端口不能用于正常的数据传输。
- 确保目的端口有足够的带宽来处理镜像流量,否则会丢包。
- 建议将目的端口的速率和双工模式设置为与监控设备匹配。
- 性能影响:
- 镜像会消耗交换机的CPU和背板带宽。在高负载端口进行镜像时需谨慎。
- 流镜像由于需要匹配策略,对CPU的消耗通常大于端口镜像。
- 当镜像一个Trunk端口时,默认会复制所有VLAN的流量。如果需要只镜像某个VLAN,请使用流镜像。
- 目的端口如果是Trunk,需要确保远程镜像VLAN(对于RSPAN)被允许通过。
- 端口镜像会暴露所有网络数据,必须严格管理访问权限,并遵守当地法律法规。
- 配置完成后,务必使用 show / display 命令验证会话状态。
- 在监控设备上使用Wireshark等工具确认是否能收到预期的流量。
- VLAN 和 Trunk 端口:
- 安全与合规:
- 验证配置: