HCNP Routing&Switching之MAC地址防漂移
前文我们了解了二层端口安全技术相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16631222.html;今天我们来聊一聊MAC地址防漂移技术;
首先我们来了解下什么叫做MAC地址漂移呢?所谓MAC地址漂移是指在交换机上的一个端口学习到的MAC在同VLAN下的其他端口也学习到了相同的MAC地址;即该MAC地址在同一交换机下的相同VLAN的多个端口之间来回漂浮,一会在这口,一会在那口;我们把这种现象叫做MAC地址漂移现象;发生MAC地址漂移现象的原因只有两种,一种是网络中存在环路;一种就是网络中存在恶意用户伪造MAC地址来欺骗交换机;
防止MAC地址漂移核心思想
1、我们知道默认情况下交换机的所有端口学习MAC地址的优先级是相同的(优先级为0),同时默认情况下交换机也是允许相同优先级学习到的MAC地址漂移;所以我们想要防止某个端口下学习到的MAC不会漂移到其他接口下,我们可以提高该端口学习到MAC地址的优先级,这样一来交换机如果再从其他端口学习到相同MAC地址,会对比优先级;这样一来我们就可以优先的防止相同MAC在其他端口学习到(相同MAC是指在我们配置的端口下正常该学习到的MAC);
2、默认交换机是开启了允许相同优先级学习到的MAC漂移,我们关闭了该功能即可;
3、MAC-Spoofing-Defend,该技术是用来配置信任端口来防止MAC地址漂移;具体就是我们在全局开启该功能以后,然后在信任的端口下使用相同命令配置对应端口为信任端口;这样一来,在信任端口下学习到的MAC地址在其他非信任端口下就不能够被学习;
MAC地址漂移惩罚动作
MAC地址漂移惩罚是指当交换机检查到有MAC地址漂移时,触发的保护动作;
1、quit-VLAN:该动作表示退出当前VLAN;即当交换机检测到有MAC地址漂移,就就会把对应端口提出对应VLAN,从而来保护现有网络的稳定;
2、err-down:该动作表示关闭接口,即一旦交换机检测到有MAC地址漂移,即把对应端口给shutdown掉;
防止MAC地址漂移配置
实验:如下拓扑,配置防止MAC地址漂移

如上配置,我们在三个pc1和pc2正常通信的情况下,来查看mac地址表

提示:可以看到pc1和pc2正常通行,交换机正常学习和记录对应mac地址和对应接口;
当pc3模拟pc1发包,看看对应mac地址会发生变化呢?

提示:可以看到当pc3一发包,对应交换机的mac地址表项就发生了变化,从原来的1口变为了3口;这是因为交换默认开了相同优先级的mac地址可以漂移;
1、通过配置优先级来限制MAC地址漂移现象

提示:上述命令表示在g0/0/1口学习到的mac地址,优先级为1;
验证:先pc1发包,然后pc3再发包,看看对应交换机的mac地址表项是否会发生变化呢?

提示:可以看到现在配置了mac地址学习优先级以后,pc3再次发包欺骗,对应交换机是不会学习pc3发送的源mac;同时交换机也告警,接口g0/0/1的mac在g0/0/3上浮动,请检查网络;
2、通过取消相同优先级允许mac地址漂移来防止mac地址漂移
删除优先级配置

取消允许相同优先级为0的mac漂移

提示:该命令在全局模式下使用,表示取消所有端口运行相同优先级为0mac地址浮动;
验证:先pc1发包,然后pc3再发包,看看对应交换机的mac地址表项是否会发生变化呢?

提示:可以看到交换机的mac地址表项没有发生变化,对应pc1的mac对应g0/0/1,pc2的mac对应g0/0/2;pc3攻击欺骗交换机,对应交换机没有学习pc3的源mac,同时也给出了告警;
3、通过MAC-Spoofing-defend来限制mac地址漂移
恢复交换机默认配置

在交换机全局开启MAC-Spoofing-Defend

在信任的接口下开启mac-spoofing-defend

提示:这个是模拟器bug,在真机是可以正常开启的;
配置发生MAC漂移的惩罚动作
quit-vlan惩罚动作的配置
把三个接口都加入到vlan10

全局开启MAC地址漂移检测

提示:不管后面的惩罚动作是quit-vlan,还是err-down,都需要先在全局开启MAC地址漂移检查功能,对应配置才会生效;
在g0/0/3下配置发生mac地址漂移时,退出vlan10

提示:需要惩罚那个接口,就在那个接口下配置即可;
验证:先pc1正常发包,然后pc3攻击欺骗交换机,看看对应g0/0/3口是否会退出vlan 10 呢?

提示:可以看到当交换机检侧出发生了MAC地址漂移后,对应会把g0/0/3口踢出vlan10,从而阻断g0/0/3的接口的流量流入vlan10;这里需要注意检测需要检测出一定次数才会触发这个保护动作;
查看MAC地址漂移记录

修改mac地址漂移记录老化时间

提示:默认老化时间为300秒;
修改quit-vlan默认恢复时间

提示:默认quit-vlan恢复时间为10分钟;设置为0表示不自动恢复;
再次查看漂移记录?对应接口是否回到vlan呢?

提示:可以看到现在g0/0/3已经恢复到vlan10;
err-down惩罚动作的配置

验证:先pc1发包,然后pc3发包,看看对应接口是否会被down掉?

