城域网常见交换机端口和远程镜像.docx
17页城域网常见交换机端口及远程镜像郭锐雄一、 案例描述镜像即将一个端口的流量复制到另一个端口,以便抓包处理,镜像分三 种:1、 本地端口镜像:即将一个端口流量镜像到同一交换机的另一端口2、 二层端口镜像(rspan):将镜像流量转到某一个vlan内,虽然流量是单 播,但一般设备对未知单播都会做广播处理,故任何一个加入该vlan的端 口均可抓到该镜像流量3、 三层流量接口(erspan):将流量镜像到远程的三层接口,需要有到该端 口的路由4、 流镜像:流镜像是指在设备上配置一定的规则,将符合规则的特定业务 流复制到观察端口进行分析和监控二、 常见交换机镜像配置一、华为S9312端口镜像:1、本地镜像(本例是配置M:N的镜像,即将M个镜像端口的报文复制 到N个不同的观察端口,这里讲接口改成一个就是普通的端口镜像):a) 配置观察端口:[Switch] observe-port 1 interface-range gigabitethernet 1/0/4 gigabitethernet 1/0/5(如果是单个接口就 interface,不带 range)b) 配置镜像端口:[Switch-GigabitEthernet1/0/1]port-mirroring to observe-port 1inbound//将接口 GE1/0/1的入方向绑定到索引为1的观察端口上c) 查看观察端口和镜像端口
[Switch] traffic behavior bl[Switch-behavior-bl] mirroring to observe-port 1[Switch-behavior-bl] quit在Switch上创建流策略p1,将流分类和对应的流行为进行绑定,并将流策略应用到接口 GE1/0/1的入方向上[Switch] traffic policy p1[Switch-trafficpolicy-p1] classifier c1 behavior b1[Switch-trafficpolicy-p1] quit[Switch] interface gigabitethernet 1/0/1[Switch-GigabitEthernet1/0/1]traffic-policy p1 inboundf)查看流分类配置信息
[SwitchA]observe-port 1 interface gigabitethernet1/0/2 vlan 10b) 在SwitchA上配置镜像端口在SwitchA上配置接口 GE1/0/1为镜像端口,将其入方向绑定到 二层远程观察端口,即将镜像端口接收到的报文复制一份到二层 远程观察端口[SwitchA] interface gigabitethernet 1/0/1[SwitchA-GigabitEthernet1/0/1] port-mirroring to observe-port 1 inboundc) 在 SwitchB 上创建 VLAN10,将接口 GE1/0/1 和 GE1/0/2 加入 VLAN10,图中的server便能收到镜像报文d) 验证配置结果的命令和本地镜像一样,这里不做赘述3、有时候配置二层远程端口镜像需要关闭MAC学习功能.HostBSwitchAGE1/0/2GE 1/0/2GE1/0/1GE1/0/1HostA目的MACMACA目浙MACMACB10VLANWm虻地址出剧口KACA.10'GE1/0/2MACE10Swi t r:hB由于镜像报文的目的MAC与原始报文目的MAC相同,不是监 控设备的MAC,也就是说,镜像报文不能通过MAC表进行转发, 而是依赖未知单播的处理流程一一广播方式进行转发。
假设用于走 镜像流量的VLAN为vlan10,只要VLAN10对应的MAC表中不包含 镜像报文目的MAC对应的表项,镜像报文就可以通过广播方式转发 到 Servero特别注意做二层镜像的时候最好不要同时抓同一端口的出 入两个方向的包,以上图中抓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 口就会在vlan10内同时学习到 MacA和MacB地址,见图中SwitchB的mac表,又因为从SwitchA 镜像过来的数据流的目的MAC也正好是MacA和MacB,所以镜像 过来的报文SwitchB便不再认为是未知单播报文,而是认为是普通 单播报文从SwitchB的GE1/0/2 口在vlan10内发送出去,导致本地 Server抓不到包。
如果一定要同时抓两个方向的包,则要关闭用于 镜像的vlan内的mac地址学习功能另外,如果vlan10内通过某种其他方式学习到了目的MAC(比 如镜像端口加入了 vlan10,还有一些更复杂的情况可以参看华为 S9312文档里二层远程端口镜像需要关闭MAC学习功能的案例),则 此时也需要关闭该vlan内的MAC学习功能,但不推荐这么做,一般 配置二层远程端口镜像时不建议用同一个VLAN转发普通业务流量 和镜像流量e)二层端口的流镜像配置和本地流镜像基本一致,类推一下就可以了,这里不再赘述4、配置三层远程端口镜像G只E隧通 原瞄报上 愤1象报文在Switch上进行如下配置,实现Server远程监控研发部访问IInternet 的流量:1、 配置接口 GE1/0/2为三层远程观察端口,指定封装镜像报文 的目的地址是监控设备的地址,源地址为Switch上的接口地址2、 配置接口 GE1/0/1为镜像端口,将研发部访问Internet的流量复制一份到三层远程观察端口a) 配置观察端口在Switch上配置接口 GE1/0/2为三层远程观察端口,指定封 装镜像报文的目的地址是10.2.1.1,源地址是10.1.1.1 (源地 址可以任意指定本地地址,本例中使用loopback。
[Switch]observe-port 1 interface gigabitethernet1/0/2 destination-ip 10.2.1.1 source-ip 10.1.1.1 vlan 10配置完成后,观察端口会在镜像报文外层添加GRE隧道头, 再将其作为IP报文的数据部分,封装在IP报文内进行转发注意,如果到目的地址路由的出接口是trunk 口的话,一定 要带后面的vlan,否则不能成功远程镜像,vlan为到目的地 址路由所走的vlanb) 配置镜像端口在Switch上配置接口 GE1/0/1为镜像端口,将其入方向绑定 到三层远程观察端口,即将镜像端口接收到的报文复制一份 到三层远程观察端口[Switch] interface gigabitethernet 1/0/1[Switch-GigabitEthernet1/0/1] port-mirroring to observe-port 1 inboundc) 验证配置结果的命令和本地镜像一样,这里不做赘述f) 三层镜像的抓包结果是带GRE头的封装的ERSPAN报文(如下图的第一个包,这里目的IP就是截图电脑的IP),如果 wireshark不能直接解析的话,则需要强制解析成ERSPAN帧, 如图所示:g# Packet Ti Htn 喧mow10,200-1.0,6192,168,0.235仲他所Raw!推J/Miec■ varsinn: Uriinown (D)PiAe 出 PrrfciErKesh tfl re j ttei04am Can-Gratin&CTPF侦 RP StreamFibw \TiP 5treanFrt)* 56L5nsmFabw HTTPStreariICMva Ficiat i^Dinb'l三 Ar nrr» Hi临ic归眇)ER5P*H W Cft5PW:10.6 g 10. S 10. G 10.6 10. G 10,6lQ2.lfiH.ij. 192.160.0. 192.1CH.O. 19M66.O.192,16B,O. 191.1^.0. 1Q2.1CH.0. 192.160.0.192.1CH.O. 192,166,0.in.2CD_L0.fi 10.2^0.10.6 iD.jan.io.fi 10.200»10.6 ltl.240.1Q.JQ0 IQ. 240。





