MUX VLAN
目录
原理概述
实验目的
实验内容
实验拓扑
1.基本配置
2.使用Hybrid端口实现网络需求
3.使用Mux VLAN实现网络需求
原理概述
在实际的企业网络环境中,往往需要所有的终端用户都能够访问某些特定的服务器,而用户之间的访问控制规则则比较复杂。在这样的场景下,使用普通VLAN划分的方法往往是很难满足需求的,通常的解决方法是使用Mux VLAN。
Mux VLAN拥有一个Principal VLAN,即主VLAN,同时拥有多个与主VLAN关联的Subordinate VLAN,即从VLAN。从VLAN又有两种类型,一种是Separate VLAN,即隔离型从VLAN,另一种是Group VLAN,即互通型从VLAN。任何从VLAN中的设备都能够与主VLAN中的设备进行通信。除此之外,互通型从VLAN中的设备只能与本互通型从VLAN中的设备进行通信,不能与其它互通型从VLAN中的设备进行通信,也不能与隔离型从VLAN中的设备进行通信;隔离型从VLAN中的设备不能与互通型从VLAN中的设备进行通信,也不能与其它隔离型从VLAN中以及本隔离型从VLAN中的设备进行通信。
| Mux VLAN | VLAN类型 | 所属端口 | 通信规则 |
| Principal VLAN 主VLAN | principal port 主端口 | 可以和所有VLAN通信 | |
| Subordinate VLAN 从VLAN | Group VLAN 互通型从VLAN | Group port 互通型从端口 | 可以和Principal VLAN和本VLAN通信 |
| Separate VLAN 隔离型从VLAN | Separate port 隔离型从端口 | 只能和Principal VLAN通信 |
另外需要说明的是,交换机上加入Mux VLAN的端口只能允许一个VLAN的帧通过,允许多个VLAN的帧通过的端口是不能被加入到Mux VLAN中的。
实验目的
理解Mux VLAN的应用场景
掌握Mux VLAN的配置方法
实验内容
实验拓扑如图所示。本实验模拟了一个公司网络,PC-1和PC-2为部门A的终端电脑,PC-3和PC-4为访客的终端电脑,Server-1为公司服务器。网络需求是:访客只能与服务器进行通信,不能与其它访客以及部门A的终端进行通信。部门A的终端可以与服务器进行通信,也可以与部门A的其它终端进行通信。网络管理员需要分别使用Hybrid端口的方法和Mux VLAN的方法来实现上述需求。
实验拓扑
1.基本配置
根据拓扑图进行相应的基本配置,PC-1的配置过程如下所示。

在PC-1上使用ping命令测试与PC-2的连通性,如下图所示。

