以太网交换安全:端口安全
一、端口安全介绍
端口安全是一种网络设备防护措施,通过将接口学习到的动态MAC地址转换为安全MAC地址(包括安全动态MAC和Sticky MAC),阻止除安全MAC和静态MAC之外的主机通过本接口和设备通信,从而增强设备的安全性。以下是对它的详细介绍:
- 基本原理:端口安全通过记录连接到交换机端口的以太网MAC地址(网卡号),并只允许特定的MAC地址通过本端口通信来实现安全控制。当其他MAC地址尝试通过该端口时,会被阻止,从而防止非法设备的接入和数据包的传输。
- 主要功能:端口安全能够限制特定端口上可以学习和接受的MAC地址数量,超过这个数量后,新的MAC地址将无法通过该端口进行通信。当检测到非法MAC地址或未授权的设备试图通过端口时,端口安全机制会采取一系列保护措施,如丢弃非法报文、发送警告消息等。
- 应用场景:端口安全技术广泛应用于各种需要严格网络安全控制的场合,如企业网络、数据中心、教育机构等。在无线网络环境中,端口安全同样发挥着重要作用,通过与802.1X认证、MAC地址过滤等技术结合,确保无线网络的安全性。
- 配置方式:管理员可以通过静态绑定的方式,手动指定允许通过特定端口的MAC地址,这种方式适用于固定不变的网络环境。对于动态变化的网络环境,可以采用动态学习的方式,让交换机自动学习并记录通过端口的MAC地址。
- 违规动作:当端口接收到未经允许的MAC地址流量时,交换机会根据预先设置的策略执行相应的违规动作,如关闭端口、发送警告消息等。
- 安全优势:端口安全能够有效防止未经授权的设备接入网络,减少潜在的安全风险。通过对端口上的MAC地址进行严格控制,可以有效防止MAC地址泛洪攻击,保护网络的稳定性和可用性。
- 安全挑战:随着网络环境的不断变化和发展,端口安全策略可能需要不断调整和优化,以应对新的安全威胁和挑战。虽然端口安全能够提供一定程度的安全保障,但仍需与其他安全技术和管理措施相结合,形成多层次、全方位的安全防护体系。
二、安全MAC地址的分类
安全MAC地址主要分为安全动态MAC地址、安全静态MAC地址和Sticky MAC地址三类。以下是对这三类地址的详细介绍:
- 安全动态MAC地址:当使能端口安全但未使能Sticky MAC功能时,接口上学习到的动态MAC地址会被转换为安全动态MAC地址。在设备重启后,这些表项会丢失,需要重新学习。缺省情况下,这些地址不会被老化,除非配置了安全MAC的老化时间。安全动态MAC地址的老化类型分为绝对时间老化和相对时间老化。
- 安全静态MAC地址:当使能端口安全时,可以通过手工配置的方式设置静态MAC地址。这些地址不会因设备的老化或重启而失效,提供了更高的安全性和稳定性。
- Sticky MAC地址:当使能端口安全后又同时使能Sticky MAC功能时,接口上的安全动态MAC地址表项将转化为Sticky MAC地址。这些地址也不会因设备的老化或重启而失效,同样提供了高度的安全性和稳定性。
三、实验

实验目的:
掌握交换机端口安全的基本配置
实验步骤:
1. 配置S1的G0/0/1口的端口安全
2. 使用PC1、PC2访问PC4,查看S1的mac地址表
3. 在S2设备上接入一台非法设备,尝试访问PC4
4. 配置S1的G0/0/2口为安全静态mac
5. 配置S1的G0/0/3口为sticky mac
(1)配置G0/0/1的端口安全,设置它的MAC地址最大学习数量为2,设置它的安全动作为shutdwon关闭接口

[S1]int g0/0/1
[S1-GigabitEthernet0/0/1]port-security enable //开启端口安全功能
[S1-GigabitEthernet0/0/1]port-security max-mac-num 2 //限制最大学习数量为2
[S1-GigabitEthernet0/0/1]port-security protect-action shutdown //配置安全保护动作为shutdown
配置完后,去ping10.1.1.4,将PC1和PC2的MAC地址学习到MAC地址表里去


可以看到PC1和PC2的MAC地址已经学习到地址表里了,这时我们就可以去用攻击者去ping10.1.1.4,就会执行设置的安全动作关闭接口


可以看到G0/0/1的接口已经关闭说明我们的安全设置已经完成
注:要打开接口可以进入G0/0/1的接口用restart来打开接口

(2)配置S1的G0/0/2接口为安全静态MAC地址

