ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

跨交换机VLAN配置实战:eNSP中Trunk、PVID与Tag的排错指南

跨交换机VLAN配置实战:eNSP中Trunk、PVID与Tag的排错指南 简介一套基于华为eNSP的跨交换机VLAN配置实验完整文档面向计算机网络专业学生、网络管理员及VLAN初学者演示从设备连接、IP规划到VLAN划分与通信隔离验证的完整流程。文档清晰区分接入端口与主干端口结合IEEE802.1Q标准讲解MAC帧格式并给出捕获报文失败等常见问题的排查方法帮助读者理解跨交换机VLAN通信原理并提升实际配置能力。压缩包内含1个docx文件1.98MB以实验报告形式呈现包含实验目的、拓扑与端口映射表、ping连通性测试结果、802.1Q帧捕获分析及详细实验心得便于对照练习和复习。文档还包含完整的实验环境搭建指引从启动eNSP、放置设备到连接接口均有图示说明各阶段ping测试结果与帧捕获截图辅以文字解说便于一步步复现实验末尾的问题记录和心得体会对备考或课程实验具有参考价值。目前已有2504人学习下载适合作为网络工程课程实验或自学VLAN配置的参考资料。1. 跨交换机VLAN配置为什么你的eNSP实验里PC总是ping不通毕设季最常见的翻车现场在eNSP里拖两台S5700交换机四个PC按部门划进VLAN 10和VLAN 20结果跨交换机的同VLAN PC死活ping不通。查端口状态全是对的VLAN也都建了就是通不了。这个实验本质上是把access、trunk、PVID、Tagged帧这四本账一次算清的最小闭环。它解决的问题很具体同一VLAN的PC在不同交换机上如何互通不同VLAN的PC如何被二层隔离。它也是网络工程毕设里最常被抽到的综合实验起点想考华为数通认证的同样绕不开。如果你刚装好eNSP想找个不玄学的实验把VLAN彻底弄懂这篇笔记可以照着抄。全程不需要真实交换机一台普通电脑跑eNSP就够。2. VLAN在单台交换机上的隔离逻辑先从PVID和Tag把账算清楚2.1 Access口的PVID到底是什么与VLAN ID的重合与区分网络工程里最容易让新手迷糊的就是PVID和VLAN ID的关系。VLAN ID是帧里802.1Q字段携带的编号表示这个帧属于哪个VLANPVID是端口上的一个配置值表示从这个端口进来的无标签帧默认放进哪个VLAN。两者经常相等但含义完全不同。PVID是端口的属性VLAN ID是帧的标签一个端口只能有一个PVID但一个端口可以放行多个VLAN ID——这句话是后面所有排错的钥匙。Access口只属于一个VLAN它收到的PC帧本身不带Tag交换机内部就用这个端口的PVID给它补一个Tag然后只在VLAN内部转发。反过来从Access口发给PC的帧必须剥掉Tag因为普通PC网卡不认802.1Q。这就解释了为什么在单交换机上你只要给端口划进VLANPC之间就能按VLAN隔离和通信——内部转发时Tag是交换机自己加的不关PC的事所以单机实验时你永远看不到Tag出现在线上。2.2 单交换机最小拓扑VLAN 10与VLAN 20的划分命令打开eNSP拖一台S5700和两台PCPC1接GE0/0/1PC2接GE0/0/2。先建VLAN再划端口命令如下system-view vlan batch 10 20 # 一次创建VLAN 10和VLAN 20 interface GigabitEthernet0/0/1 port link-type access # 接PC的口用access类型 port default vlan 10 # 该口的PVID设为10 quit interface GigabitEthernet0/0/2 port link-type access port default vlan 20 quit第一行的vlan batch是华为批量创建VLAN的写法10和20用空格分隔比vlan 10回车再vlan 20省事。port link-type access说明这个口接的是终端设备不负责跨交换机转发。port default vlan 10是重点它同时做了两件事给进入的untagged帧打上VLAN 10的Tag以及把从这个口出去的帧去掉Tag。所以Access口的PVID就是port default vlan指定的值不需要额外再配一个PVID参数。验证看这里display port vlan display vlandisplay port vlan能看到端口类型、PVID、允许通过的VLAN列表display vlan能看到每个VLAN下面挂了哪些物理口。这一步先确认端口归属正确再去ping。PC1配192.168.10.1/24PC2配192.168.20.1/24两者ping不通才是对的——VLAN 10和VLAN 20已经把广播域切开了。2.3 隔离效果验证display端口状态与ping的对应关系验证隔离前有一个容易被忽略的环节给PC配完IP后先确认PC的网卡真的拿到了这个地址。eNSP的PC设备上有命令行窗口直接敲ipconfig看一眼避免后面排查时连IP都是错的。配好后在PC1上ping 192.168.20.1正常情况是第一个包就超时四个包全部请求超时。这跟真实交换机行为一致VLAN 10的广播域里收不到针对192.168.20.1的ARP请求因为PC2在VLAN 20里跨VLAN没有三层接口。这里可以顺手加第三台PC划进VLAN 10PC1和PC3同VLAN应该能通这一正一反两组结果就是实验报告里VLAN划分与通信隔离的完整证据。我在带新手做这一步时会让他们先在Access口启动报文捕获看一眼抓到的全是没有802.1Q字段的普通以太帧。这不是抓包坏了而是Access口本来就是一个去Tag的口。带着这个认知进入跨交换机实验能少踩很多坑。3. 跨交换机VLAN互通Trunk链路的放行列表与Tag转发规则3.1 为什么跨交换机必须TaggedTrunk口在干道上的角色单台交换机内部VLAN信息由交换机自己维护Tag不出端口。两台交换机之间只有一条物理链路这条链路上要同时跑VLAN 10和VLAN 20的数据交换机就必须给每一帧贴标签——标签写明这个帧属于哪个VLAN。这就是Trunk口存在的唯一理由它走在干道上负责把带Tag的帧原样送到对端对端Trunk口再根据Tag把帧放进对应的VLAN继续二层转发。如果不用Trunk每个VLAN拉一根物理线各用一对Access口对接也能通但那是每个VLAN一条物理链路的原始做法线多且不灵活。Trunk的价值就是用一条物理链路承载多个VLAN的流量代价是两端必须协商好放行哪些VLAN、PVID怎么处理。3.2 两台交换机的主干配置trunk允许列表与PVID的完整命令拓扑SW1的GE0/0/1接PC1VLAN 10GE0/0/2接PC2VLAN 20SW2的GE0/0/1接PC3VLAN 10GE0/0/2接PC4VLAN 20两台交换机用GE0/0/24对GE0/0/24相连。SW1配置system-view vlan batch 10 20 # SW2上也要建同样的VLAN interface GigabitEthernet0/0/24 port link-type trunk # 干道口用trunk类型 port trunk allow-pass vlan 10 20 # 放行这两个VLAN的Tag帧 quitSW2的配置逐条相同。最容易错的地方在于两端Trunk口不仅连接类型要一致、放行的VLAN列表要一致PVID也最好一致。华为交换机的Trunk口默认PVID是1默认放行VLAN 1。也就是说你不额外修改VLAN 1的帧在这条链路上是带Tag走的而VLAN 10和20的帧因为allow-pass放行也会带Tag走。PC发出的帧在Access口已经被打上VLAN 10或20的Tag到达Trunk口时Trunk不会剥掉它直接原样转发到对端。这里还要澄清一个常见误解Trunk口是允许一个端口加入多个VLAN的正确方式。华为文档里说的一个端口加入多个VLAN指的就是Trunk或Hybrid口的放行列表而不是修改PVID。port trunk allow-pass后面的VLAN列表可以写成vlan 10 20这样的离散形式也可以写vlan all——不建议用all会把管理VLAN和后续新增VLAN全部放开安全边界变模糊。3.3 跨设备同VLAN互通验证display port vlan和ping的先后顺序配置完成先别急着点PC的ping按钮按顺序确认三件事在SW1和SW2上分别执行display port vlan确认GE0/0/24的Trunk类型、PVID、放行列表在两端一致。在SW1上执行display interface GigabitEthernet0/0/24看物理口状态是否为UP。如果DOWN检查两端连线是否接到位、两个设备是否都启动完成。PC1192.168.10.1/24与PC3192.168.10.2/24是同VLAN跨交换机组PC2192.168.20.1/24与PC4192.168.20.2/24是另一组。在PC1上ping PC3通了说明VLAN 10的Tag在Trunk链路上走通了。在PC1上ping PC2或PC4必须不通——这正是标题里的通信隔离。我在批实验报告时会专门看这一点有些同学把ping不通当成失败其实不通才是隔离的验收标准。同VLAN通、跨VLAN不通两组结果都写上结论才算完整。4. 通信隔离的落地验证广播域切割与VLANIF打破隔离的边界4.1 隔离的真相ARP广播出不了VLAN而不是交换机拒绝转发很多人在写实验报告时写交换机把VLAN 10和VLAN 20的数据隔离了听起来像交换机在匹配目的IP然后拒绝转发。实际上二层交换机根本不看IP。VLAN隔离的本质是把一个物理广播域切成两个逻辑广播域。PC1 ping PC4时首先发一个ARP广播帧问谁是192.168.20.1这个广播帧只在PC1所在的VLAN 10里转发VLAN 20的端口根本收不到它交换机不会把一个VLAN的广播帧复制到另一个VLAN的端口。PC4收不到ARP请求自然不回应PC1永远拿不到PC4的MAC地址。没有MAC地址二层帧无法封装ping就超时。所以隔离不是交换机摆出拒绝的姿态而是数据面根本没机会相遇。这个认知决定了排错方向跨VLAN ping不通时不用去怀疑Trunk放行列表配错了那属于正常隔离真正要看的是跨交换机同VLAN之间的通断那里的故障才值得查。4.2 打破隔离的常见做法VLANIF网关与vlan间通信的最小配置毕设里做完跨交换机VLAN后下一问通常就是ensp怎么跨vlan通信。要通信必须有三层转发eNSP的S5700自带三层能力最简做法是给每个VLAN配一个VLANIF接口当网关interface Vlanif10 ip address 192.168.10.254 24 # VLAN 10内PC的网关 quit interface Vlanif20 ip address 192.168.20.254 24 # VLAN 20内PC的网关 quit把PC1的网关改成192.168.10.254PC4的网关改成192.168.20.254再ping就能通。数据路径是PC1先发ARP问网关MAC交换机用VLANIF10的MAC回应PC1把帧交给网关交换机查路由表发现192.168.20.0/24挂在VLANIF20上于是把帧从VLANIF20转发出去到VLAN 20里找到PC4。这个过程中Trunk链路依旧承载带Tag的帧VLANIF只是给原来被隔离的广播域开了一道三层的门。4.3 选型边界VLANIF、子接口与基于子网的VLAN划分各适用在哪VLANIF最适合eNSP跨交换机实验因为S5700就是三层交换机不需要额外设备。如果手头只有两台二层交换机加一台路由器就得用路由器子接口做单臂路由在子接口上封装对应的VLAN ID配置量和理解门槛都更高。还有一种升级玩法华为某些框式交换机支持基于IP子网的VLAN划分让帧按报文源IP自动归入某个VLAN常用于IP电话和哑终端场景。但要泼一盆冷水普通傻瓜交换机根本没有VLAN控制面不可能基于IP划VLAN网上那种傻瓜交换机基于ip划分vlan的说法多半是把某型设备上的特性在传播。实验里选型第一步先问设备是否可管理第二步才问特性。5. eNSP跨交换机VLAN实验避坑指南5条高频踩坑记录与排查命令这一章是血泪经验总结。以下翻车记录我都亲眼见过先说现象再给原因最后给解决命令。5.1 同VLAN跨交换机ping不通Trunk放行列表没生效现象单交换机上两台VLAN 10的PC互通加了第二台交换机后PC1 ping PC3不通。原因Trunk口漏了port trunk allow-pass vlan 10或者配置顺序写反了。华为Trunk口默认只放行VLAN 1你建了VLAN 10但没放行带VLAN 10 Tag的帧会在这条链路被丢弃。解决两端都重新执行port trunk allow-pass vlan 10 20然后display port vlan确认放行列表里出现了10和20。注意只改一端也会不通必须两端一致。5.2 两端PVID不一致port trunk pvid vlan 10产生的问题现象VLAN 10跨交换机通信正常VLAN 20通不了或者两个VLAN都时通时不通。原因有人觉得Trunk口要属于某个VLAN于是在两端敲了port trunk pvid vlan 10。华为Trunk默认PVID是1A端PVID改成10后从A端Trunk口进入的不带Tag帧会被打上VLAN 10的TagB端PVID还是1收到后再按自己的规则处理一来一回Tag就乱了。实验里两端PC发的帧都已经带TagTrunk口根本不需要改PVID。解决保持默认不动或者把两端PVID改成一致。pvid和vlan id的区别就在这里PVID是端口配置VLAN ID是帧里的字段Trunk口放行的是VLAN ID列表跟PVID没有绑定关系。提示Trunk口PVID只影响从该口进入的untagged帧会被放进哪个VLAN。跨交换机VLAN实验里PC帧已经在Access口被打过Tag进入Trunk时都是tagged状态PVID几乎不参与转发判断没必要改。5.3 一根线想带两个VLANaccess口接傻瓜交换机的误区现象Trunk口下面接了一个普通8口交换机两台PC分别接在傻瓜交换机上结果两台PC永远只能属于同一个VLAN。原因傻瓜交换机不处理802.1Q Tag它会把Trunk口发来的带Tag帧当普通帧透传或者直接丢弃PC之间根本不在预期的VLAN里。Trunk口只能连管理型交换机的Trunk口末端设备想识别多个VLAN必须有对应的硬件能力。解决实验里如果只有傻瓜交换机就把它上联口改成access并固定到某个VLAN比如VLAN 10这台交换机下的所有设备都归VLAN 10。这就是基于端口划分VLAN的物理边界别在二层链路上硬塞多个VLAN。5.4 改完配置ping到的还是旧设备ARP缓存和MAC表残留现象把PC1从VLAN 10改到VLAN 20IP从192.168.10.1改成192.168.20.1再ping PC2却发现回包还是来自旧地址。原因eNSP里的PC和交换机都会保留ARP缓存和MAC地址表。VLAN改了之后交换机的MAC表可能还记录着旧端口与旧VLAN的映射ARP缓存里旧IP对应的MAC也没过期二层转发走到错误路径。解决在PC上执行arp -d清ARP缓存在交换机上执行undo mac-address清MAC表或者把设备全部关闭重启再验证。实验报告里写明验证前清除ARP缓存是个能加分的好习惯。5.5 eNSP设备起不来或接口全down模拟器环境问题怎么处理现象设备启动卡在进度条中段或者启动完成后所有接口都DOWN命令行敲入命令没反应。原因eNSP依赖本机虚拟化组件和网卡驱动Windows主机的防火墙、多块虚拟网卡、无线网卡驱动都可能导致模拟器服务异常。这属于环境问题和VLAN配置没有任何关系。解决先关闭设备重新启动等运行灯变绿再操作还不行就重启一次相关虚拟化服务。核心原则环境问题优先于配置问题排查不要在接口全DOWN的状态下反复改VLAN配置越改越乱。6. 用Wireshark验证带Tag的报文把VLAN隔离看成证据6.1 在Trunk口抓包得到802.1Q TagWireshark里的VLAN字段eNSP支持在交换机接口上启动报文捕获导出pcap文件后用Wireshark分析。想看到带VLAN Tag的报文抓包位置必须在Trunk链路的口上比如SW1的GE0/0/24而不是Access口。在PC1VLAN 10ping PC3VLAN 10跨交换机时Trunk口抓到的帧里Ethernet层会多出一个802.1Q Virtual LAN字段里面VLAN ID: 10清晰可见。如果抓包位置在Access口抓到的是不带Tag的普通帧因为Access口转发给PC前会把Tag剥掉。这个对比本身就说明了一个结论Tag只存在于Trunk链路上Access口两侧永远看不到它。Wireshark的VLAN字段设置不需要额外操作802.1Q标签出现时会自动解析。真正要注意的是过滤栏写法只看某个VLAN的报文可以用vlan.id 10但这个过滤条件在eNSP导出的文件里可能因为接口名称不同而失效最稳妥的办法是先点开一个帧手动确认字段名再套用过滤器。6.2 Tagged帧与Untagged帧对照怎么用抓包结果反向验证隔离保持Trunk口抓包回到PC1上ping PC2VLAN 20。此时Trunk口上除了PC1发出的ARP请求外不会有来自VLAN 20的回应帧——因为ARP请求只在VLAN 10内广播根本不会出现在VLAN 20的数据路径上。看不到回包就是通信隔离最直观的证据。抓包时你也会看到一些空白帧或者不带Tag的报文那通常是交换机之间的管理报文或者VLAN 1的流量TCP/IP协议栈扫描全局是开着的但VLAN这个字段就只认802.1Q的14号字段优先级字段偶尔有值但对本实验没有意义。做实验记录时给一张Trunk口抓包截图标注出Tagged帧的VLAN ID和untagged帧的分布比写一页文字结论更有说服力。我做这个实验最深的教训是把ping不通一律当成配置错误去查结果在Access口抓了半天包始终找不到Tag字段一度怀疑eNSP坏了。后来才意识到Tag是Trunk口专属的抓包位置选错了结论自然错。现在每次做跨交换机VLAN实验我都固定三步先display确认端口和放行列表再在Trunk口抓包确认Tag最后用同VLAN通、跨VLAN不通的对照组写成验收记录。按这个顺序走这个实验几乎不会再翻车。希望帮到你。本文还有配套的精品资源点击获取
返回列表