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 ...
随机推荐
- 一文澄清网上对 ConcurrentHashMap 的一个流传甚广的误解!
大家好,我是坤哥 上周我在极客时间某个课程看到某个讲师在讨论 ConcurrentHashMap(以下简称 CHM)是强一致性还是弱一致性时,提到这么一段话 这个解释网上也是流传甚广,那么到底对不对呢 ...
- C# 读写文件从用户态切到内核态,到底是个什么流程?
一:背景 1. 一个很好奇的问题 我们在学习 C# 的过程中,总会听到一个词叫做 内核态 ,比如说用 C# 读写文件,会涉及到代码从 用户态 到 内核态 的切换,用 HttpClient 获取远端的数 ...
- bat-注册表
注册表 注册表就像于是配置文件 linux下一切皆文件,windows下一切皆注册表 注册表(各种配置文件:系统设置.用户设置.软件的配置) HKEY_CLASSES_ROOT 超级管理员.系 ...
- python小题目练习(六)
需求:编写一个猜数字的小游戏,随机生成1到10(包含1和10)之间的数字作为基准数,玩家每次通过键盘输入一个数字,如果输入的数字跟基准数相同,则闯关成功,否则重新输入,如果玩家输入的是-1,则表示退出 ...
- Arrays.asList的使用
Arrays.asList的作用是将数组转化为list,一般是用于在初始化的时候,设置几个值进去,简化代码,省去add的部分. 示例: List<String> menuList = Ar ...
- [.NET6]使用ML.NET+ONNX预训练模型整活B站经典《华强买瓜》
最近在看微软开源的机器学习框架ML.NET使用别人的预训练模型(开放神经网络交换格式.onnx)来识别图像,然后逛github发现一个好玩的repo.决定整活一期博客. 首先还是稍微科普一下机器学习相 ...
- c# SerialPort HEX there is no data received
C#窗口程序进行串口通信,按照串口通信协议,设置com口,波特率,停止位,校验位,数据位,本地虚拟串口调试ok,但是和外设调试时,发送HEX模式数据命令,没有数据返回, 所以关键问题在于HEX模式,发 ...
- 记一次react-hooks项目获取图表图片集合并生成pdf的需求
需求: 获取子组件中所有图片的dom元素并生成图片,再把生成的图片转化为pdf下载 难点 众所周知,react是单向数据流,倡导f(data)⇒ UI的哲学, 并不建议过多直接操作dom,但是生成图片 ...
- 初学者对html的认知
首先是关于本人对一个新事物的理解路线 对html的认知: what:首先我得知道它是什么?html是一门超文本标记语言,它不是一门编程语言 why:它为什么会存在?它存在的意义是什么?随着互联网的发展 ...
- DP问题大合集
引入 动态规划(Dynamic Programming,DP,动规),是求解决策过程最优化的过程.20世纪50年代初,美国数学家贝尔曼(R.Bellman)等人在研究多阶段决策过程的优化问题时,提出了 ...