以太网交换安全:MAC地址表安全
一、MAC地址表安全
MAC地址表安全是网络安全中的一个重要方面,它涉及到网络设备的MAC地址表的管理和保护。以下是对MAC地址表安全的详细介绍:
(1)基本概念
定义:MAC地址表是网络设备(如交换机)用于记录网络中各设备MAC地址与端口对应关系的表格。通过MAC地址表,交换机能够决定数据包的转发路径。
作用:MAC地址表帮助网络设备高效地转发数据包到正确的目的地,同时防止未经授权的设备接入网络,提高网络的安全性和性能。
(2)类型作用
静态MAC地址表:由管理员手工配置,将特定MAC地址与端口绑定,不会自动老化或丢失。这种类型的表项通常用于确保关键设备的稳定连接。
动态MAC地址表:通过学习网络流量中的源MAC地址自动生成,可以老化和丢失。适用于动态变化的网络环境。
黑洞MAC地址表:由管理员配置,用于丢弃匹配特定MAC地址的数据包,常用于隔离恶意设备或防止广播风暴。
(3)安全功能
防止非法修改:通过将关键设备的MAC地址配置为静态表项,防止这些表项被非法修改。
限制MAC地址学习:为了防止设备学习到非法的MAC地址,可以选择关闭指定接口或VLAN的MAC地址学习功能。
配置MAC地址学习限制:为了防止MAC地址表项过多导致的资源耗尽,可以设置接口的MAC地址学习数量限制,并配置超过限制后的动作。
(4)实验操作
配置静态MAC表项:通过命令行界面手动添加静态MAC地址表项,绑定端口和MAC地址。
配置黑洞MAC表项:设置黑洞MAC地址,使匹配该地址的数据包被丢弃。
调整动态MAC表项老化时间:根据网络需求调整动态MAC地址表项的老化时间,以优化网络性能和安全性。
(5)应用场景
网络隔离:在需要高度安全隔离的网络环境中,如金融系统、政府机构等,使用静态和黑洞MAC地址表来增强安全性。
企业网络管理:在大型企业网络中,通过配置基于接口的MAC地址学习限制,防止非信任设备接入网络,保护企业网络安全。
数据中心:在数据中心环境中,通过配置安全MAC功能,限制接入设备的MAC地址数量,防止恶意攻击和网络拥塞。
MAC地址表项有以下3种类型。
(1)静态MAC地址表项:由用户手动配置并下发到各接口板,表项不可老化。在系统复位、接口板热插拔或接口板复位后,保存的表项不会丢失。接口和MAC地址静态绑定后,其他口收到源MAC 地址是该 MAC的报文将会被丢弃。
(2)黑洞 MAC地址表项:由用户手动配置,并下发到各接口板,表项不可老化。配置黑洞 MAC地址后,源MAC地址或目的MAC地址是该MAC的报文将会被丢弃。
(3)动态MAC地址表项:由接口通过报文中的源MAC地址学习获得,表项可老化。在系统复位、接口板热插拔或接口板复位后,动态表项会丢失。
(4)实现MAC地址表安全功能
1)静态MAC地址表项:将一些固定的上行设备或者信任用户的MAC地址配置为静态MAC地越表项可以保证其安全通信。
2)黑洞MAC地址表项:防止黑客通过MAC地址攻击网络,交换机对来自黑洞MAC或者去往黑洞MAC的报文采取丢弃处理.
3)动态MAC地址表项:合理配置动志MAC地址表项的老化时间,可以防止MAC地址爆炸塔长
4)禁止MAC地址学习功能:对于网络环境固定的场景或者已经明确转发路径的场置,通过配置止MAC地址学习功能,可以限制非信任用户接入,防止MAC迪址攻击提高网络的安全性。
5)限制MAC地址学习数量:在安全性较差的网络环境中,通过限制MAC地址学习的数量,可以防止攻击者通过变换MAC地址进行攻击。
二、实验

(1)配置LSW1的G0/0/1接口的最大MAC地址学习数量为1

