城域网常见交换机端口和远程镜像分析.docx
《城域网常见交换机端口和远程镜像分析.docx》由会员分享,可在线阅读,更多相关《城域网常见交换机端口和远程镜像分析.docx(20页珍藏版)》请在冰豆网上搜索。
城域网常见交换机端口和远程镜像分析
城域网常见交换机端口及远程镜像
郭锐雄
一、案例描述镜像即将一个端口的流量复制到另一个端口,以便抓包处理,镜像分三种:
1、本地端口镜像:
即将一个端口流量镜像到同一交换机的另一端口。
2、二层端口镜像(rspan):
将镜像流量转到某一个vlan内,虽然流量是单播,但一般设备对未知单播都会做广播处理,故任何一个加入该vlan的端口均可抓到该镜像流量。
3、三层流量接口(erspan):
将流量镜像到远程的三层接口,需要有到该端口的路由。
4、流镜像:
流镜像是指在设备上配置一定的规则,将符合规则的特定业务流复制到观察端口进行分析和监控。
二、常见交换机镜像配置
一、华为S9312端口镜像:
1、本地镜像(本例是配置M:
N的镜像,即将M个镜像端口的报文复制到N个不同的观察端口,这里讲接口改成一个就是普通的端口镜像):
a)配置观察端口:
[Switch]observe-port1interface-rangegigabitethernet1/0/4gigabitethernet1/0/5(如果是单个接口就interface,不带range)
b)配置镜像端口:
[Switch-GigabitEthernet1/0/1]port-mirroringtoobserve-port1inbound//将接口GE1/0/1的入方向绑定到索引为1的观察端口上
c)查看观察端口和镜像端口
displayobserve-port
displayport-mirroring
e)本地流镜像
在Switch上配置接口GE1/0/2为本地观察端口:
[Switch]observe-port1interfacegigabitethernet1/0/2
在Switch上创建流分类cl,并配置流分类规则匹配以下两类报文:
源地址为10.1.1.0/24,目的TCP端口号为80的端口号;[Switch]aclnumber3000
[Switch-acl-adv-3000]rulepermittcpsource10.1.1.00.0.0.255destination-porteq80
[Switch-acl-adv-3000]quit[Switch]trafficclassifierc1operatoror[Switch-classifier-c1]if-matchacl3000
在Switch上创建流行为bl,并配置流行为是流镜像,将指定报文流镜像到本地观察端口GE1/0/2。
[Switch]trafficbehaviorbl
[Switch~behavior-b1]mirroringtoobserve-port1
[Switch-behavior-bl]quit
在Switch上创建流策略p1,将流分类和对应的流行为进行绑定,并将流策略应用到接口GE1/0/1的入方向上
[Switch]trafficpolicyp1
[Switch-trafficpolicy-p1]classifierc1behaviorb1
[Switch-trafficpolicy-p1]quit
[Switch]interfacegigabitethernet1/0/1
[Switch-GigabitEthernet1/0/1]traffic-policyp1inbound
f)查看流分类配置信息
displaytrafficclassifieruse-definedc1
2、二层端口镜像
島1SwitdiB
■
•辿理書瞰魅c
植件理文
a)在SwitchA上配置观察端口
在SwitchA上配置接口GE1/0/2为二层远程观察端口,绑定的VLAN为VLAN1Q观察端口会将镜像报文向VLAN10进行转发,不需要在观察端口下进行接口加入VLAN的操作。
[SwitchA]observe-port1interfacegigabitethernet1/0/2vlan10
b)在SwitchA上配置镜像端口
在SwitchA上配置接口GE1/0/1为镜像端口,将其入方向绑定到二层远程观察端口,即将镜像端口接收到的报文复制一份到二层远程观察端口。
[SwitchA]interfacegigabitethernet1/0/1[SwitchAGigabitEthernet1/0/1]port-mirroringtoobserve-port1inbound
c)在SwitchB上创建VLAN10将接口GE1/0/1和GE1/0/2加入VLAN10图中的server便能收到镜像报文。
d)验证配置结果的命令和本地镜像一样,这里不做赘述。
3、有时候配置二层远程端口镜像需要关闭MAC学习功能.
由于镜像报文的目的MAC与原始报文目的MAC相同,不是监控设备的MAC,也就是说,镜像报文不能通过MAC表进行转发,而是依赖未知单播的处理流程一一广播方式进行转发。
假设用于走镜像流量的VLAN为vlan10,只要VLAN10对应的MAC表中不包含镜像报文目的MAC对应的表项,镜像报文就可以通过广播方式转发至UServer。
特别注意做二层镜像的时候最好不要同时抓同一端口的出入两个方向的包,以上图中抓HostA和HostB的通信包为例,如果在SwitchA的GE1/0/1口同时抓出、入两个方向的包,因为GE1/0/1的入方向就有以MacA为源MAC地址,以MacB为目的MAC地址的
数据流,而GE1/0/1的出方向就会有以MacB源MAC地址、以MacB为目的MAC地址的数据流,因为交换机端口会主动学习数据包的源MAC地址,所以当出、入两个方向被镜像的报文流到达SwitchB的
GE1/0/2口时,SwitchB的GE1/0/2口就会在vian10内同时学习到
MacA和MacB地址,见图中SwitchB的mac表,又因为从SwitchA镜像过来的数据流的目的MAC也正好是MacA和MacB,所以镜像过来的报文SwitchB便不再认为是未知单播报文,而是认为是普通单播报文从SwitchB的GE1/0/2口在vian10内发送出去,导致本地Server抓不到包。
如果一定要同时抓两个方向的包,则要关闭用于镜像的vian内的mac地址学习功能。
另外,如果vlan10内通过某种其他方式学习到了目的MAC(比如镜像端口加入了vlan10,还有一些更复杂的情况可以参看华为S9312文档里二层远程端口镜像需要关闭MAC学习功能的案例),则此时也需要关闭该vlan内的MAC学习功能,但不推荐这么做,一般配置二层远程端口镜像时不建议用同一个VLAN转发普通业务流量
和镜像流量。
e)二层端口的流镜像
配置和本地流镜像基本一致,类推一下就可以了,这里不再赘述。
4、配置三层远程端口镜像
HoslAHost&HostG
•植暉测口
tBGREMifl
■■■■TH4.
在Switch上进行如下配置,实现Server远程监控研发部访问
llnternet的流量:
1、配置接口GE1/0/2为三层远程观察端口,指定封装镜像报文的目的地址是监控设备的地址,源地址为Switch上的接口地址。
2、配置接口GE1/0/1为镜像端口,将研发部访问Internet的流
量复制一份到三层远程观察端口。
a)配置观察端口
在Switch上配置接口GE1/0/2为三层远程观察端口,指定封装镜像报文的目的地址是10.2.1.1,源地址是10.1.1.1(源地址可以任意指定本地地址,本例中使用loopbackO)
[Switch]observe-port1interfacegigabitethernet1/0/2
destination-ip10.2.1.1source-ip10.1.1.1vlan10
配置完成后,观察端口会在镜像报文外层添加GRE隧道头,
再将其作为IP报文的数据部分,封装在IP报文内进行转发。
注意,如果到目的地址路由的出接口是trunk口的话,一定要带后面的vlan,否则不能成功远程镜像,vlan为到目的地址路由所走的vlan。
b)配置镜像端口
在Switch上配置接口GE1/0/1为镜像端口,将其入方向绑定到三层远程观察端口,即将镜像端口接收到的报文复制一份到三层远程观察端口。
[Switch]interfacegigabitethernet1/0/1
[Switch-GigabitEthernet1/0/1]port-mirroringtoobserve-port1inbound
c)
f)
验证配置结果的命令和本地镜像一样,这里不做赘述。
三层镜像的抓包结果是带GRE头的封装的ERSPAN艮文(如下图的第一个包,这里目的IP就是截图电脑的IP),如果
wireshark不能直接解析的话,则需要强制解析成ERSPAN帧,
如图所示:
解析完之后就能看到普通的带GRE头的源数据报文:
liFFTiiEr】i5FEhm射WikQf:
击:
&4:
4f:
21).«i:
円用■亡1i«_Ik:
M(00:
25be:
4c:
ftfl)寸60?
.HqVirtualLW,PRT;0p€FT;乩TO;427
£02.Lqvirtuallajm.pri:
0.cfii0,id^3134)
SinterimPrwtKol先"伽4.5tc;172.19.72^.Ds-t;172^taa.ll
useroat^gr^nkproioccltsrewc!
』旳1?
卩dst
tD^tat?
1&4bytes)
样的,需要两边设备真正的建立GRE通道(S9312
TirW
岛5祐
felntircri
IMiotd
iin^glhWo
砂2D,
17?
.5^,7?
.2*14-
172.791121.1.?
UPP
6&D3>.496~08
1?
2.2^.72.254
172,2^121.12
UDP
B垃10932-2«310Len-^&i
fifrIU0.««710
10.2M.L0.fi
142.1M.0.M
tp"
1514FragnentEdlIPprototaJ(protc-iM
6W3G.*MM3
RM
SOLXidtioniHernat
63»0,4^74.67
1.0.200.10,6
19?
.
IPV4
1S14FraqMnzedlipprctocall(proro-Gi
bSOri.Jy.'-t'J
Ti.OA
172.打”沖”1®
Si>urenownDstfS
SflDBG.44747S
m.n.n.nM
172.27.70.11
IPJb
7T&ucMomDjCAI
阴曲Q,W47»
17J.29.7J.n4
17?
.2^121.1?
UDP
Bi?
Len-T6i
gftlCIG.4^7411
172.2-5l.72.il
172.27.76.222
TEP
11?
3375-1260[ACE]Sfiq-245M5Afk-^
MU0.447413
1?
2.29.9.7<
172,27,67-114
TCP
151Interleai/ecichAnr^lftiOO,35byi
|百・42~出勺丁出*号
77?
21?
TOl吕才
*'亍予"TjTT■■
1»JufrOj盘IV
TCP
6H30.«74*7
10.200.10.6
192.1H.O.frB
IPv4
151gftl4d.朋RUB
172.2^1.70.142
172.27.76.230
TCP
包0[tcpsegflertof趨reas^en^l^dM
SUS
10,200.10.6
IlM
151AFrjgntrrtediIPprotocol(pnatH
gai6鋪
17?
・科・70.14?
17?
JT,75.73-0
TEP
BOfirprcta^■fr^jled円
607fcJHSmi
172.29.70.143
1?
2.27.7«.2K
TCP
1376[TCPsegnenterf4rea^serMjl^dpi
e&lfios44123d
10.2M.10.fi
tPM
1514^ragnentedlIPprototal[p「口1(mj
MUQi.
0X
17?
"・
TTP
HD「TTP^rriHprrcfjrp^^^PHTilfidp*l
1
7Frans6802;占52bytesonwire(6816
bitsj(bptes
capturfid
〔闘応bitsjaminterface0
i]ECherngEn.,引-t:
dieamc_afl.!
3B!
al
al),Ml:
TntprnrlFirn-tnrnl
nn4.Krr:
Ifl-6VDst:
Gener-1匚pkkt1ng(erspan.)
直电呗1电咅mtxh戸锻匸1:
€±
e)三层接口流镜像
三层接口流镜像的配置和本地接口也类似,类推即可。
二、华为12808端口镜像:
华为12808的本地镜像和二层镜像配置和S9312的配置是但三层镜像的配置比较特殊,只需要镜像端口所在设备配置GRE即可)
需要将设备
三层远端镜像配置(如果12808的隧道是VXLAN那么
的隧道模式改为GRE改完后设备需重启,所以可能实际用处不大):
IP,端口等配置如图所示,两边路由互通,现需要讲HOSTA的上联
流量镜像到server,
O镜像端口
O观察端口
——►报文流
A复制报文流
1、在SwitchA和SwitchB之间配置GRE隧道将隧道模式改为GRE
[~SwitchA]iptunnelmodegre
[*SwitchA]commit
[~SwitchB]iptunnelmodegre[*SwitchB]commit配置完后需要重启。
配置GRE通道
[~SwitchA]interfaceTunnel1
[*SwitchA-Tunnel1]tunnel-protocolgre[*SwitchA-Tunnel1]ipaddress10.14124[*SwitchA-Tunnel1]source10.1.2.2[*SwitchA-Tunnel1]destination10.1.3.2[*SwitchA-Tunnel1]quit
[*SwitchA]commit[~SwitchB]interfaceTunnel1[*SwitchB-Tunnel1]tunnel-protocolgre[*SwitchB-Tunnel1]ipaddress10.1.4.224[*SwitchB-Tunnel1]source10.1.3.2[*SwitchB-Tunnel1]destination10.1.2.2[*SwitchB-Tunnel1]quit
[*SwitchB]commit
2、配置SwitchA的远程观察端口和镜像端口。
在SwitchA上配置接口Tunnel1为远程观察端口,配置接10GE1/0/1为镜像端口。
[~SwitchA]observe-port1interfaceTunnel1
[*SwitchA]interface10ge1/0/1
[*SwitchA-10GE1/0/1]port-mirroringobserve-port1inbound
[*SwitchA-10GE1/0/1]quit
[*SwitchA]commit
3、配置SwitchB的本地观察端口和镜像端口。
在SwitchB上配置接口10GE1/0/1为本地观察端口,配置接口10GE1/0/2为镜像端口
[~SwitchB]observe-port1interface10ge1/0/1
[*SwitchB]interface10ge1/0/2
[*SwitchB-10GE1/0/2]port-mirroringobserve-port1inbound[*SwitchB-10GE1/0/2]quit
[*SwitchB]commit
三、华为S2352交换机端口镜像:
1、配置本地镜像
华为S2352设备配置本地镜像和华为S9312的配置是一样的,这里不做赘述。
2、配置二层远程镜像
a).在SourceSwitch设备上配置需要远程镜像的接口和远程镜像VLAN镜像端口不允许加入到远程镜像VLAN)
执行命令vlanvlan-id,创建RSPANVLA并进入VLAN视图。
执行命令maGaddresslearningdisable关闭MAC地址学习功能。
执行命令quit返回系统视图。
执行命令observe-portindexinterfaceinterface-typeinterface-numberreflect-typevlanvlan-id,配置观察接口(也就是将镜像包发往远程目的交换机的端口,也就是连中间交换机的端口)为反射类型接口并指定远程镜像VLAN。
执行命令interfaceinterface-typeinterface-number,进入远程镜像源接口的接口视图。
执行命令port-mirroringtoobserve-portindex{both|inbound|outbound},配置接口镜像。
当需要同时监控多个接口的入方向或出方向的报文时,可以重复执行步骤6和步骤7。
b).在IntermediateSwitch设备上透传远程镜像VLAN
c)在DestinationSwitch设备上配置远程镜像的观察接口
先创建镜像VLAN,并保证镜像VLAN的透传。
执行命令interfaceinterface-typeinterface-number,进入观察接口的接口视图。
执行命令porthybriduntaggedvlanvlan-id,将观察接口配置为Hybrid
类型并允许远端镜像VLAN的报文通过。
执行命令quit返回系统视图,这样在观察端口便可抓取源端口的镜像报文。
3、比较老版本的S2352设备配置有点区别,如下所示(下面步骤中与新版本配置相同部分已忽略):
a)、在SourceSswitch设备上需将镜像vlan配置为RSPANVLAN操作步骤
执行命令vlanvlan-id,创建远程镜像VLAN并进入VLAN视图。
执行命令rspanvlanenable配置VLAN为RSPANVLAN执行命令quit返回系统视图。
执行命令observing-porto-indexinterfaceinterface-typeinterface-numberrelay-type,配置观察接口为中继类型接口。
b)、在IntermediateS-switch设备上也需将镜像vian配置为RSPANVLAN。
执行命令system-view,进入系统视图。
执行命令vlanvlan-id,创建远程镜像VLAN并进入VLAN视图。
执行命令rspanvlanenable配置VLAN为RSPANVLAN
执行命令quit返回系统视图。
然后再透传该VLAN。
c)、在DestinationS-switch设备上配置远程镜像的观察接口
执行命令system-view,进入系统视图。
执行命令vlanvlan-id,创建远程镜像VLAN并进入VLAN视图。
执行命令rspanvlanenable配置VLAN为RSPANVLAN执行命令quit返回系统视图。
执行命令observing-porto-indexinterfaceinterface-typeinterface-numberremote-type,配置观察接口为远程镜像类型,其余配置和上面新版本的配置是一样的。
4、华为S2352设备的流镜像配置和S9312一样,不再赘述,且该设备不支持三层远程镜像。
四、中兴8912
1、本地端口镜像配置:
端口gei_3/3连接了一台监控计算机,需监控gei_1/2收的流量
a).将gei_1/2配置为镜像端口
ZXR10(config)#interfacegei_1/2
ZXR10(configif)#monitorsession1sourcedirectionrx
b).将gei_3/3配置为观察端口
ZXR10(config)#interfacegei_3/3
ZXR10(configif)#monitorsession1destination
c).要监控gei_1/1、gei_1/2和gei_2/2收到的数据,可以通过上
述的接口模式按个配置,也可以在全局配置模式下批量配置,配置如下:
全局配置模式:
ZXR10(config)#monitorsession1sourcegei_1/2,
gei_2/2directionrxdestinationgei_3/3
2、本地端口流镜像
将端口gei_1/8上源IP地址为16825.6的数据流镜像到gei_1/4上。
ZXR10(config)#aclstandardnumber10
ZXR10(configstd-acl)#rule1permit168.2.5.5
ZXR10(configstd-acl)#rule2permit168.2.5.6
ZXR10(configstd-acl)#exit
ZXR10(config)#trafficmirrorin10rule-id2interface
ZXR10(config)#interfacegei_1/8
ZXR10(conf