安全静态MAC地址(手动粘贴),首先开启粘贴(sticky)功能,手动将MAC地址配置到VLAN1上
[S1]int g0/0/2
[S1-GigabitEthernet0/0/2]port-security enable //开启端口安全功能
[S1-GigabitEthernet0/0/2]port-security mac-address sticky //开启粘贴MAC功能
[S1-GigabitEthernet0/0/2]port-security mac-address sticky 5489-9809-5783 vlan 1 //配置VLAN 1的安全静态MAC地址
[S1-GigabitEthernet0/0/2]port-security max-mac-num 1 //限制最大学习数为1
我们可以发现即使没有进行通信我们也可以直接查看到G0/0/2上有MAC地址,所以MAC地址已经被静态绑定到G0/0/2上了
(3)配置S1的G0/0/3接口为sticky mac

配置sticky MAC(自动粘贴),首先开启sticky功能,然后进行通信,将MAC地址自动粘贴到MAC地址表上
[S1]int g0/0/3
[S1-GigabitEthernet0/0/3]port-security enable
[S1-GigabitEthernet0/0/3]port-security mac-add sticky
[S1-GigabitEthernet0/0/3]port-security max-mac-num 1
我们可以看到PC4没去通信之前,MAC地址表是没有G0/0/3所对应的MAC地址


