概述
一个心胸狭隘的人讲不出来大格局的话,一个没有使命感的人呢讲不出来有责任的话。—翟鸿燊
文章目录
- 一、MAC地址表
- 二、拓扑
- 三、基础配置与分析
- 四、SW的数据转发
- 五、MAC地址表安全
- 5.1 攻击原理
- 5.2 防御措施
一、MAC地址表
1、作用: MAC表记录了相连设备的MAC地址、接口号以及所属的VLAN ID之间的对应关系。在转发数据时, 路由设备根据报文中的目的MAC地址查询MAC地址表,快速定位出接口,从而减少广播。
2、分类:
(1)动态表项由接口通过源MAC地址学习获得,表项有老化时间。
(2)静态表项由用户手工配置,并下发到各接口板,表项不老化。
(3)黑洞表项用于丢弃含有特定源MAC地址或目的MAC地址的数据帧,由用户手工配置,并下发到各接口板,表项不老化。
3、形成
(1)自动生成:
MAC表是SW通过源MAC地址学习过程而自动建立的,MAC表中自动生成的表项并非永远有效,每一条表项都有一个生存周期,到达生存周期仍得不到刷新的表项将被删除,这个生存周期被称作老化时间(默认300S)。如果在到达生存周期前记录被刷新,则该表项的老化时间重新计算。
(2)手工配置:
SW通过源MAC地址学习自动建立MAC地址表时,无法区分合法用户和黑客用户的报文,带来了安全隐患。如果黑客用户将攻击报文的源MAC地址伪装成合法用户的MAC地址,并从设备的其它接口进入,设备就会学习到错误的MAC表项,于是就会将本应转发给合法用户的报文转发给黑客用户。
为了提高接口安全性,网络管理员可手工在MAC表中加入静态MAC地址表项,将用户与接口绑定,从而防止假冒身份的非法用户骗取数据。通过手工配置黑洞MAC,可以限制指定用户的流量不能从设备通过,防止非法用户的攻击。
注意: 手工配置的MAC表项优先级高于自动生成的表项;且手动配置的MAC地址会随配置文件一起保存而不会老化。
4、SW基于MAC表的报文转发
(1)单播方式:当MAC地址表中包含与报文目的MAC地址对应的表项时,设备直接将报文从该表项中的转发出接口发送。
(2)广播方式:当设备收到的报文为广播报文、组播报文或MAC地址表中没有包含对应报文目的MAC地址的表项时,设备将采取广播方式将报文向除接收接口外同一VLAN(本广播域)内的所有接口转发。
二、拓扑
三、基础配置与分析
SW所有接口类型无需更改,默认VLAN 1即可,所有PC属于192.168.1.0/24
1、MAC地址表老化时间调整
修改SW-1的MAC地址表老化时间为10000S
[SW-1]mac-address aging-time 10000
//修改本SW的动态MAC地址表的老化时间为10000(默认300S,取值范围为10----100000S)
2、关闭动态MAC地址学习功能
(1)对于SW-1的G0/0/1接口关闭MAC地址学习能力,默认数据执行丢弃动作
[SW-1]int g0/0/1
[SW-1-GigabitEthernet0/0/1]mac-address learning disable //关闭本接口的mac地址动态学习功能
(2)图式PC-1是合法用户,保证其在G0/0/1接口下的正常通信;使得PC-2通信失败
[SW-1]mac-address static 5489-980F-0D0C GigabitEthernet 0/0/1 vlan 1
//将MAC地址5489-980F-0D0C静态映射到vlan 1下属的接口G0/0/1
[SW-1]mac-address blackhole 5489-9854-080E
//针对VLAN X所属接口接收到的源MAC地址为5489-9854-080E的数据扔向“黑洞”等同于丢弃此源MAC地址的数据。
验证:
PC-1 ping测 PC-6
PC-2 ping测 PC-6
从以上输出结果可以看出,需求已实现。
dis mac-address
3、部署黑洞MAC地址表
SW-1下的PC-6为攻击者,通过配置黑洞MAC地址表,阻止PC-6的数据经过SW-1转发
[SW-1]mac-address blackhole 5489-98A4-1EB7
5489-98A4-1EB7为PC-6的mac地址
dis mac-address
4、部署静态MAC地址
在SW-2上,PC-3的MAC地址通过静态方式和SW-2的vlan 1下的G0/0/3接口做绑定
配置完成后测试PC-3是否能和其他人正常通信,如若不能,请正确连线
[SW-2]mac-address static 5489-982C-1B22 GigabitEthernet 0/0/3 vlan 1
不能和其他人正常通信;
需要通过静态方式和SW-2的vlan 1下的G0/0/1接口做绑定。
[SW-2]undo mac-address static 5489-982c-1b22 GigabitEthernet0/0/3 vlan 1
[SW-2]mac-address static 5489-982c-1b22 GigabitEthernet0/0/1 vlan 1
修改之后,能和其他人正常通信;
5、限制MAC地址学习数量
在SW-3的G0/0/1下开启动态MAC地址学习最大数量为 1。
PC-4为合法用户,保证PC-4的MAC地址被SW-3的动态MAC地址表学习到。
[SW-3]int g0/0/1
[SW-3-GigabitEthernet0/0/1]mac-limit maximum 1 //对本g0/0/1的mac地址最大学习数量为1,超过的不再学习
dis mac-address
四、SW的数据转发
问:交换机如何识别二层转发和三层转发?
交换机根据收到的单播帧的目的 MAC 来判断是进行二层转发或三层转发。当收到的目的 MAC 是 Vlanif 对应的 MAC 时就是三层转发。否则就是二层转发。
1、SW指导数据转发的表项是什么,如何形成的?
表项:MAC地址表
形成:MC地址条目
(1)动态学习
(2)手动配置
2、SW对于动态构成的转发表项条目默认保存时间为多少? 如何刷新的
MAC动态学习与转发
(1)学习–查看数据帧的源MAc地址
① 每一个MAC条目有一个单独的计时器—300S
如果连续老化时间超时之内没有这个源MAC地址的数据经过,老化时间结束后删除对应的条目;对应条目的数据转发就是MAC老化计时器的刷新
② 学习的顺序
动态MAC地址如果接口发生变化,后学习到的生效----覆盖
③ 静态与动态的优先级
静态优于动态
(2)转发–查看数据帧的目的MAC地址
3、SW对于组播广播和未知单播帧做如何处理
广播----默认泛洪
组播----默认泛洪
单播----已知单播----单播发送
未知单播----泛洪
对于未知数据----泛洪
4、MAC地址的三种类型
(1)动态MAC地址表
(2)静态MAC地址表
(3)黑洞MAC地址表(blackhole)
五、MAC地址表安全
5.1 攻击原理
由于MAC表的容量是有限的,当黑客伪造大量源MAC地址不同的报文并发送到设备后,设备上的MAC地址表项资源可能会被耗尽。此时即使它收到正常的报文,也无法学习到报文中的源MAC地址。
5.2 防御措施
对MAC地址学习进行限制
1、基于VLAN或接口关闭学习MAC能力
(1) 关闭学习MAC能力后,则接口将不再自动学习到新的动态MAC表项,之前学习到的动态表项可以等待老化。
(2) 关闭学习功能后默认情况SW对于接收到的数据帧的源MAC地址不存在MAC地址表的默认动作为转发,可以设定对于源mac地址不存在表的情景设定丢弃。
(3)接口下执行MAC地址学习能力此命令针对此接口生效,VLAN下执行此命令针对VLAN下的所有接口生效。
2、基于VLAN或接口进行MAC地址数限制
(1) VLAN或接口学习动态MAC表项的最大数目。当VLAN或接口学习到的MAC表项达到最大数目,则该VLAN或接口将不能再学习新的MAC表项,直到它以前学习到的MAC表项老化。
(2)关闭学习功能后默认情况SW对于接收到的数据帧的源MAC地址不存在MAC地址表的默认动作为转发,可以设定对于源mac地址不存在表的情景设定丢弃。
[SW-1-vlan1]mac-limit maximum 1 alarm enable //限制本vlan 1mac地址最大学习数量为1,超过触发告警信息
3、手动配置MAC地址
(1)黑洞MAC地址
发往黑洞的的数据黑被网络转发设备丢弃,是有效防止各种二层泛洪攻击的有效手段。
(2) 静态部署MAC地址表
静态MAC地址映射表优于动态MAC地址表;
如果已经通过静态部署了指定MAC地址与接口的对应关系,无法再被动态刷新。
(3) 调整MAC地址表的老化时间
① 动态学习到的MAC地址保存与SW的内存(RAM)当中,设备断电及重启或者老化时间到了之后动态MAC地址表会被清空
② 老化时间是针对MAC地址条目来说的,不是针对MAC地址表。
③ 默认老化时间为300S,调整为0S表示此SW的动态MAC地址表里的条目不再老化,在设备加电开机期间会一直保留条目(当然还是可以使用 und mac-address 来清空mac地址表的)
本人所有文章都受版权保护,著作权归艺博东所有!未经授权,转载必究或附上其原创链接。
最后
以上就是专注冥王星为你收集整理的SW转发与MAC地址表的全部内容,希望文章能够帮你解决SW转发与MAC地址表所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复