其它设备的连通性测试过程在此省略。
2.使用Hybrid端口实现网络需求
基于网络需求,可以将Server-1划分至VLAN 10,部门A划分至VLAN 20,访客A划分至VLAN 30,访客B划分至VLAN 40。
在SW1上创建相应的VLAN。
[sw1]vlan batch 10 20 30 40
对于SW1的G0/0/1端口和G0/0/2端口,配置端口类型为Hybrid,并要求端口对于收到的Untagged帧添加VLAN 20的标签后进行转发,且在发送VLAN 10和VLAN 20的帧之前进行去标签处理。
[sw1]int g0/0/1
[sw1-GigabitEthernet0/0/1]port link-type hybrid
[sw1-GigabitEthernet0/0/1]port hybrid untagged vlan 10 20
[sw1-GigabitEthernet0/0/1]port hybrid pvid vlan 20
[sw1-GigabitEthernet0/0/1]int g0/0/2
[sw1-GigabitEthernet0/0/2]port link-type hybrid
[sw1-GigabitEthernet0/0/2]port hybrid untagged vlan 10 20
[sw1-GigabitEthernet0/0/2]port hybrid pvid vlan 20
对于SW1的G0/0/5端口,配置端口类型为Hybrid,并要求端口对于收到的Untagged帧添加VLAN 10的标签后进行转发,且在发送属于VLAN 10、VLAN 20、VLAN 30和VLAN 40的帧之前进行去标签处理。
[sw1]int g0/0/5
[sw1-GigabitEthernet0/0/5]port link-type hybrid
[sw1-GigabitEthernet0/0/5]port hybrid untagged vlan 10 20 30 40
[sw1-GigabitEthernet0/0/5]port hybrid pvid vlan 10
对于SW1的G0/0/3端口,配置端口类型为Hybrid,并要求端口对于收到的Untagged帧添加VLAN 30的标签后进行转发,且在发送属于VLAN 10和VLAN 30的帧之前进行去标签处理。
[sw1]int g0/0/3
[sw1-GigabitEthernet0/0/3]port link-type hybrid
[sw1-GigabitEthernet0/0/3]port hybrid untagged vlan 10 30
[sw1-GigabitEthernet0/0/3]port hybrid pvid vlan 30
对于SW1的G0/0/4端口,配置端口类型为Hybrid,并要求端口对于收到的Untagged帧添加VLAN 40的标签后进行转发,且在发送属于VLAN 10和VLAN 40的帧之前进行去标签处理。
[sw1]int g0/0/4
[sw1-GigabitEthernet0/0/4]port link-type hybrid
[sw1-GigabitEthernet0/0/4]port hybrid untagged vlan 10 40
[sw1-GigabitEthernet0/0/4]port hybrid pvid vlan 40
配置完成后,在PC-3上使用ping命令测试与PC-1、PC-4、Server-1的连通行性,如下图所示。

从上图中可以看到,PC-3只能够与Server-1进行通信。
在PC-1上使用ping命令测试与PC-2、Server-1、PC-3之间的连通性,如下图所示。

从上图中可以看到,PC-1能够与同属部门A的PC-2进行通信,也能够与Server-1进行通信。至此,网络的需求完全得到了满足。
3.使用Mux VLAN实现网络需求
使用Hybrid端口的方法虽然能够实现网络需求,但是,为了隔离不同访客间的互相访问,就需要为每一个访客规划一个VLAN,同时SW1上连接Server-1的端口的配置也要进行相应的修改。显然,当访客数量快速增长时,这种方法会变得非常笨拙。下面使用Mux VLAN方法来解决这个问题。
将VLAN 10作为Mux VLAN中的主VLAN,将部门A所属的VLAN 20作为互通型从VLAN,将所有访客均划分至VLAN 30,并将VLAN 30作为隔离型从VLAN。由于SW1上加入Mux VLAN的端口仅能够允许一个VLAN的帧通过,所以需要将加入Mux VLAN的端口类型修改为Access。
[sw1]int g0/0/1
[sw1-GigabitEthernet0/0/1]port link-type access
[sw1-GigabitEthernet0/0/1]port default vlan 20
[sw1-GigabitEthernet0/0/1]int g0/0/2
[sw1-GigabitEthernet0/0/2]port link-type access
[sw1-GigabitEthernet0/0/2]port default vlan 20
[sw1-GigabitEthernet0/0/2]int g0/0/3
[sw1-GigabitEthernet0/0/3]port link-type access
[sw1-GigabitEthernet0/0/3]port default vlan 30
[sw1-GigabitEthernet0/0/3]int g0/0/4
[sw1-GigabitEthernet0/0/4]port link-type access
[sw1-GigabitEthernet0/0/4]port default vlan 30
[sw1-GigabitEthernet0/0/4]int g0/0/5
[sw1-GigabitEthernet0/0/5]port link-type access
[sw1-GigabitEthernet0/0/5]port default vlan 10
在VLAN 10的视图下设置VLAN10为主VLAN,设置VLAN 20为互通型从VLAN,设置VLAN 30为隔离型从VLAN。
[sw1]vlan 10
[sw1-vlan10]mux-vlan
[sw1-vlan10]subordinate group 20
[sw1-vlan10]subordinate separate 30
然后,在所有加入了Mux VLAN的端口下使能MUX VLAN的功能。
[sw1]int g0/0/1
[sw1-GigabitEthernet0/0/1]port mux-vlan enable
[sw1-GigabitEthernet0/0/1]int g0/0/2
[sw1-GigabitEthernet0/0/2]port mux-vlan enable
[sw1-GigabitEthernet0/0/2]int g0/0/3
[sw1-GigabitEthernet0/0/3]port mux-vlan enable
[sw1-GigabitEthernet0/0/3]int g0/0/4
[sw1-GigabitEthernet0/0/4]port mux-vlan enable
[sw1-GigabitEthernet0/0/4]int g0/0/5
[sw1-GigabitEthernet0/0/5]port mux-vlan enable
接下来,在PC-3上使用ping命令测试与PC-1、PC-4、Server-1的连通性,如下图所示。
从上图可以看到,PC-3无法与部门A的PC-1进行通信,也无法与属于同一个VLAN的访客B(PC-4)进行通信,只能够与属于主VLAN的Server-1进行通信。
在PC-1上使用ping命令测试与PC-2、Server-1、PC-3的连通性,如下图所示。

