网络安全准入技术之MAC VLAN
网络准入控制作为主要保障企业网络基础设施的安全的措施,特别是对于中大型企业来说,终端类型多样数量激增、终端管理任务重难度大、成本高。
在这样的一个大背景下,拥有更灵活的动态识别、认证、访问控制等成为了企业网络安全的最核心诉求之一。今天本文就分享网络准入技术之中的MAC VLAN技术应用。
文章目录
- MAC VLAN产生背景
- MAC VLAN技术优点
- MAC VLAN运行机制
- 静态MAC VLAN
- 手动配置静态MAC VLAN
- 动态触发端口加入静态MAC VLAN
- 动态MAC VLAN
- 推荐阅读
MAC VLAN产生背景
VLAN最常用的划分方式是基于端口划分,该方式按照设备端口来划分VLAN成员,将指定端口加入到指定VLAN中之后,该端口就可以转发该VLAN的报文。该方式配置简单,适用于终端设备物理位置比较固定的组网环境。
但是随着移动办公和无线接入的普及,终端设备不再通过固定端口接入设备,它可能本次使用端口A接入网络,下次使用端口B接入网络。如果端口A和端口B的VLAN配置不同,则终端设备第二次接入后就会被划分到另一VLAN,导致无法使用原VLAN内的资源;如果端口A和端口B的VLAN配置相同,当端口B被分配给别的终端设备时,又会引入安全问题。
如何在这样灵活多变的网络环境中部署VLAN呢?MAC VLAN应运而生。
MAC VLAN是基于MAC划分VLAN,它根据报文的源MAC地址来划分VLAN,决定为报文添加某个VLAN的标签。该功能通常和安全技术(比如802.1X)联合使用,以实现终端的安全、灵活接入。
MAC VLAN技术优点
MAC VLAN具有以下优点:
-
MAC VLAN能够实现精确的接入控制,它能精确定义某个终端和VLAN的绑定关系,从而实现将指定终端的报文在指定VLAN中转发。
-
MAC VLAN能够实现灵活的接入控制,同一终端通过不同端口接入设备时,设备会给终端分配相同的VLAN,不需要重新配置VLAN;而不同终端通过同一端口接入设备时,设备可以给不同终端分配不同的VLAN。
MAC VLAN运行机制
设备是如何根据MAC地址来划分VLAN的呢?当端口收到一个untagged报文后,以报文的源MAC地址为匹配关键字,通过查找MAC VLAN表项来获知该终端绑定的VLAN,从而实现将指定终端的报文在指定VLAN中转发。
MAC VLAN表项有两种生成方式:静态配置和动态配置。
静态MAC VLAN
手动配置静态MAC VLAN
手动配置静态MAC VLAN常用于VLAN中用户相对较少的网络环境。在该方式下,用户需要手动配置MAC VLAN表项,开启基于MAC地址的VLAN功能,并将端口加入MAC VLAN。
其原理为:当端口收到的报文为Untagged报文时,根据报文的源MAC地址匹配MAC VLAN表项。
a. 首先进行模糊匹配,即查询MAC VLAN表中掩码不是全F的表项。将源MAC地址和掩码相与运算后与MAC VLAN表项中的MAC地址匹配。如果完全相同,则模糊匹配成功,为报文添加表项中对应的VLAN Tag并转发该报文。
b. 如果模糊匹配失败,则进行精确匹配,即查询表中掩码为全F的表项。如果报文中的源MAC地址与某MAC VLAN表项中的MAC地址完全相同,则精确匹配成功,为报文添加表项中对应的VLAN Tag并转发该报文。
c. 如果没有找到匹配的MAC VLAN表项,则继续按照其他原则(基于IP子网的VLAN、基于协议的VLAN、基于端口的VLAN)确定报文所属的VLAN,为报文添加对应的VLAN Tag并转发该报文。
当端口收到的报文为Tagged报文时,如果报文的VLAN ID在该端口允许通过的VLAN ID列表里,则转发该报文;否则丢弃该报文。
该方式实现简单,只涉及接入设备,但该方式下需要在终端可能接入的端口手工配置允许终端的MAC VLAN通过,配置量大。
动态触发端口加入静态MAC VLAN
手动配置静态MAC VLAN时,如果不能确定从哪些端口收到指定VLAN的报文,就不能把相应端口加入到MAC VLAN。
采用动态触发方式可以将端口自动加入静态MAC VLAN。在该方式下,配置MAC VLAN表项后,需要在端口上开启基于MAC的VLAN功能和MAC VLAN的动态触发功能,不需要手动把端口加入MAC VLAN。
配置动态触发端口加入静态MAC VLAN后,端口在收到报文时,首先判断报文是否携带VLAN Tag,若带VLAN Tag,则直接获取报文源MAC地址;若不带VLAN Tag,则先进行报文VLAN选择(按照基于MAC的VLAN->基于IP子网的VLAN->基于协议的VLAN->基于端口的VLAN的优先次序为该Untagged报文添加对应的VLAN Tag,并获取该VLAN Tag),再获取报文源MAC地址,然后根据报文的源MAC地址和VLAN查询静态MAC VLAN表项:
-
如果报文源MAC地址与MAC VLAN表项中的MAC地址精确匹配,再检查报文的VLAN ID是否与对应表项中的VLAN ID一致。若一致,通过该报文动态触发端口加入相应VLAN,同时转发该报文;否则丢弃该报文。
-
如果报文源MAC地址与MAC VLAN表项的MAC地址不精确匹配,当报文VLAN ID为PVID(Port VLAN ID,端口缺省VLAN),判断端口是否允许报文在PVID内转发。若允许,则在PVID中转发该报文,否则丢弃该报文。当报文VLAN ID不为PVID,判断是否报文VLAN ID为Primary VLAN ID且PVID为对应的Secondary VLAN ID。若是,则转发该报文;否则丢弃该报文。