提示:可以看到当mac地址漂移发生一定次数以后,对应接口就会down,并发出告警;
查看err-down

提示:可以看到g0/0/3是因为mac地址漂移而触发的err-down;并且对应没有恢复时间;
设置err-down的恢复时间

提示:设置了err-down恢复时间,它这个不针对之前的err-down,只对设置后发生mac地址漂移触发的err-down生效;如果在没有设置自动恢复时间,我们可以先把接口shutdown,然后再undo shutdown,来恢复接口;
重新触发err-down,看看对应接口是否会自动恢复呢

提示:可以看到当触发了err-down以后,对应接口会被down掉;当自动恢复时间到期以后,对应接口又会重新恢复到up状态;
HCNP Routing&Switching之MAC地址防漂移的更多相关文章
- HCNP Routing&Switching之MAC安全
前文我们了解了GRE over IPSec 相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16601491.html:今天我们来聊一聊mac安全相关话 ...
- HCNP Routing&Switching之DHCP安全
前文我们了解了MAC地址防漂移技术,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16632239.html:今天我们来了解下DHCP安全相关话题: 回顾DHC ...
- HCNP Routing&Switching之组播技术-组播地址
前文我们聊到了组播技术背景,单播.广播在点到多点应用中的问题,以及组播对比单播.广播在点到多点的网络环境中的优势.劣势,相关回顾请参考https://www.cnblogs.com/qiuhom-18 ...
- HCNP Routing&Switching之代理ARP
前文我们了解了端口隔离相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16186451.html:今天我们来聊一聊ARP代理相关话题: 端口隔离之破解之 ...
- HCNP Routing&Switching之IP安全
前文我们了解了DHCP安全相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16637627.html:今天我们来聊一聊IP安全相关话题: 技术背景 随着 ...
- HCNP Routing&Switching之ARP安全
前文我们了解了IP安全相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16652367.html:今天我们来聊一聊ARP安全相关话题: 什么是ARP? ...
- HCNP Routing&Switching之OSPF网络类型
前文我们了解了PPPoE协议相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15182512.html:今天我们聊聊一聊OSPF中的网络类型相关话题: ...
- HCNP Routing&Switching之IS-IS邻居建立、LSDB同步、拓扑计算和路由形成
前文我们了解了IS-IS的报文结构和类型相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15260670.html:今天我们来聊一聊IS-IS建立邻居. ...
- HCNP Routing&Switching之BGP报文结构、类型和状态
前文我们了解了BGP的邻居建立条件.优化以及BGP认证相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15395723.html:今天我们来聊一聊BGP ...
随机推荐
- DirectX11 With Windows SDK--19(Dev) 编译Assimp并加载模型、新的Effects框架
前言 注意:这一章进行了重写,对应教程Dev分支第19章的项目,在更新完后面的项目后会替换掉原来第19章的教程 在前面的章节中我们一直使用的是由代码生成的几何模型,但现在我们希望能够导入模型设计师生成 ...
- Spring框架 - Spring和Spring框架组成
Spring框架 - Spring和Spring框架组成 Spring是什么?它是怎么诞生的?有哪些主要的组件和核心功能呢? 本文通过这几个问题帮助你构筑Spring和Spring Framework ...
- 打通web的三维国产引擎!老子云AMRT,够牛!
AMRT(Auto Mobile Reality Technology)指的是自动化移动现实技术,它是老子云3D模型自动轻量化引擎及轻量化模型格式.模型展示框架.API/SDK的统称.3D研发技术其中 ...
- 一图读懂k8s informer client-go
概述 为什么要有k8s informer 我们都知道可以使用k8s的Clientset来获取所有的原生资源对象,那么怎么能持续的获取集群的所有资源对象,或监听集群的资源对象数据的变化呢?这里不需要轮询 ...
- 从Hadder看蛋白质分子中的加氢算法
技术背景 PDB(Protein Data Bank)是一种最常用于存储蛋白质结构的文件.而我们在研究蛋白质构象时,往往更多的是考虑其骨架,因此在很多pdb文件中直接去掉了氢原子.但是在我们构建蛋白质 ...
- 全国土壤阳离子交换量CEC空间分布数据
数据下载链接:百度云下载链接 土壤阳离子交换量,简称CEC,是指土壤胶体所能吸附各种阳离子的总量.土壤阳离子交换量 cation exchange capacity 即CEC 是指土壤胶体所能吸附各 ...
- Test_day01月_总结
1)Object是所有类的超类,在java.lang包中 2)标识符命名规则 3)八种基本数据类型有哪些?每种类型所占的字节数? 整数直接量默认为int类型 浮点数直接量默认为double类型 4)字 ...
- .NET Core 实现后台任务(定时任务)Longbow.Tasks 组件(三)
原文链接:https://www.cnblogs.com/ysmc/p/16512309.html 在上两篇文章中,简单介绍了怎么使用 IHostedService 与 BackgroundServi ...
- Java的基础语法01
一. 注释,标识符,关键字 书写注释是一种习惯的养成,当我们一段代码完成后,长时间没有回顾,便会产生遗忘,所以注释是给我们写代码的人看的.1.注释 //单行注释 /*多行注释*/ /**文档注释也叫文 ...
- C#常见的集合
3中数组式的 Array 在内存上是连续分配的,而且元素类型是一样的 特点:读取快,可以坐标访问,增删慢.长度不变. ArrayList 不定长,连续分配的,元素没有类型限制,任何元素都当成Objec ...