[LSW1]int g0/0/1
[LSW1-GigabitEthernet0/0/1]mac-limit maximum 1 //最大MAC地址学习数量为1
然后使用PC1去访问PC4,再去查看LSW1的MAC地址表


可以看到LSW1的G0/0/1接口学习到PC1的MAC地址表
使用PC2去访问PC4时后可以看到,LSW1的地址表还是原来的地址表,说明MAC地址数量限制成功


(2)将攻击者的MAC地址设置为黑洞MAC地址
![]()
[LSW1]mac-address blackhole 5489-9859-7A8C vlan 1
查看地址表

可以看到攻击者的MAC地址类型为blackhole,该攻击者访问任意一个设备都会无法访问

(3)将PC4的MAC地址静态绑定到LSW1的G0/0/3接口
![]()

可以看到PC4的MAC地址类型为静态MAC地址
三、总结
总的来说,MAC地址表安全通过多种方式来确保网络的安全性和稳定性。这些措施共同构成了一个强大的安全防护体系,有效地防止了网络攻击和非法访问,保障了网络的正常运行和数据传输的安全
相关文章:
以太网交换安全:MAC地址表安全
一、MAC地址表安全 MAC地址表安全是网络安全中的一个重要方面,它涉及到网络设备的MAC地址表的管理和保护。以下是对MAC地址表安全的详细介绍: (1)基本概念 定义:MAC地址表是网络设备(如交换机࿰…...
CSS综合页布面局案例
写的比较一般,如果想要参考可以点击链接。 CSS综合案例(登录页面)资源-CSDN文库 引言: 我们学习CSS和HTML都是为了想要做一个网页布局,但是每逢上手可能就会需要查阅很多语言,我觉得是没有什么问题的,熟能生巧,编程是需要练的,但是写网页的时候需要实现某个效果时需…...
低代码可视化-UniApp二维码可视化-代码生成器
市面上提供了各种各样的二维码组件,做了一简单的uniapp二维码组件,二维码实现依赖davidshimjs/qrcodejs。 组件特点 跨浏览器支持:利用Canvas元素实现二维码的跨浏览器兼容性,兼容微信小程序、h5、app。 无依赖性:QR…...
Electron 使用 Nodemon 配置自动重启
在Electron项目中,每次修改了代码都需要手动关闭应用,再执行npm start重启应用。 Nodemon 是一个非常实用的工具,主要用于在开发 Node.js 应用时自动监测文件的变化并重新启动服务器。 安装nodemon 开发环境安装nodemon: npm …...
JVM和GC监控技术
一、监控技术简介 JVM是什么?项目里面有JVM吗?JVM跟Tomcat有什么关系?为什么需要去分析JVM? 1. JVM(全称:Java Virtual Machine),Java虚拟机 是Java程序运行的环境,它是一个虚构的计算机&…...
Android中级控件
文章目录 图形定制1.图形Drawable2.形状图像3.九宫格图片4.状态列表图形 选择按钮1.复选框CheckBox2.开关按钮Switch3.单选按钮 文本输入1.编辑框EditText2.焦点变更监听器3.文本变化监听器 对话框1.提醒对话框2.日期对话框DatePickerDialog3.时间对话框TimePickerDialog 图形定…...
WebSocket消息防丢ACK和心跳机制对信息安全性的作用及实现方法
WebSocket消息防丢ACK和心跳机制对信息安全性的作用及实现方法 在现代即时通讯(IM)系统和实时通信应用中,WebSocket作为一种高效的双向通信协议,得到了广泛应用。然而,在实际使用中,如何确保消息的可靠传输…...
生信初学者教程(二十二):Boruta+RF筛选候选标记物
文章目录 介绍加载R包导入数据准备数据机器学习特征筛选数据分割基础模型Boruta特征筛选调参最终分类模型测试集验证标记基因输出结果总结介绍 采用了Boruta结合 RF(Random Forest) 的方法,对差异基因(参考 @sec-different-limma) 进行了特征筛选。通过这种方法,能够从大…...
JVM Class类文件结构
国庆节快乐 2024年10月2日17:49:22 目录 前言 magic 数 文件版本 使用JClassLib观察class文件 一般信息 接口 常量池 字段 方法 常量池计数器 常量池 类型 CONSTANT_Methodref_info CONSTANT_Class_info 类型结构总表 访问标志 类索引, …...
解决 GitHub 文件大小限制的问题
要解决 GitHub 文件大小限制的问题,可以使用 Git Large File Storage (Git LFS)。以下是设置步骤: 安装 Git LFS: 对于 macOS:brew install git-lfs对于 Windows:从 Git LFS官网 下载并安装。 初始化 Git LFSÿ…...
wordpress源码资源站整站打包32GB数据,含6.7W条资源数据
源码太大了,足足32gb,先分享给大家。新手建立资源站,直接用这个代码部署一下,数据就够用了。辅助简单做下seo,一个新站就OK了。 温馨提示:必须按照顺序安装 代码下载...
金融领域的人工智能——Palmyra-Fin 如何重新定义市场分析
引言 DigiOps与人工智能 正在改变全球各行各业,并带来新的创新和效率水平。人工智能已成为金融领域的强大工具,为市场分析、风险管理和决策带来了新方法。金融市场以复杂性和快速变化而闻名,人工智能处理大量数据并提供清晰、可操作的见解的…...
STL--string类
我们从这篇文章之后就正式开始学习STL的string,字面看起来是不是像C语言里面的字符串之类的处理方法,是的,C里面也是对字符串的一些处理函数,但是C有很多这样的函数,给大家推荐一个网站 ,这个网站是C的官网…...
iptables 的NDAT报错bash: 9000: command not forward
外网主机设置: iptables -t nat -A PREROUTING -d 192.168.3.51 -p tcp --dport 9000 -j DNAT --to-destination 192.168.3.61:22 本地shell连接: PS C:> ssh root192.168.3.51 9000 显示如下操作: PS C:> ssh root192.168.3.51 9000…...
快速了解:MySQL InnoDB和MyISAM的区别
目录 一、序言二、InnoDB和MyISAM对比1、InnoDB特性支持如下2、MyISAM特性支持如下 三、两者核心区别1、事务支持2、锁机制3、索引结构4、缓存机制5、故障恢复6、使用场景 一、序言 在MySQL 8.0中,InnoDB是默认的存储引擎。除了InnoDB,MySQL还支持其它的…...
TI DSP TMS320F280025 Note14:模数转换器ADC原理分析与应用
TMS320F280025 模数转换器ADC原理分析与应用 ` 文章目录 TMS320F280025 模数转换器ADC原理分析与应用逐次比较型ADC和双积分型ADC工作原理逐次比较型 ADC双积分型 ADC280025ADCADC原理分析ADC时钟SOCSOC内部原理ADC触发方式ADC采集(采样和保持)窗口通道寄生电容基准电压发生器模…...
【C++前缀和】2845. 统计趣味子数组的数目|2073
本文涉及的基础知识点 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LeetCode 2845. 统计趣味子数组的数目 难度分:2073 给你一个下标从 0 开始的整数数组 nums ,以及整数 modulo 和整数 k 。 请你找出并统计数组…...
C++入门基础 (超详解)
文章目录 前言1. C关键字2. C的第一个程序3. 命名空间3.1 namespace的定义3.2 命名空间的嵌套3.3 命名空间使用3.4 查找优先级总结 4. C输入和输出4.1 标准输入输出 (iostream库)4.2 文件输入输出 (fstream库)4.3 字符串流 (sstream库)4.4 C格式化输出4.5 std::endl和\n的区别 …...
docker零基础入门教程
注意 本系列文章已升级、转移至我的自建站点中,本章原文为:Docker入门 目录 注意1.前言2.docker安装3.docker基本使用4.打包docker镜像5.docker进阶 1.前言 如果你长期写C/C代码,那你应该很容易发现C/C开源项目存在的一个严重问题ÿ…...
【Java SE 题库】移除元素(暴力解法)--力扣
🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 目录 1. 题目 2. 解法(快慢“指针”) 3. 源码 4. 小结 1. 题目 给你一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素。元素的顺…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
