MAC地址表、端口安全、MAC地址偏移

MAC地址

MAC(Media Access Control Address)地址:网络中每台设备都有一个唯一的网络标识。

1.组成

MAC地址为48位(6字节)

在这里插入图片描述

前24bit是通过向IETF等机构申请用来表示厂商的代码,后24bit是厂商分配给产品的唯一数值。

2.分类

  • 物理MAC地址:MAC地址的第8bit为0,唯一标识以太网上的一个终端,是全球唯一的硬件地址
  • 广播地址:全为1的MAC地址,用来标识LAN上面的所有终端(ffff:ffff:ffff)
  • 组播MAC地址:MAC地址的第8bit为1,标识LAN上面的一组终端

3.交换机对数据帧的三种处理行为

  • 洪泛:从交换机的一个接口收到数据帧,从所有的接口发出(广播帧,组播帧,未知单播帧)
  • 转发:从交换机的一个接口收到数据帧,从其他的特定的接口发出(已知单播帧)
  • 丢弃:从交换机的一个接口收到数据帧,直接丢弃
    • 收到从一个接口的数据帧,又从该接口发出
    • 收到数据帧长度小于64Bit
    • 收到数据帧的数据链路层封装的尾部校验和错误
    • 收到数据帧匹配黑洞表项

3.常见MAC地址

地址 用处
01-00-5E-0X-XX-XX ipv4组播
01-80-C2-00-00-00 STP报文发送目的地
33-33-XX-XX-XX-XX IPV6组播

4.MAC地址表

指导交换机转发数据:

  • 如果MAC地址表中包含与报文目的MAC地址对应的表项,则直接通过该表项中的出接口转发报文
  • 如果MAC地址表中没有包含报文目的MAC地址对应的表项时,设备将采取广播方式在所属VLAN内除接收接口外的所有接口转发该报文。

在这里插入图片描述

MAC地址表分类

(1)动态表项(dynamic)

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

修改老化时间

[Huawei]mac-address aging-time ?
  <0,10-1000000>  Aging-time seconds, 0 means that MAC aging function does not
                  work

(2)静态表项(static)

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

(3)黑洞表项(blockhole)

  • 由用户手工配置,并下发到各接口板,表项不可老化。
  • 配置黑洞MAC地址后,源MAC地址或目的MAC地址是该MAC的报文将会被丢弃。

通过该操作可以过滤非法用户

  • 配置
[Huawei]mac-address blackhole 5489-98c5-46b3 vlan 1
一定要敲vlan,否则无效;没有配置vlan,默认使用vlan 1 转发

在这里插入图片描述

2.端口安全

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

安全MAC地址分类

安全动态MAC地址

  • 使能端口安全而未使能Sticky MAC功能时转换的MAC地址
  • 设备重启会丢失表项,需要重新学习;缺省情况下不会被老化,只有在配置老化时间后才会

安全静态MAC地址

  • 使能端口安全时手工配置的静态MAC地址。
  • 不会被老化,重启后不会表项不会丢失

Sticky MAC地址

  • 使能端口安全后又同时使能Sticky MAC功能后转换到的MAC地址。
  • 不会被老化,重启后不会表项不会丢失
从学习方式看,动态和sticky都是通过接口接收数据帧动态学习到,静态是通过手工配置

从mac地址失效上看,静态和sticky的表项不会在设备重启后失效,动态在设备重启会丢失表项

端口安全保护动作

动作 解释
restrict 丢弃源MAC地址不存在的报文并且上报告警(默认行为)
protect 丢弃源MAC地址不存在的报文
shutdown 接口状态被置为error-down,并上报告警

配置

配置安全MAC功能

interface GigabitEthernet0/0/1		//进入接口
port-security enable      			//使能端口安全
port-security protect-action shutdown		//保护动作为shutdown
port-security aging-time 10			//配置老化时间

在这里插入图片描述

配置Sticky MAC功能

interface GigabitEthernet0/0/2
port-security enable
port-security mac-address sticky		\\使能接口Sticky MAC功能

端口安全经常使用的场景

  • 应用在接入层设备,通过配置端口安全可以防止仿冒用户从其他端口攻击。
  • 应用在汇聚层设备,通过配置端口安全可以控制接入用户的数量。
接入层使用时注意:

如果接入用户变动比较频繁,可以通过端口安全把动态MAC地址转换为安全动态MAC地址。这样可以在用户变动时,及时清除绑定的MAC地址表项。