可以看到通信之后,MAC地址表上G0/0/3学习到了MAC地址
四、总结
端口安全作为一种重要的网络安全技术手段,在保护网络免受未经授权访问和潜在安全威胁方面发挥着关键作用。
相关文章:
以太网交换安全:端口安全
一、端口安全介绍 端口安全是一种网络设备防护措施,通过将接口学习到的动态MAC地址转换为安全MAC地址(包括安全动态MAC和Sticky MAC),阻止除安全MAC和静态MAC之外的主机通过本接口和设备通信,从而增强设备的安全性。以…...
[题解] Codeforces Round 976 (Div. 2) A ~ E
A. Find Minimum Operations 签到. void solve() {int n, k;cin >> n >> k;if (k 1) {cout << n << endl;return;}int ans 0;while (n) {ans n % k;n / k;}cout << ans << endl; }B. Brightness Begins 打表发现, 翻转完后的序列为: 0…...
【零基础入门产品经理】学习准备篇 | 需要学一些什么呢?
前言: 零实习转行产品经理经验分享01-学习准备篇_哔哩哔哩_bilibili 该篇内容主要是对bilibili这个视频的观后笔记~谢谢美丽滴up主友情分享。 全文摘要:如何在0实习且没有任何产品相关经验下,如何上岸产品经理~ 目录 一、想清楚为什么…...
第四届机器人、自动化与智能控制国际会议(ICRAIC 2024)征稿
第四届机器人、自动化与智能控制国际会议(ICRAIC 2024)由湖南第一师范学院主办,南京师范大学、山东女子学院、爱迩思出版社(ELSP)协办。 大会将专注于机器人、数字化、自动化、人工智能等技术的开发和融合,…...
[数据集][目标检测]电力场景防震锤缺陷检测数据集VOC+YOLO格式705张1类别
重要说明:防震锤缺陷图片太难找,数据集里面存在大量单一场景图片,请仔细查看图片预览谨慎下载,此外数据集均为小目标检测,如果训练map偏低属于正常现象 数据集格式:Pascal VOC格式YOLO格式(不包含分割路径…...
【SpringBoot】
目录 一、Spring Boot概要 1. SpringBoot介绍 2. SpringBoot优点 3. SpringBoot缺点 4. 时代背景-微服务 二、Spring Boot 核心配置 1. Spring Boot配置文件分类 1.1 application.properties 1.2 application.yml 1.3 小结 2. YAML概述 3. YAML基础语法 3.1 注意事…...
Linux操作系统中MongoDB
1、什么是MongoDB 1、非关系型数据库 NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问…...
2、.Net 前端框架:OpenAuth.Net - .Net宣传系列文章
OpenAuth.Net 是一个开源的身份验证框架,由开发者 Yubaolee 创建,它旨在简化 Web 应用和服务的安全授权过程。这个框架以其强大的功能和易用性,为开发人员提供了一种高效的方式来处理用户认证和授权问题。 OpenAuth.Net 的关键特性包括&#…...
unreal engine5制作动作类游戏时,我们使用刀剑等武器攻击怪物或敌方单位时,发现攻击特效、伤害等没有触发
UE5系列文章目录 文章目录 UE5系列文章目录前言一、问题分析二、解决方法1. 添加项目设置碰撞检测通道2.玩家角色碰撞设置3.怪物角色碰撞预设 最终效果 前言 在使用unreal engine5制作动作类游戏时,我们使用刀剑等武器攻击怪物或敌方单位时,发现攻击特效…...
数据权限的设计与实现系列11——前端筛选器组件Everright-filter集成功能完善2
筛选条件数据类型完善 文本类 筛选器组件给了一个文本类操作的范例,如下: Text: [{label: 等于,en_label: Equal,style: noop},{label: 等于其中之一,en_label: Equal to one of,value: one_of,style: tags},{label: 不等于,en_label: Not equal,v…...
C++ 游戏开发
C游戏开发 C 是一种高效、灵活且功能强大的编程语言,因其性能和控制能力而在游戏开发中被广泛应用。许多著名的游戏引擎,如 Unreal Engine、CryEngine 和 Godot 等,都依赖于 C 进行核心开发。本文将详细介绍 C 在游戏开发中的应用࿰…...
【历年CSP-S复赛第一题】暴力解法与正解合集(2019-2022)
P5657 [CSP-S2019] 格雷码P7076 [CSP-S2020] 动物园P7913 [CSP-S 2021] 廊桥分配P8817 [CSP-S 2022] 假期计划 P5657 [CSP-S2019] 格雷码 暴力50分 #include<bits/stdc.h> #define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0) #define int long long #d…...
基于PyQt5和SQLite的数据库操作程序
基于PyQt5和SQLite的数据库操作程序:功能解析 在现代办公和数据处理中,数据库操作是不可或缺的一部分。然而,传统的数据库管理工具往往界面复杂,操作繁琐,对于非专业人士来说存在一定的学习曲线。为了解决这个问题,我们开发了一款基于PyQt5和SQLite的数据库操作程序。该…...
在Ubuntu 20.04中安装CARLA
0. 引言 CARLA (Car Learning to Act) 是一款开源自动驾驶模拟器,其支持自动驾驶系统全管线的开发、训练和验证(Development, Training, and Validation of autonomous driving systems)。Carla提供了丰富的数字资产,例如城市布局…...
【高中数学/对数/导数】曲线y=ln|x|过坐标原点的两切线方程为?
【问题】 曲线yln|x|过坐标原点的两切线方程为?(高考真题) 【出处】 《高考数学 函数与导数题型解题研究》P5第8题 中原教研工作室编著 【解答】 yln|x|的图线分两部分,y轴左边的部分是ylnx的镜像 所以知ylnx上切线过原点的…...
Qt CMake
使用 CMake 构建 CMake 是一款用于简化跨不同平台开发项目的构建流程的工具。 CMake 可自动生成构建系统,如 Makefile 和 Visual Studio 项目文件。 CMake 是一个第三方工具,有自己的文档。 本主题介绍如何在 Qt 5 中使用 CMake 3.1.0。 开始使用 CMak…...
制造企业各部门如何参与生产成本控制与管理?
国内制造业的分量可不轻,从日常生活用品到高端工业设备,中国制造几乎涵盖了各个领域。 不过很多制造业企业在管理方面确实存在一些难题:成本控制不容易,产品质量并不稳定,生产周期也常常较长。 一、中国制造业生产管…...
FireRedTTS - 小红书最新开源AI语音克隆合成系统 免训练一键音频克隆 本地一键整合包下载
小红书技术团队FireRed最近推出了一款名为FireRedTTS的先进语音合成系统,该系统能够基于少量参考音频快速模仿任意音色和说话风格,实现独特的音频内容创造。 FireRedTTS 只需要给定文本和几秒钟参考音频,无需训练,就可模仿任意音色…...
活体检测标签之2.4G有源RFID--SI24R2F+
首先从客户对食品安全和可追溯性的关注切入,引出活体标签这个解决方案。接着分别阐述活体标签在动物养殖和植物产品方面的应用,强调其像 “身份证” 一样记录重要信息,让客户能够了解食品的来源和成长历程,从而放心食用。最后呼吁…...
Web3Auth 如何工作?
Web3Auth 用作钱包基础设施,为去中心化应用程序 (dApp) 和区块链钱包提供增强的灵活性和安全性。在本文档中,我们将探索 Web3Auth 的功能,展示它如何为每个用户和应用程序生成唯一的加密密钥提供程序。 高级架构 Web3Auth SDK 完全存在于用…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
Kafka主题运维全指南:从基础配置到故障处理
#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...
面试高频问题
文章目录 🚀 消息队列核心技术揭秘:从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"?性能背后的秘密1.1 顺序写入与零拷贝:性能的双引擎1.2 分区并行:数据的"八车道高速公路"1.3 页缓存与批量处理…...
6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙
Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...
