Bootstrap

MAC地址表+端口安全+MAC地址漂移

目录

一、MAC地址表的组成

二、端口安全(Port Security)

三、MAC地址漂移

1、配置接口mac地址学习优先级(MAC地址表就不会被抢占覆盖了)

2、配置不允许相同优先级接口mac地址漂移(不要轻易配置)

四、关于MAC地址知识的总结与思考?


一、MAC地址表的组成

MAC: 48bit 16进制   

前 24bit(OUI,组织(厂商)唯一标识符)

第8bit =0(单播) =1(组播/广播mac)

1、动态表项:

  • 由接口通过报文中的源MAC地址学习获得,表项可老化默认老化时间300S
  • 在系统复位,接口板热插拔或接口板复位后,动态表项会丢失。

2、静态表项:

  • 由用户手工配置,并下发到各接口板,表项不可老化
  • 在系统复位,接口板热插拔或接口板复位后,保存的表项不会丢失。

3、黑洞表项(相当于黑名单):

  • 由用户手工配置,并下发到各接口板,表项不可老化
  • 配置黑洞MAC地址后,源MAC地址或目的MAC地址是该MAC报文将被丢弃
命令汇总: 
dis mac-address //查看mac地址表 
mac-address agin-time <0,10-1000000> //修改mac地址表老化时间配置,默认300S 
mac-address static 5489-aaaa-2301 GigabitEthernet 0/0/1 vlan 1 //配置静态MAC表项 
mac-address blackhole 5489-9873-3B8B vlan 1 //配置会而动MAC表项

1、动态mac表项 dynamic:接口通过报文MAC地址学习获得

dis mac-address 查看mac地址表 
mac-address agin-time <0,10-1000000> 修改mac地址表老化时间配置,默认300S
  • 交换机mac表老化时间300S 如果一直有数据转发,则数据一直更新老化时间一直是300S;
  • 交换机重启或者接口down,表消失
  • 如果mac地址表满了,不能继续学习mac表,不会丢弃报文,会认为是未知单播,则会群发,从除收到接口之外所有接口泛洪群发;
  • mac地址学习是根据源mac进行学习 (dynamici动态)

MAC地址表就是:MAC地址—— 端口—— vlan的映射

华为交换机默认vlan=1

2、静态mac表项:用户手工配置,并下发到各接口板,表项不可老老化,防止mac冒充攻击

静态表项优先于动态表项

mac-address static 5489-aaaa-2301 GigabitEthernet 0/0/1 vlan 1 static(静态)

3、黑洞mac表项:用户手工配置,不可老化,防止虚拟机攻击

相当于配置个黑名单,不论接口,不管源目mac报文都会丢弃(一定要注意vlan x,否则不生效)

mac-address blackhole 5489-9873-3B8B vlan 1 blackhole (黑洞)

二、端口安全(Port Security)

通过将接口学习到的动态mac地址转换为安全地址 (包括安全动态MAC、安全静态MAC和Sticky MAC)阻止非法用户通过本接口和交换机通信,从而增强设备的安全性。

安全MAC地址分类(3类)

  • 动态安全MAC地址

缺点:接口设置为动态安全MAC后,只能允许学习一个MAC作为安全MAC,接口只要down,表项就会消失(会认为是第2个MAC不会学习)

int g0/0/2 port-security enable //敲完这个命令默认只允许一个MAC 安全动态MAC地址 接口down后,表项就消失【缺点】 
port-security aging-time 30 //(单位分钟,默认没有配置 即接口不down就不会不消失)

  • Sticky MAC地址 ---使能端口安全后又同时使能Sticky mac功能后转换到MAC地址 Sticky MAC(黏贴mac)
int g0/0/2 port-security enable //打开安全模式 (默认安全mac为1) 
port-security max-mac-num 3 //最大数量修改为3 
port-security mac-address stick //打开端口安全黏贴功能

接口的MAC地址超出限制后,会ping不通了

超出的流量会进行丢弃,同时产生日志告警

接口达到限制,接口的状态可以是三种状态动作:

  1. restrict 严格,(默认动作,丢弃,同时产生日志告警)【推荐动作】
  2. protect 保护 (报文直接丢弃但是不产生告警)
  3. shutdown 接口down
  • 安全静态MAC地址(手工黏贴Sticky)---使能端口安全时手工配置的静态MAC地址(需要一个一个的敲MAC,不适用人数较多的,但是适用于单独特定MAC) (相当于端口绑定mac)