如果接入用户变动较少,可以通过端口安全把动态MAC地址转换为Sticky MAC地址。这样在保存配置重启后,绑定的MAC地址表项不会丢失。

MAC地址偏移

在这里插入图片描述

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

两个端口都在发送消息时,会使得交换机MAC地址表频繁动荡,修改MAC地址对应的出接口。多次修改后,交换机会察觉到MAC地址发生漂移

出现场景

  • 环路
  • VRRP主备网关的切换
  • 攻击者接入
  • 单机双网卡绑定一个MAC地址

如何避免

  • 提高接口MAC地址学习优先级。当不同接口学到相同的MAC地址表项时,高优先级接口学到的MAC地址表项可以覆盖低优先级接口学到的MAC地址表项,防止MAC地址在接口间发生漂移。
  • 不允许相同优先级的接口发生MAC地址表项覆盖。当伪造网络设备所连接口的优先级与安全的网络设备相同时,后学习到的伪造网络设备的MAC地址表项不会覆盖之前正确的表项。但如果网络设备下电,仍会学习到伪造网络设备的MAC地址,当网络设备再次上电时将无法学习到正确的MAC地址。

解决方案:

1.提高接口MAC地址学习的优先级(默认为0),越大越优先,低优先级不能覆盖高优先级

[Huawei-GigabitEthernet0/0/2]mac-learning priority 3
##配置接口学习MAC地址的优先级,缺省情况下,接口学习MAC地址的优先级为0,数值越大优先级越高

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

undo mac-learning priority 3 allow-flapping 		
##配置不允许相同优先级的接口发生MAC地址漂移

3.IPSG:基于绑定表对IP报文和MAC地址进行匹配检查

[Huawei-vlan1]ip source check  user-bind enable

4.STP等二层破环协议

5.配置MAC-spoofing-defend功能

由于用户侧的行为无法控制,可能发生用户侧仿冒网络侧服务器MAC地址发送报文,造成其他用户无法访问网络侧服务器。使用该命令将网络侧接口配置为信任接口后,该接口学习到的MAC地址在其他接口将不会学习到,可以防止用户侧仿冒网络侧服务器MAC地址发送报文。如果需要将接口配置为信任接口,需要先使用使能全局MAC-spoofing-defend功能。

MAC地址漂移检测

基于全局检测(检测设备上所有的MAC地址是否发生了漂移)

默认开启,默认安全级别是middle:MAC地址发生10次迁移后,系统认为MAC地址漂移

MAC地址漂移的处理动作:触发接口error-down或者退出VLAN操作(缺省情况下没有开启处理动作)

配置:

##接口视图下
mac-address flapping trigger quit-vlan  //发生漂移该接口退出当前VLAN 变更为vlan 1
mac-address flapping trigger error-down		//生漂移将接口down

##全局视图下
mac-address flapping detection			\\配置全局MAC地址漂移检测功能
error-down auto-recovery cause mac-address-flapping interval 50		//接口发生漂移被down后恢复的时间
mac-address flapping quit-vlan recover-time 20		//退出vlan恢复时间,默认为10S
mac-address flapping aging-time 60					//配置MAC地址漂移表项的老化时间,默认为300S

基于VLAN检测(只会检测配置了的VLAN的MAC地址是否发生漂移)

MAC地址漂移的处理动作:触发接口error-down或者发送告警

配置

##VLAN视图下,两种配置方式

loop-detect eth-loop alarm-only  
###一旦交换机检测到该VLAN内发生了MAC地址漂移,交换机仅仅产生相应的告警信息(不会阻塞发生MAC地址漂移的接口)

loop-detect eth-loop block-mac block-time 10 retry-times 2  
###如果检测到漂移则将接口堵塞,接口将被阻塞10s,10s之后接口会被放开并重新进行检测,此时该接口可以正常收发数据;如果20s内没有再检测到MAC地址漂移,则接口的阻塞将被彻底解除;但是如果20s内再次检测到MAC地址漂移,则再次将该接口阻塞,最大重复次数为2次(用retry-times关键字指定),如果交换机依然能检测到该接口发生MAC地址漂移,则永久阻塞该接口。

特殊场景配置

关闭特定的VLAN的MAC地址漂移检测

mac-address flapping detection exclude vlan X 
  • VRRP的场景。
  • Server在这两张网卡上部署了负载分担模式的网卡绑定,即将Eth1及Eth2捆绑成一个逻辑接口,并且将外出的流量在Eth1及Eth2这两个物理接口上进行负载分担。

猜你喜欢

转载自blog.csdn.net/qq_43710889/article/details/112973187