资讯详情

华为eNSP跨交换机VLAN配置实验:Trunk与PVID实战详解

📅 2026/10/6 14:55:24 | 华诺云谱 👁 阅读
华为eNSP跨交换机VLAN配置实验:Trunk与PVID实战详解
简介基于华为eNSP的跨交换机VLAN配置实验资源聚焦网络工程实训场景适合计算机网络专业学生、网络管理员以及需要入门VLAN配置的初学者用来理解复杂交换式以太网设计、跨交换机VLAN划分及IEEE802.1Q帧格式。压缩包内为1个docx文档大小约1.98MB内容覆盖设备连接与IP地址规划、默认VLAN通信验证、三台交换机上VLAN创建和接入/主干端口映射、跨VLAN隔离性测试以及802.1Q标签报文捕获与分析过程。还包括实验中常见的“捕获报文失败”问题排查思路如确认捕获功能、过滤器设置和端口配置帮助读者少走弯路。资源目前已有2504人学习/浏览适合作为实训报告参考和上机练习指引有助于提升网络设备配置、VLAN规划和排错能力。1. 跨交换机VLAN为什么要单独做一次实验大多数接触华为eNSP的人做VLAN实验是从一台交换机开始的建两个VLAN把PC分进去同一个VLAN能通不同VLAN互相隔离实验结束。但一旦拓扑变成两台交换机中间用一条线连起来很多人会翻车——明明每台交换机上都建好了VLAN接口也划进去了跨交换机的PC却怎么都ping不通。原因不是VLAN建错了而是你忽略了交换机之间的那条链路需要一种特殊处理Trunk。本文要讲的跨交换机VLAN配置实验就是把这个最容易出幺蛾子的环节单独拎出来做一遍基于华为eNSP模拟器用两台交换机、四台PC把VLAN划分与通信隔离在两个设备之间真正落地。适合正在做网络工程毕业设计、备考HCIA-Datacom或者工作中要维护多台交换机但没摸过VLAN标签技术的从业者。实验做完你会得到一个可靠的认知VLAN隔离不是靠IP网段而是靠端口和标签。2. 跨交换机VLAN的底层逻辑PVID与标签转发2.1 隔离的本质广播域收窄不是靠IP网段隔离很多新手做完单交换机VLAN实验后会形成一个印象VLAN隔离等于IP隔离。PC1配192.168.10.0网段PC2配192.168.20.0网段两个网段不通就以为VLAN在起作用。这个理解在单交换机场景恰好能“碰巧”工作但到了跨交换机场景会坑住你。VLAN做的事是切割广播域。交换机默认情况下一个广播帧进来除了接收端口之外的所有端口都转发一遍。PC多了之后ARP广播、DHCP发现报文会把交换机整个打满而且安全上没有任何隔离任何一台PC只要知道对端IP就能直接访问。VLAN划分之后广播帧只在同一个VLAN的端口之间转发跨VLAN的广播是到不了的。至于IP地址你给不同VLAN配不同网段只是“配套动作”是为了让三层设备将来能做路由转发它本身不提供隔离。这个区别在跨交换机场景下会立刻体现出来。两台交换机S1和S2S1上PC1在VLAN 10S2上PC3也在VLAN 10两台PC的IP都在192.168.10.0网段。如果你只想着“IP同网段就能通”你会发现它不一定通反过来PC1在VLAN 10、PC2在VLAN 20即使你把两个PC配在完全相同的IP地址段它们之间也不会通过二层转发互通。隔离与否的决定因素是数据帧走在哪个VLAN里而不是IP长什么样。2.2 Access和Trunk的一进一出规则Tag、Untag与PVID要在两台交换机之间转发VLAN流量必须先搞清楚交换机端口对数据帧做了什么手脚。华为交换机端口按链路类型主要分Access、Trunk、Hybrid三种跨交换机场景我们谈的通常是Trunk。先记Access和Trunk的进出规则整个实验的核心就在这两套规则里。Access口一般连终端设备比如PC。它有一个属性叫PVID默认是VLAN 1。进出规则是数据帧从Access口进来交换机给帧打上一个内部标签标签内容就是PVID值如果进来的帧本身已经带标签Access口会直接丢弃。数据帧从Access口出去前无论内部标签是多少都会被剥掉还原成一个原始以太网帧发给PC。也就是说Access口两边的设备感知不到VLAN存在VLAN信息只在交换机内部生效。Trunk口一般连交换机或路由器。它有一个PVID默认VLAN 1和一个允许通过的VLAN列表。进出规则是Trunk口收到带标签的帧如果标签里的VLAN在允许列表里就收下收到不带标签的帧查PVID打上PVID对应的标签再收下。发送方向更关键Trunk口要发一个帧如果帧的VLAN值等于本端口的PVID就把标签剥掉以Untagged形式发出去如果帧的VLAN值不等于PVID就带着标签Tagged发出去。这套规则意味着什么跨交换机链路上绝大多数VLAN的数据必须以Tagged形式在Trunk链路上跑只有PVID对应的那个VLAN会被剥掉标签。这是很多实验翻车的根源你想着“VLAN 10和VLAN 20的帧都在Trunk上跑”却忘了只要有一个Trunk口PVID设置不对对端就可能把一个本应带Tag的帧当成了不带Tag的帧结果VLAN归属全乱。2.3 跨交换机的最小成立条件两个VLAN必须同时存在且被链路放通理解了Tag和PVID跨交换机VLAN的最小成立条件就很容易列出来了。条件一目的VLAN必须在这两台交换机上都存在并且端口划分一致被称为“同一个VLAN”。如果你只在S1上建了VLAN 10S2上没建那么从S1发往S2的VLAN 10帧到了S2后S2在VLAN 10内找不到任何端口数据帧直接丢弃。条件二交换机之间的链路两端都必须配置为Trunk且允许的VLAN列表都包含要跨交换机通信的那些VLAN。任何一端没放通帧在接收口就被丢弃。条件三链路的两个Trunk口PVID必须一致。虽然PVID不一致也能让Tagged帧通过但当涉及不带Tag的帧、以及管理VLAN流量时会埋下莫名其妙的间歇性不通的隐患。这三个条件在eNSP里都能一步一步验证。很多人做跨交换机实验时只在每台交换机上建了VLAN、划了接口却忘了查中间链路的放通列表最后ping不同就怀疑模拟器坏了。这个场景非常典型下一章就按这个最小成立条件把实验完整做一遍两台S5700、四台PC、两个VLAN从拓扑搭建到命令行配置到验证。3. 用eNSP搭出跨交换机VLAN实验拓扑、配置命令与联通验证3.1 拓扑与IP规划两台S5700、四台PC实验先在eNSP里搭一个最简拓扑两台交换机取名S1和S2型号选S5700即可四台PC分别叫PC1到PC4。S1下接PC1和PC2S2下接PC3和PC4S1的GigabitEthernet0/0/1接PC1GigabitEthernet0/0/2接PC2S2的GigabitEthernet0/0/1接PC3GigabitEthernet0/0/2接PC4S1和S2之间用GigabitEthernet0/0/24互连也可以选GE0/0/23任选一个空口就行。VLAN划分按以下规划PC1和PC3划入VLAN 10模拟两台在不同交换机但属于同一个二层组的设备PC2和PC4划入VLAN 20模拟另一组设备。IP地址按表配给PC设备所属交换机VLANIP地址网关PC1S1VLAN 10192.168.10.10/24192.168.10.1PC3S2VLAN 10192.168.10.30/24192.168.10.1PC2S1VLAN 20192.168.20.10/24192.168.20.1PC4S2VLAN 20192.168.20.30/24192.168.20.1网关暂时不需要真正存在只需要填一个规划值后面第5章做VLAN间通信用得着。实验当前阶段只验证二层通信同一个VLAN跨交换机能不能通不同VLAN之间是不是不通。在eNSP里配置PC的IP很简单双击PC图标在ip配置页签里填入上述地址和掩码即可。3.2 交换机A的配置VLAN创建、Access接入和Trunk放通打开S1的命令行从用户视图进入系统视图然后按下面顺序配置。先创建VLAN再把连PC的接口设置成Access并划入对应VLAN最后把连S2的接口设置成Trunk并放通所有VLAN。system-view # 批量创建VLAN 10和VLAN 20 vlan batch 10 20 # 配置GE0/0/1为Access口划入VLAN 10 interface GigabitEthernet0/0/1 port link-type access port default vlan 10 quit # 配置GE0/0/2为Access口划入VLAN 20 interface GigabitEthernet0/0/2 port link-type access port default vlan 20 quit # 配置GE0/0/24为Trunk口放通VLAN 10和20 interface GigabitEthernet0/0/24 port link-type trunk port trunk pvid vlan 1 port trunk allow-pass vlan 10 20 quit这段配置的逻辑vlan batch 10 20是一条批量建VLAN的命令比用vlan 10和vlan 20逐条进入再退出更快实验里这样写干净连PC的两个口设置成Access是因为PC不会主动给帧打VLAN标签Access口负责给进来的帧打上PVID对应的标签再在出去时剥掉连S2的口设置成Trunk因为S1和S2之间需要同时跑多个VLAN的帧帧必须带着VLAN标签在链路上传输这样S2才能识别帧属于哪个VLAN。参数说明port trunk pvid vlan 1这行是关键。它表示这个口的PVID保持默认的VLAN 1。实验里链路两端PVID一致设为1是为了让不带Tag的帧、以及管理VLAN流量有一个统一的归属。如果两端PVID不一致比如S1侧PVID是VLAN 10S2侧PVID是VLAN 1那么S1发往S2的不带Tag帧会被S2打成VLAN 1的标签但S1这边认为那是VLAN 10的流量两边认知错位排错非常痛苦。port trunk allow-pass vlan 10 20指定这个口允许带VLAN 10和VLAN 20标签的帧通过。注意不要用allow-pass vlan all偷懒实验里能通但生产环境里all会把所有VLAN放通违背最小放通原则属于安全隐患。3.3 交换机B的配置与跨交换机互通验证S2的配置逻辑和S1完全一致只是接口对应关系不同。GE0/0/1接PC3划入VLAN 10GE0/0/2接PC4划入VLAN 20GE0/0/24上连S1配置Trunk设置PVID为VLAN 1并放通VLAN 10和20。system-view # 第S2创建VLAN 10和20 vlan batch 10 20 # GE0/0/1接PC3划入VLAN 10 interface GigabitEthernet0/0/1 port link-type access port default vlan 10 quit # GE0/0/2接PC4划入VLAN 20 interface GigabitEthernet0/0/2 port link-type access port default vlan 20 quit # GE0/0/24接S1配置Trunk并放通VLAN 10和20 interface GigabitEthernet0/0/24 port link-type trunk port trunk pvid vlan 1 port trunk allow-pass vlan 10 20 quit两台配置完之后先做一个静态检查在S1上执行display vlan summary和display port vlan看VLAN是否创建、各端口分配是否符合预期在S1和S2上都执行display port vlan看Trunk口的放通列表里是否有VLAN 10和20。这里有个小习惯值得养成display命令不会修改任何配置随便敲排错时大胆用。验证分两步。第一步验证同VLAN跨交换机互通。在PC1上打开命令行工具执行ping 192.168.10.30目的地址是PC3它们在VLAN 10里但分属两台交换机。如果配置正确ping结果应该是连续的Reply from 192.168.10.30。第二步验证不同VLAN隔离。在PC1上执行ping 192.168.20.30目的地址是PC4属于VLAN 20。这时应该看到Request timed out因为VLAN 10和VLAN 20的广播域被切开了二层转发根本不会发生。同样PC2 ping PC4VLAN 20内部跨交换机能通PC2 ping PC3不通。如果第一步就不通优先去查Trunk口放通列表和PVID而不是怀疑PC的IP配置。这类问题在下一章专门梳理。4. eNSP跨交换机VLAN避坑4条高频翻车点的排查记录4.1 AR设备启动失败错误代码40与VirtualBox兼容性现象刚在eNSP里拖出一台路由器或交换机设备状态一直显示“启动中”过一会儿直接变红提示“错误代码40”。如果批量启动多个设备甚至会弹出一排错误框整个模拟器都转不动。原因eNSP的设备进程依赖VirtualBox提供虚拟化环境。错误代码40几乎都指向eNSP和VirtualBox版本不匹配或者Windows系统安全软件把VirtualBox的虚拟网卡驱动拦住了。装错版本的情况特别多比如装了VirtualBox 6.0以上的新版eNSP却按老逻辑去找配套驱动直接失败。解决先把eNSP和VirtualBox全部卸载干净包括用户目录下的残留配置然后按华为官方文档列出的配套组合重新安装先装VirtualBox再装eNSP全程以管理员身份运行安装包。装完之后在Windows的安全中心里把eNSP安装目录加入排除项确保安全软件不碰VirtualBox的驱动文件。启动eNSP时右键“以管理员身份运行”再拖设备测试。这一步解决了大部分人的“ar设备启动不了”问题。每次实验前先启动一台AR或交换机确认能正常起来再搭拓扑免得做完配置发现设备全是红的。4.2 划分完VLAN跨交换机ping不通先查Trunk放通列表现象PC1和PC3都是VLAN 10IP同网段在S1和S2上都配置了VLAN和接口但PC1 ping PC3就是不通eNSP里PC的命令行一直回Request timed out。原因最常见的不是接口划错而是S1和S2之间那条物理链路的Trunk配置没做全。很多人习惯在每个交换机上建完VLAN后只配置面向PC的Access口忘了把上联口配置成Trunk并放通VLAN。帧从PC1进入VLAN 10后到S1的GE0/0/24发现这个口只允许默认VLAN 1通过VLAN 10的帧直接被丢弃根本到不了S2。解决在两台交换机上都执行display port vlan找到GE0/0/24的条目看它是否显示为trunk模式以及放通列表是否包含VLAN 10和20。如果是空列表或者只有VLAN 1说明Trunk没配或者配错了重新执行port link-type trunk和port trunk allow-pass vlan 10 20这两条命令。排查完再ping一次如果还不同继续查PVID。4.3 PVID抄错port trunk pvid vlan 10不是“放通VLAN 10”现象两个Trunk口配置看起来一样放通列表也包含VLAN 10和20但同VLAN跨交换机通信时通时不通或者PC1能ping通PC3PC2却ping不同PC4抓包看到帧的VLAN标签值总比预期大一号。原因把port trunk pvid vlan 10当成“把VLAN 10设置为允许通过的VLAN”来用了。这是热词区里出现频率很高的错误。pvid的作用是给这个Trunk口上接收到的无标签帧赋予一个VLAN身份不是放通某个VLAN。如果你把S1侧Trunk口PVID设成VLAN 10S2侧Trunk口PVID设成VLAN 20链路两侧对“无标签帧属于哪个VLAN”的理解就完全不同。实验里只要出现要么通要么不通的间歇现象优先怀疑这个参数。解决把两端Trunk口的PVID统一回VLAN 1。用命令undo port trunk pvid把PVID重置默认值再执行port trunk pvid vlan 1。检查方法是用display port vlan查看PVID列。记住一句话实验场景里Trunk口的PVID老老实实保持VLAN 1让所有VLAN都带Tag跑跨交换机链路不要追求把PVID改成业务VLAN那是Hybrid和特殊组网才考虑的事。4.4 接口类型用错与VLAN号用完之后的“假通”现象两台交换机间同VLAN能通但PC访问对端交换机本身的地址时不通或者某天加新业务发现所有VLAN号都被占了只能往4095上挤最后链路彻底不通。原因接口类型用错是另一种常见翻车。把上联口配成Access并指定default vlan 10那么VLAN 20的帧到Trunk口直接被丢表现为部分VLAN能通、部分不通。还有一个隐蔽问题VLAN ID总数是有限资源有效范围只有1到4094。有同学按“每个业务一个VLAN”规划把VLAN号当序列号从10排到4000多配到后面发现某条链路怎么都放通不了其实是VLAN号用满之后开始出现规划冲突。解决接口类型用错就回到配置上纠偏连交换机的口必须配Trunk或Hybrid连PC的口配Access。VLAN号用完则要反过来审视VLAN规划常见做法是按业务域做VLAN汇总比如一个园区用VLAN 10到50给未来预留连续段而不是一个终端一个VLAN。做完这步再用display vlan summary检查剩余可用VLAN数量。这一条不算eNSP的bug是组网习惯的坑专门写出来提醒。5. 让隔离的VLAN在需要时互通单臂路由与子接口配置5.1 为什么不直接加Trunk放通隔离与互通的边界实验做到“同VLAN跨交换机通、不同VLAN不通”很多人会继续追问那如果PC1VLAN 10就是想访问PC4VLAN 20呢答案是必须走三层转发不能在二层直接把Trunk放通列表改成允许所有VLAN之后期望“自动通”。二层交换机上的Trunk只是放行不同VLAN的帧至于帧到了对端之后进哪个VLAN就进哪个VLAN它没有任何路由能力。要让VLAN 10和VLAN 20之间通信必须有具备三层能力的设备参与最常见的是路由器或三层交换机并在两端配上不同VLAN的网关地址。在eNSP里做这个实验性价比最高的方案是“基于华为路由器的单臂路由”一台路由器用一个物理接口分成多个子接口每个子接口对应一个VLAN路由器在这个物理链路上同时接收多个VLAN的Tagged帧完成三层转发。这也和标题里“通信隔离”形成闭环VLAN隔离做到了但网络不是死隔离需要通信时要有受控的通道。子接口在这里就是那个受控通道。5.2 单臂路由最小配置子接口、dot1q termination vid与ARP在原有的两台交换机拓扑基础上加一台路由器AR1把S1的GE0/0/24从原来直连S2改到连AR1或者另起一个GE口连AR1。为了不拆当前拓扑常见做法是加一台AR1用其中一条链路接到S1的GE0/0/23上。S1侧新配置一个Trunk口放通VLAN 10和20AR1侧物理接口配置成路由接口再创建两个子接口。在AR1上做如下配置system-view # 进入物理接口并开启三层转发能力 interface GigabitEthernet0/0/0 undo portswitch quit # 创建子接口.10对应VLAN 10的网关 interface GigabitEthernet0/0/0.10 dot1q termination vid 10 ip address 192.168.10.1 255.255.255.0 arp broadcast enable quit # 创建子接口.20对应VLAN 20的网关 interface GigabitEthernet0/0/0.20 dot1q termination vid 20 ip address 192.168.20.1 255.255.255.0 arp broadcast enable quit这段配置的逻辑undo portswitch把交换机的物理口切换成三层路由口否则接口默认在二层桥接模式下无法终结VLAN帧。dot1q termination vid 10是子接口工作的核心参数它告诉路由器这个子接口负责处理带着VLAN 10标签的帧收到VLAN 10的帧后剥掉标签交给三层协议栈处理发送时再给帧打上VLAN 10的标签从物理口发出去。arp broadcast enable这条很容易被忽视很多单臂路由实验翻车就是没配它。Trunk口默认是不转发广播帧的ARP请求是广播帧如果不显式允许子接口处理广播ARPPC发起ARP请求后网关应答不了表现为ping网关永远不通。对应的S1上连AR1的GE0/0/23口配置system-view interface GigabitEthernet0/0/23 port link-type trunk port trunk pvid vlan 1 port trunk allow-pass vlan 10 20 quit参数说明子接口编号.10和VLAN ID对应纯属人为约定但必须和dot1q termination vid里写的ID一致建议保持一致方便维护。IP地址就是每个VLAN的网关必须和PC配置的网关字段对应。掩码用255.255.255.0也就是/24和PC侧保持一致。做完这些把四台PC的网关分别填上192.168.10.1和192.168.20.1。5.3 验证与下一层隔离ACL跟上把网络域隔离闭环单臂路由配置完毕用PC1 ping PC4的地址192.168.20.30这次应该是通的。从PC1发的帧先被Access口打上VLAN 10标签经Trunk口到AR1的子接口.10路由器查路由表发现目标在192.168.20.0网段从子接口.20出帧并打上VLAN 20标签最终经S2转发给PC4。在AR1上可以用display ip routing-table看到两条直连路由分别是192.168.10.0/24关联GE0/0/0.10192.168.20.0/24关联GE0/0/0.20只有两条直连路由的配置方式在eNSP里已经能满足VLAN间通信。到这里通信隔离的完整链路就出来了同一VLAN内部二层互通不同VLAN通过单臂路由三层互通。现实中比这复杂得多三层交换机上还要加VRRP、策略路由但原理骨架就是这个。下一步的隔离加固也不是加VLAN而是加ACL也就是热搜词里的“网络域隔离-vlan划分与acl配置”方向。在AR1上配一条ACL规则拒绝VLAN 10访问VLAN 20把单臂路由的“全通”变成“按规则通”这才算真正落地了网络域隔离。6. 把验证做扎实抓Tag、看PVID、守一套排错顺序单臂路由做完大多数人的实验就停了。但我在带人做这个实验时一定会让他们多做一个动作在Trunk链路的两端抓包亲眼看看带Tag和Untagged帧长什么样。eNSP里每台设备都有抓包按钮在S1的GE0/0/24上开启抓包然后让PC1 ping PC3同VLAN跨交换机。抓包结果里能看到数据帧的VLAN字段显示ID为10这就是Tagged帧它是跨交换机VLAN通信的载体。再在S1的GE0/0/1上抓包让PC1 ping PC2同交换机同VLAN帧里看不到VLAN字段因为Access口发出前已经把标签剥掉了。这个对比能帮人建立最直接的感性认知VLAN标签不是一直存在的它只在链路需要区分时存在。抓包之后还要养成“看PVID、对照display、按顺序排错”的习惯。我踩坑踩出的固定排查顺序是先display vlan summary确认VLAN在每台设备上都真实存在再display port vlan逐个确认端口类型、PVID、放通列表最后display mac-address查一下交换机MAC表里VLAN和端口的对应关系如果MAC表里没有目标PC的MAC记录说明帧根本没进到这台交换机问题在上一跳如果MAC表正确但ping不同问题大概率在PVID或网关。按这个顺序走很少会漏排查点。印象很深的一次我在别人搭好的实验环境里排错PC能ping通网关但跨交换机Ping不同对端业务地址我盯着Trunk放通列表看了半天最后用display mac-address发现对端PC的MAC始终不在MAC表里才想到去查S1和S2之间那条物理链路是不是被eNSP误删了连线。解决后我养成了一个习惯排错前先看拓扑连线再看MAC表然后才看VLAN配置。这个顺序帮我在后续不少次验收实验里避开了无效操作。做网络工程这篇实验最忌讳的是连配置都没核对就开始抓包抓包是辅助手段不是第一排错手段。希望帮到你。本文还有配套的精品资源点击获取
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