安全静态MAC和Sticky MAC对比一个是手工黏贴,一个是自动黏贴

int g0/0/2 
port-security enable 
port-security mac-address stick //开启sticky后自动转换成安全mac 
port-security mac-address stick 5489-980c-222 vlan 1 //安全静态mac(需要先开启stick后才能使用)
                                                     //sticky mac和安全静态mac地址是永久的

三、MAC地址漂移

MAC地址漂移是指设备上一个VLAN内有两个端口学习到同一个MAC地址后学习到的MAC地址表项覆盖原MAC地址表项的现象

MAC地址漂移可能出现的场景:

①环路

②AP漫游:AP是接在交换机上的,信号在不同的AP间切换时候就是在切换交换机的端口

③攻击

④VRRP:主备迁移,主交换机出现故障,就会切换为备用交换机,下方的交换机就会在不同端口收到

MAC地址漂移避免机制:

  1. 提高接口MAC地址学习优先级
  2. 不允许相同优先级的接口发生MAC地址表项覆盖

交换机两个接口可以学习到相同的mac,但是两个接口要属于不同的vlan ,相同的vlan则会把mac覆盖掉

MAC表项: MAC地址—— VLAN——接口

单臂路由配置(启用子接口验证两个接口学习到相同MAC):

5489-9845-3b46是路由器的MAC地址

1、配置接口mac地址学习优先级(MAC地址表就不会被抢占覆盖了)

int g0/0/2 mac-learning priority 3 默认情况下mac地址优先级为0 ,越大优先级越高 (优先级高的可以Ping通,优先级低的不通,) undo mac-learning priority

2、配置不允许相同优先级接口mac地址漂移(不要轻易配置)

int g0/0/2 undo mac-learning priority 0 allow-flapping //配置不允许相同优先级的接口发生MAC地址漂移

配置全局mac地址漂移检测(默认开启新版本)

[Huawei]mac-address flapping detection 需检测10次漂移现象才会弹出日志(实验环境下发现 默认只弹出一次日志) [Huawei]mac-address flapping action { error-down | quit-vlan } (缺省只发出告警,模拟器不支持)

老版本:

配置基于VLAN的mac地址漂移检测(老版本开启mac地址漂移检测)(先学习到的MAC地址就是合法的,后学习的MAC地址就是非法的)

[Huawei]vlan 1 [Huawei]loop-detect eth-loop alarm-only 或者 [Huawei-vlan1]loop-detect eth-loop block-time 10 retry-times 2 //配置MAC地址漂移检测功能,检测到mac漂移后阻塞接口10S,重试2次,如果监测到2次后仍然漂移则一直永久阻塞(block forever) //如果接口一直被阻塞,需要全局 reset loop-detect eth-loop vlan 1 all 才可以恢复被阻塞的接口,shut/undo shut无用。

四、关于MAC地址知识的总结与思考?

1、任何一个MAC地址前24bit都代表OUI吗?     

广播和组播就不是

2、PC是否有MAC地址表?     

PC没有,但是有ARP表(window的arp表老换时间20分钟,通过arp -s可配置静态arp表项)

3、PC arp表里面是否会存在非直连网段对应的ARP表项?

不存在(只要有网关的MAC就可以了)

4、PC是否有路由表?

PC有路由表,也可以手动添加

5、MAC地址漂移是否一定是攻击或环路?

不一定(VRRP主备切换就会发生MAC地址漂移/AP漫游也会发送MAC地址漂移)

6、数据封装过程?

报文+应用层+传输层(TCP/UDP)+网络层(IP)+数据链路层(MAC地址)

7、报文的二层封装一定是MAC地址吗?

不一定,以太网就MAC封装,串行接口使用PPP封装,其他的还可以封装HDLC或者FR

8、什么是BUM帧?

broadcast(广播) unknown(未知) multcast(组播)

9、当交换机MAC地址表满了后,交换机在收到报文如何处理?

泛洪,会认为是未知单播,则会群发

10、一个MAC地址在同一台交换机上只能对应一个接口吗 ?

MAC不一定可以存在于多个接口,但是要是不同的VLAN

11、交换机MAC地址表有哪些表项?

MAC地址表由 MAC地址+接口号+Vlan 组成

12、交换机如何构建MAC地址表项? 

根据收到的广播报文将源MAC地址与接口、vlan对应生成表

;