从上图中可以看到,PC-1无法与访客A(PC-3)进行通信,但可以与属于同一部门A的PC-2进行通信,也可以与属于主VLAN的Server-1进行通信。至此,网络的需求完全得到了满足。
相关文章:
MUX VLAN
目录 原理概述 实验目的 实验内容 实验拓扑 1.基本配置 2.使用Hybrid端口实现网络需求 3.使用Mux VLAN实现网络需求 原理概述 在实际的企业网络环境中,往往需要所有的终端用户都能够访问某些特定的服务器,而用户之间的访问控制规则则比较复杂。在…...
漫谈:“标准”是一种幻觉 C++语言标准的意义
初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 “标准”这个词很迷惑…...
【Wbpack原理】基础流程解析,实现 mini-webpack
【Wbpack原理】基础流程解析,实现 mini-webpack ⛄:webpack 对前端同学来说并不陌生,它是我们学习前端工程化的第一站,在最开始的 vue-cli 中我们就可以发现它的身影。我们的 vue/react 项目是如何打包成 js 文件并在浏览器中运行…...
Debian 安装 python 3.9.6
安装相关依赖 sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev 下载Python 源码 wget https://mirrors.aliyun.com/python-release/source/Py…...
搜索二维矩阵2 合并两个有序链表
240. 搜索二维矩阵 II - 力扣(LeetCode) class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int i matrix.size() - 1, j 0;while(i > 0 && j < matrix[0].size()){if(matrix[i][j…...
深入Tauri开发——从环境搭建到项目构建
深入Tauri开发——从环境搭建到项目构建 开启你的Tauri桌面应用开发之旅(续) 经过上一篇文章的基础介绍,现在让我们更进一步,详细阐述如何在Windows和macOS平台上顺利搭建Tauri应用所需的开发环境,并指导您从创建项目…...
Redis 和 Mysql 数据库数据如何保持一致性
Redis 和 Mysql 数据库数据如何保持一致性 保持Redis和MySQL数据库数据一致性是一个常见且重要的问题,特别是在使用Redis作为MySQL数据库的缓存层时。以下是几种常用的保证二者数据一致性的策略和方法: 双写一致性(同步更新)&…...
探索7个MAMP本地开发环境的高效替代软件
什么是本地开发环境 本地开发环境是Web开发环境中的一种类型,它是指开发者自己的计算机上配置的一套用于开发和测试网站或应用程序的软件集合。这套环境使得开发者可以在本地计算机上构建和测试网站,而无需实时部署到服务器。 创建本地开发环境有两种方…...
靡语IT:Bootstrap 简介
1.1 Bootstrap 简介:什么是 Bootstrap? Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架。Bootstrap是前端开发中比较受欢迎的框架,简洁且灵活。它基于HTML、CSS和JavaScript,HTML定义页面元素,CSS定义页面布局&…...
亚马逊店铺引流:海外云手机的利用方法
在电商业务蓬勃发展的当下,亚马逊已经成为全球最大的电商平台之一,拥有庞大的用户群和交易量。在激烈的市场竞争中,如何有效地吸引流量成为亚马逊店铺经营者所关注的重点。海外云手机作为一项新兴技术工具,为亚马逊店铺的流量引导…...
10 Python进阶:MongoDB
MongoDb介绍 MongoDB是一个基于分布式架构的文档数据库,它使用JSON样式的数据存储,支持动态查询,完全索引。MongoDB是NoSQL数据库的一种,主要用于处理大型、半结构化或无结构化的数据。以下是MongoDB数据库的一些关键特点和优势&a…...
Leetcode 142. 环形链表 II和Leetcode 242. 有效的字母异位词
文章目录 Leetcode 142. 环形链表 II题目描述C语言题解解题思路 Leetcode 242. 有效的字母异位词题目描述C语言题解和思路解题思路 Leetcode 142. 环形链表 II 题目描述 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返…...
【嵌入式DIY实例】-MODBUS串行通信
MODBUS串行通信 文章目录 MODBUS串行通信1、什么是RS-4852、MAX485 TTL转RS485转换器3、硬件准备4、代码实现4.1 主机和从机之间简单通信4.2 主/从机之间LED控制在本文中,我们将介绍如何使用 MAX485 MODBUS 在Arduino之间进行串行通信。 我们将使用 Arduino nano 板和 MODBUS …...
入门用Hive构建数据仓库
在当今数据爆炸的时代,构建高效的数据仓库是企业实现数据驱动决策的关键。Apache Hive 是一个基于 Hadoop 的数据仓库工具,可以轻松地进行数据存储、查询和分析。本文将介绍什么是 Hive、为什么选择 Hive 构建数据仓库、如何搭建 Hive 环境以及如何在 Hi…...
【计算机网络】会话层
负责维护两个会话主机之间链接的建立、管理和终止,以及数据的交换。 会话控制:决策该由谁来传递数据 令牌管理:禁止双方同时执行一个关键动作 同步功能:在一个长的传输过程中设置一些断点,以便系统崩溃后能恢复至崩…...
springboot实现七牛云的文件上传下载
一:依赖包 <dependency><groupId>com.qiniu</groupId><artifactId>qiniu-java-sdk</artifactId><qiniu-java-sdk.version>7.7.0</qiniu-java-sdk.version></dependency>二:具体实现 RestController RequestMapping…...
【RISC-V 指令集】RISC-V 向量V扩展指令集介绍(六)- 向量内存一致性模型
1. 引言 以下是《riscv-v-spec-1.0.pdf》文档的关键内容: 这是一份关于向量扩展的详细技术文档,内容覆盖了向量指令集的多个关键方面,如向量寄存器状态映射、向量指令格式、向量加载和存储操作、向量内存对齐约束、向量内存一致性模型、向量…...
Lvgl9 WindowsSimulator Visual Studio2017
因为在操作过程中遇到了一些错误,所以将操作及解决问题的过程记录下来。 一、下载lv_port_pc_visual_studio github链接:GitHub - lvgl/lv_port_pc_visual_studio: Visual Studio projects for LVGL embedded graphics library. Recommended on Windows. Linux su…...
【STL】链表(list)
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个…...
node.js常用指令
1、node:启动 Node.js REPL(交互式解释器)。 node 2、node [文件名]:执行指定的 JavaScript 文件。 node app.js 3、npm init:初始化一个新的 Node.js 项目,生成 package.json 文件。 此命令会创建一个…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...