动态MAC VLAN
动态MAC VLAN是由接入认证过程来动态决定接入用户报文所属的VLAN。该方式下,需要在设备上同时配置MAC VLAN和基于MAC的接入认证方式(比如MAC地址认证或者基于MAC的802.1X认证)。
如果用户发起认证请求,认证服务器会对认证用户名和密码进行验证,如果通过,则会下发VLAN信息。此时设备就可根据认证请求报文的源MAC地址和下发的VLAN信息生成MAC VLAN表项,并自动将MAC VLAN添加到端口允许通过的untagged VLAN列表中。用户下线后,设备又自动删除MAC VLAN表项,并将MAC VLAN从端口允许通过的VLAN列表中删除。
该方式的优点是灵活、安全:
-
它能够自动识别MAC地址、能够自动创建MAC VLAN表项、能够自动允许MAC VLAN通过接入端口。因此该方式应用于大型网络时能够大大简化配置,使用灵活。
-
只有用户接入认证成功,才能通过指定的VLAN接入网络,因此提高了网络的安全性。
在有完整的域认证或者有启用radius认证的环境中,动态MAC VLAN已经属于一种基本的网络准入认证方式。
推荐阅读
- IPV4过渡IPV6的关键技术NAT(Network AddressTranslation,网络地址转换)
- SDWAN(Software Defined Wide Area Network)概述与优势分析
- 专门为Web应用程序提供安全保护的设备-WAF
- 在 Exchange Server 的边缘传输服务器上配置邮件附件筛选
- Windows系统配置高精度时间服务
- Cisco交换机本地SPAN和远程SPAN的配置
相关文章:
网络安全准入技术之MAC VLAN
网络准入控制作为主要保障企业网络基础设施的安全的措施,特别是对于中大型企业来说,终端类型多样数量激增、终端管理任务重难度大、成本高。 在这样的一个大背景下,拥有更灵活的动态识别、认证、访问控制等成为了企业网络安全的最核心诉求之…...
MyBatis 操作数据库
文章目录 1. 什么是MyBatis?2. 入门MyBatis2.1 准备工作2.2.1 创建springboot项目2.2.2 数据准备 2.2 配置数据库连接2.3 写持久层代码2.4 单元测试2.4.1 web测试2.4.2 自动测试 1. 什么是MyBatis? MyBatis是一种持久层框架,用于简化JDBC的开…...
设计模式 -- 建造者模式(Builder Pattern)
这个模式以前也义Android-kotlin的场景下讲过 Android 用建造者模式模式写一个Dialog-CSDN博客 不过用的是 变种的建造者模式 建造者模式: 属于创建型模式 提供了一种创建对象的最佳方式, 使用多个简单的对象一步一步构建成一个复杂的对象 。 介绍 意图…...
如何下载 Apache + PHP + Mysql 集成安装环境并结合内网穿透工具实现公网访问内网服务
🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、Cpolar杂谈 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. WampServer下载安装二. WampServer启动三. 安装cpolar内网穿透3.1 注册账号…...
一招告别百度广告烦恼,同时效率提高100倍的几个常用搜索技巧!
《博主简介》 小伙伴们好,我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推荐--…...
文件上传 [ACTF2020 新生赛]Upload1
打开题目,发现是一道文件上传题目 随便上传个一句话木马上去 发现网站前端有白名单限制,只能上传含有jpg,png,gif的后缀文件 那我们便传个2.jpg的一句话木马上去,bp抓包 我们改成php文件后缀试试,发现重发…...
振南技术干货集:比萨斜塔要倒了,倾斜传感器快来!(1)
注解目录 1、倾斜传感器的那些基础干货 1.1 典型应用场景 (危楼、边坡、古建筑都是对倾斜敏感的。) 1.2 倾斜传感器的原理 1.2.1 滚珠式倾斜开关 1.2.2 加速度式倾斜传感器 1)直接输出倾角 2)加速度计算倾角 3)倾角精度的提高 (如果…...
手把手教你搭建属于自己的快递小程序
在数字化时代,小程序已经成为各行各业连接用户、提供服务、创造价值的重要工具。其中,快递寄件小程序因其实用性和广泛的需求,成为很多企业和开发者关注的焦点。本文将详细介绍如何快速创建快递寄件小程序,以及如何利用它实现盈利…...
C# Onnx LSTR 基于Transformer的端到端实时车道线检测
目录 效果 模型信息 项目 代码 下载 效果 端到端实时车道线检测 模型信息 lstr_360x640.onnx Inputs ------------------------- name:input_rgb tensor:Float[1, 3, 360, 640] name:input_mask tensor:Float[1, 1, 360, …...
Java相关编程思想
少用继承多用“组合”——在现有类的基础上组织一个新类。 2.继承要用“is”来检验,如果继承者is被继承者,说明这是一个比较好的继承。 3.向上造型,把实现方法留给继承者去实现。(动态绑定) 4.把接口理解为抽象类的进一…...
Hadoop-HDFS架构与设计
HDFS架构与设计 一、背景和起源二、HDFS概述1.设计原则1.1 硬件错误1.2 流水访问1.3 海量数据1.4 简单一致性模型1.5 移动计算而不是移动数据1.6 平台兼容性 2.HDFS适用场景3.HDFS不适用场景 三、HDFS架构图1.架构图2.Namenode3.Datanode 四、HDFS数据存储1.数据块存储2.副本机…...
OpenAI暂停新的ChatGPT Plus注册 | OpenAI 的 GPT Builder 创建您的 GPTs
OpenAI DevDay 才过去仅仅一周时间,伴随着开发者大会上发布的一系列重磅升级和新特性,无疑这样的进化速度让广大网友炸锅了,其火热程度可见一斑。 就在四个小时前,OpenAI的CEO Sam Altma突然宣布,ChatGPT Plus账号暂停…...
Git目录不对,即当前文件夹不对应git仓库
报错信息是: fatal: not a git repository (or any of the parent directories): .git 如: 是当前文件夹不对应git仓库,一般在git clone之后,需要进入下一级文件夹才对应仓库。 在文件夹看,本层中没有.git文件夹&…...
Python基础:正则表达式(regular expression)详解
在Python中,正则表达式是一种强大的工具,可用于匹配和操作字符串。什么是正则表达式? 正则表达式是一种模式匹配语言,用于匹配字符串中的特定模式。这些模式可以是字母、数字、字符组合或其他符号。正则表达式通常用于文本处理、网…...
sqlmap requires ‘python-pymysql‘ third-party library
使用sqlmap进行udf提权报错: [14:06:04] [CRITICAL] sqlmap requires python-pymysql third-party library in order to directly connect to the DBMS MySQL. You can download it from https://github.com/PyMySQL/PyMySQL. Alternative is to use a package pyt…...
05 robotFrameWork+selenium2library 一维数组的使用
一、原生数组: 1、Excel中: LIST_OneRange 项目1|项目2 2、生成的PY: LIST_OneRange [u项目1,u项目2] 3、脚本使用: :FOR ${Local_I} IN RANGE len(${OneRange}) ${value} Evaluate ${OneRange}[${Local_I}] …...
SpringCloud Alibaba组件入门全方面汇总(上):注册中心-nacos、负载均衡-ribbon、远程调用-feign
文章目录 NacosRibbonFeignFeign拓展 Nacos 概念:Nacos是阿里巴巴推出的一款新开源项目,它是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos致力于帮助用户发现、配置和管理微服务,它提供了一组简单易用的特性集&am…...
Zabbix钉钉机器人告警
目录 一.在钉钉群里添加机器人 二.配置钉钉告警脚本 1.安装python依赖模块python-requests 2.配置钉钉告警配置脚本zabbix_ding.conf 3.创建告警日志并且授权。 4.配置钉钉告警执行脚本dingding.py 5.测试 三.配置zabbix告警 1.创建媒介 2.给用户添加报警媒介 3.配置…...
unity shaderGraph实例-扫描效果
文章目录 效果展示整体结构各区域内容区域1区域2区域3区域4区域5区域6GraphSetttings注意事项使用方法 效果展示 整体结构 各区域内容 区域1 用场景深度减去顶点的View空间的视野深度(Z值),这里Z值需要乘-1是因为从相机看到的物体顶点的视野…...
AW2013芯片讲解
文章目录 前言一、AW2013芯片介绍二、AW2013从机地址三、AW2013读写时序AW2013写时序AW2013读时序 四、AW2013的INT引脚五、LED作用和配置描述LED控制PWM控制模式简短编程模式 六、AW2013寄存器讲解总结 前言 本篇文章将带大家学习AW2013芯片的使用。 一、AW2013芯片介绍 AW…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...
