我见过不少人,拿着教材能把VLAN的概念背得滚瓜烂熟,一到实际配置交换机就翻车。这不是在嘲讽谁,而是因为VLAN这套知识有个特点:光靠看真的学不会。你只有亲手敲一遍命令,最好再故意配错几次,才能真正理解802.1Q的Tag是怎么在链路上给数据帧标身份的,Trunk口的PVID被改掉会引发什么连锁反应。
所以我把最近在eNSP里做的一整套VLAN实验记录整理成了这篇攻略。内容从单交换机VLAN划分开始,一路做到跨交换机Trunk通信、VLAN间路由、基于IP子网的VLAN划分、VLAN Pool、IPSG源防攻击和管理VLAN,基本把VLAN相关的主流实验都覆盖了。适合刚开始学网络、准备华为认证实验,或者工作中正被VLAN问题折磨的朋友。每一步都有命令、有验证、有坑位提醒,照着做就能搭完。
1. 实验前的思路:VLAN到底在解决什么,这轮实验要验证什么
1.1 一个不划分VLAN的网络会怎样
很多人学VLAN时第一个疑问是:交换机不就能转发数据吗,为什么非要多此一举搞出个VLAN?最好的回答是看反面教材。
假设公司只有一台交换机,财务部、行政部、研发部几十台电脑全接在上面。不划VLAN,所有人都在同一个广播域里。某个员工电脑中招后疯狂发ARP广播,整台交换机上所有端口都会收到这些广播帧,局域网直接卡成PPT。更麻烦的是安全隔离形同虚设,财务部共享文件夹里的数据,研发部也能访问,领导问起来你拿不出任何隔离手段。
VLAN(Virtual Local Area Network,虚拟局域网)做的事情,就是在一个物理局域网里切出多个逻辑隔离的广播域。VLAN 10里的广播帧永远不会进入VLAN 20,跨VLAN通信必须经过三层设备,这样你才有位置做ACL等访问控制。这个机制听着简单,但它是一切园区网、数据中心网络的基础。这也是为什么我说它是网络工程师第一个值得认真对待的实验。
1.2 这轮实验要验证的四个核心结论
实验不能盲目敲命令,每个实验都要对应一个明确的结论。我这轮给自己定的验证目标如下:
- 二层隔离:不同VLAN之间的广播不可达,同VLAN内二层互通。
- 端口收发模型:Access口只承载一个VLAN的untagged流量,Trunk口承载多个VLAN并区分tagged和untagged。
- 三层介入:VLAN间通信必须经过路由器或三层交换机的VLANIF接口。
- 动态划分:VLAN不一定要绑定端口,还可以基于IP子网、基于用户接入动态分配。
后面每个实验都是围绕这些结论展开的。
1.3 eNSP实验环境与设备选型
模拟器用华为eNSP,这套实验在eNSP上跑非常顺手。设备选型建议如下:
| 设备角色 | 型号 | 用途 |
|---|---|---|
| 接入交换机 | S5700 | 做VLAN划分、Access/Trunk实验 |
| 路由器 | AR2220 | 单臂路由实验 |
| 终端 | PC(eNSP自带) | 测试连通性、修改IP和网关 |
版本上,S5700对VLANIF三层功能支持得比S3700好,VLAN间通信实验需要它。环境搭建时有个小提醒:模拟器设备启动慢或者启动后一直显示"#",十有八九是Windows防火墙或WinPcap/Npcap驱动的问题。先把防火墙关掉,把抓包软件重装一遍再启动设备,能省掉很多不必要的折腾。
另外一个基础概念先摆出来:华为交换机默认所有端口都在VLAN 1里,接口默认链路类型是Hybrid,并不是很多人以为的Access。所以做配置实验时,每个端口都要显式指定link-type,不要依赖默认值。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 单交换机VLAN划分实验:Access端口的归属逻辑
2.1 拓扑设计与IP规划
第一个实验用一台S5700加四台PC。端口规划如下:
- G0/0/1接PC1,划入VLAN 10,IP为192.168.10.1/24。
- G0/0/2接PC2,划入VLAN 10,IP为192.168.10.2/24。
- G0/0/3接PC3,划入VLAN 20,IP为192.168.20.1/24。
- G0/0/4接PC4,划入VLAN 20,IP为192.168.20.2/24。
实验目标是验证:PC1和PC2能互通,PC3和PC4能互通,但VLAN 10和VLAN 20之间不能互通。
2.2 华为交换机VLAN划分配置命令
在S5700上执行下面的命令序列:
code复制system-view
sysname SW1
vlan batch 10 20
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
interface GigabitEthernet0/0/2
port link-type access
port default vlan 10
interface GigabitEthernet0/0/3
port link-type access
port default vlan 20
interface GigabitEthernet0/0/4
port link-type access
port default vlan 20
return
解释一下几个关键点。vlan batch 10 20是一次性创建两个VLAN,比逐个vlan 10、vlan 20省事。port link-type access把端口设为Access模式,Access口的特点就是整个端口只属于一个VLAN,连接PC这类终端设备再合适不过。port default vlan 10则指定这个Access口归属的VLAN。
华为不同系列交换机在基础命令上是一致的,S5700、S3700、S12700这些都能直接用。但不同版本软件可能在高级特性上有差异,比如MUX VLAN、基于组策略的VLAN分配,实验时以自己设备的文档为准。
2.3 验证:为什么同VLAN能通而跨VLAN一定不通
配置完成后用display vlan查看,能看到VLAN 10和VLAN 20各有对应端口。然后打开PC的命令行,分别做ping测试。
PC1 ping PC2,通。PC1 ping PC3,不通。PC3 ping PC4,通。
对于"为什么PC1 ping不通PC3",很多人只记住了"VLAN隔离了广播域"这句话,但没理解链路层发生了什么。PC1发出ARP请求时,这是目的MAC为广播地址的二层帧,交换机发现这个帧来自VLAN 10的端口,只会把它复制到VLAN 10内的其他端口。PC3在VLAN 20里,根本收不到这个广播帧,自然无法回应。就算PC1提前知道PC3的MAC地址,直接发单播帧,交换机的MAC地址表里,PC3的MAC学习在VLAN 20的对应端口上,与VLAN 10的源端口不匹配,二层查找也转发不过去。
这里顺便说一个常见误解:跨VLAN"不能通"是指二层不通。如果PC上配了网关,而网络里有三层设备介入,那它当然可以通,但那个通就属于三层路由转发了,这是后面第4章的实验内容。
2.4 Access端口到底带不带Tag,一次性说清
很多人学Access端口时总被"带Tag"和"不带Tag"绕晕。用最简单的话总结:
- Access口收帧:收到不带Tag的帧,给帧打上端口的PVID标签,也就是Access口所属VLAN的ID;收到带Tag的帧,如果Tag跟PVID一致就收下并剥掉Tag,不一致就丢弃。
- Access口发帧:一律剥掉VLAN Tag再发出去,就是发untagged帧。
所以说Access口连PC是因为PC网卡不识别VLAN标签,它发的帧本来就没有Tag,交换机给它打上标签是为了在内部区分归属,发送时再还原成无标签帧。看清这个模型后,后面Trunk口的理解就顺理成章了。
3. 跨交换机VLAN通信实验:Trunk不仅是管道,还要管住Tag
3.1 拓扑与VLAN规划
单交换机实验做完,紧接着把拓扑扩展成两台交换机。SW1和SW2用G0/0/24互联,SW1下接PC1(VLAN 10)和PC3(VLAN 20),SW2下接PC2(VLAN 10)和PC4(VLAN 20)。目标是让VLAN 10的PC1和PC2跨交换机互通,VLAN 20的PC3和PC4跨交换机互通。
如果两台交换机之间用普通Access口相连,问题就来了:Access口只能承载一个VLAN的untagged流量,VLAN 10能过去,VLAN 20就不能过去。连接交换机之间的链路必须同时承载多个VLAN,这就是Trunk口存在的意义。
3.2 Trunk配置与allow-pass的实际作用
SW1的配置如下:
code复制system-view
sysname SW1
vlan batch 10 20
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
interface GigabitEthernet0/0/2
port link-type access
port default vlan 20
interface GigabitEthernet0/0/24
port link-type trunk
port trunk allow-pass vlan 10 20
return
SW2的配置对称,把PC1换到G0/0/1、PC3换到G0/0/2,G0/0/24同样设为Trunk。配置完就能看到PC1 ping PC2通了,PC3 ping PC4也通了。
这里有个很重要的细节:华为交换机的Trunk口默认允许所有VLAN通过。有人觉得既然默认全放行,干脆不写port trunk allow-pass vlan这行命令。但实践中必须写,理由有两个。第一是安全,Trunk口一旦放行某个VLAN,就意味着这个VLAN的流量可以在两台交换机之间流通,做到最小化放行可以避免把不想跨交换机的VLAN暴露出去。第二是可维护性,明确列出放行列表,后期排查问题一眼就能看出设计意图。
Trunk口转发帧的规则也不难记:发帧时,如果帧所属的VLAN等于端口PVID,就剥掉Tag发untagged帧;如果不是PVID对应的VLAN,就带着802.1Q Tag发出去。收帧时,无Tag帧打上PVID对应的Tag,有Tag帧直接按Tag里的VID处理。
3.3 PVID实验:把Trunk口的PVID改错,会发生什么事故
这是我这轮实验里印象最深的一个坑。所谓PVID(Port VLAN ID),简单说就是端口收到无Tag帧时,默认给帧贴上的VLAN标签编号。Trunk口默认PVID是VLAN 1,也就是本征VLAN(Native VLAN)。
我做了个故意改错的实验:把SW1的G0/0/24的PVID改成10,SW2保持不动。
code复制interface GigabitEthernet0/0/24
port trunk pvid vlan 10
结果PC1 ping PC2直接失败。看现象分析原因:PC1发出的帧进入SW1的Access口后被打上VLAN 10标签,从Trunk口G0/0/24发出时,因为VLAN 10正好等于PVID 10,交换机把帧的Tag剥掉了,作为untagged帧发给SW2。SW2收到这个无标签帧后,按照自己的PVID规则打上VLAN 1的标签。于是本来属于VLAN 10的流量,在SW2眼里变成了VLAN 1流量,交换机把它转发到VLAN 1的端口,PC2永远收不到。
这个实验说明了一个真理:跨交换机Trunk链路两端,PVID必须保持一致,否则无标签帧会被另一端错误打标,看起来像是"数据莫名其妙丢了",实际上是标签身份被替换了。
3.4 验证命令怎么用:display vlan brief、display port vlan、display interface brief
做实验时最容易出错的是命令记混。很多人想查VLAN信息,打display int vlan brief却提示错误,因为华为的正确命令是display vlan brief。我整理了一个速查表:
| 命令 | 作用 | 适用场景 |
|---|---|---|
| display vlan | 查看每个VLAN下绑定的端口列表 | 确认端口划分是否正确 |
| display vlan brief | 按VLAN维度查看概要,包含VID、属性、接口数 | 快速总览VLAN创建情况 |
| display port vlan | 按端口维度查看端口类型、PVID、允许通过的VLAN | 排查Access/Trunk端口配置问题 |
| display interface brief | 查看所有接口物理状态和协议状态 | 确认链路有没有UP |
| display interface GigabitEthernet0/0/24 | 查看单端口详细信息,含Trunk放行列表和PVID | 精确排查某个Trunk口 |
| display mac-address | 查看MAC地址表 | 验证交换机是否学到了终端MAC |
排错顺序一般是display interface brief看链路,再display port vlan看端口配置,配合display mac-address确认MAC学习情况。这套组合拳在后面的第7章会详细展开。
4. VLAN间通信实验:三层介入的三种姿势
4.1 单臂路由:在一条链路上跑多个VLAN
VLAN把二层隔离做干净了,但业务上经常需要让不同VLAN之间互相访问,比如财务系统要允许管理员的VLAN访问。二层解决不了的事,就得让三层设备介入。
第一种方式是单臂路由。拓扑上,三层交换机或路由器只需要用一条物理链路连接到交换机,在这条链路上跑多个VLAN。路由器这边通过子接口来区分,交换机侧把连接路由器的口配置成Trunk,放行需要互通的VLAN。
华为AR路由器的配置如下:
code复制interface GigabitEthernet0/0/0.10
dot1q termination vid 10
ip address 192.168.10.254 255.255.255.0
arp broadcast enable
interface GigabitEthernet0/0/0.20
dot1q termination vid 20
ip address 192.168.20.254 255.255.255.0
arp broadcast enable
这里有两个命令特别容易漏。一个是dot1q termination vid 10,指定子接口只处理带VLAN 10 Tag的帧。另一个是arp broadcast enable,允许子接口处理ARP广播请求。漏配arp broadcast enable的典型现象是:PC配置了网关但ping不通网关,因为路由器的子接口收到PC的ARP广播后根本不回应。
单臂路由虽然能实现VLAN间通信,但瓶颈很明显:所有跨VLAN流量都挤在同一条物理链路上,而且由路由器CPU处理,吞吐量和时延都不够理想。实验里用用没问题,生产环境基本被三层交换机取代了。
4.2 三层交换机SVI:工程上最常见的做法
第二种方式是目前企业园区网最常用的方案——在交换机上创建VLANIF接口。VLANIF也叫SVI(Switch Virtual Interface),可以理解成给VLAN配了一个三层网关接口。只要交换机支持三层转发,每个VLAN一个VLANIF,VLAN间流量直接走交换机内部的三层转发表,性能比单臂路由高一个数量级。
配置比起单臂路由简单太多:
code复制interface Vlanif10
ip address 192.168.10.254 255.255.255.0
interface Vlanif20
ip address 192.168.20.254 255.255.255.0
PC1的网关设为192.168.10.254,PC3的网关设为192.168.20.254。配置完成后PC1 ping PC3就能通。
有个细节要注意:PC的网关必须配置正确。很多人做完VLANIF配置,在交换机里怎么看都正常,但PC就是ping不通,最后发现是PC的网关没填或者填错了。PC本机要决定把跨网段报文发给谁,靠的就是网关地址。这个很基础,但实验里踩到的人真不少。
4.3 三种VLAN间通信方式怎么选
第三种方式是传统多臂路由,就是用路由器多个物理接口分别连接交换机的不同Access口,每个接口对应一个VLAN。这种方式在VLAN数量多的时候严重浪费端口,现在的实验和实际工程都很少用了,知道有这回事就行。
我把三种方式放在一起对比:
| 方式 | 配置复杂度 | 性能 | 适用场景 |
|---|---|---|---|
| 单臂路由 | 中等,需配置子接口和dot1q命令 | 低,依赖路由器CPU | 实验学习、小型网络、临时方案 |
| 三层交换机VLANIF | 低,一条ip address | 高,硬件转发 | 企业园区、数据中心网关 |
| 多臂路由 | 高,浪费物理口 | 中 | 基本不用,仅特殊场景 |
实际工作中我几乎只用VLANIF方案。如果是实验学习,建议单臂路由和VLANIF都做一遍,因为单臂路由的配置能帮你理解802.1Q Tag在路由器上怎么终结,这个理解对排查问题特别有用。
做这个实验的时候顺便回应一个常被问到的问题:华为不同型号的三层交换机,划VLAN的基础命令都一样,但三层转发能力有区别,S3700和S5700在VLANIF创建上没差别,差别在路由协议、ACL等高级功能上。实验室里不必纠结型号。
5. 进阶实验:让VLAN自动认领用户的两种方式
5.1 基于IP子网的VLAN划分实验
前面做的都是基于端口的VLAN划分:端口固定属于哪个VLAN,接入的终端就属于哪个VLAN。但有这样一个场景:一个下行口下面接的终端网段会变化,你希望交换机根据终端使用的IP网段,自动给它分配到对应的VLAN里,终端从A网段改成B网段后,VLAN归属也跟着变。这就是基于IP子网的VLAN划分。
华为交换机上配置命令如下:
code复制vlan batch 10 20
vlan 10
ip-subnet-vlan ip 192.168.10.0 255.255.255.0
vlan 20
ip-subnet-vlan ip 192.168.20.0 255.255.255.0
interface GigabitEthernet0/0/1
port link-type hybrid
port hybrid ip-subnet-vlan enable
port hybrid untagged vlan 10 20
这个配置的核心有三条。VLAN视图下用ip-subnet-vlan把IP子网和VLAN绑定;端口切换成Hybrid模式,Hybrid是华为比较灵活的端口类型,可以同时放行多个VLAN的tagged和untagged流量;然后port hybrid ip-subnet-vlan enable使能基于子网的VLAN识别。
实验验证时,先把PC1的IP设为192.168.10.10/24,接在G0/0/1下,让PC发几个ping包,再到交换机上执行display vlan,能看到端口出现在了VLAN 10的端口列表里。然后把PC1的IP改成192.168.20.10/24,再发几个包,端口又会出现在VLAN 20的列表里。这就是"按IP子网认领VLAN"的效果。
有一点必须提醒:交换机是基于收到的报文源IP来判断的,如果终端不发任何包,交换机就一直学不到,端口不会自动归入某个VLAN。所以验证时一定要先让PC发包,比如ping一下交换机上的某个VLANIF地址。
5.2 VLAN Pool是什么场景用的
和基于IP子网经常被一起提起的,是VLAN Pool。这俩名字容易混,但完全不是一回事。
VLAN Pool使用在WLAN接入场景,通常配置在AC上。多个无线用户接入同一个SSID,如果所有用户都在同一个VLAN,广播域太大,性能差,还不好管控;如果管理员手工给每个用户指定VLAN,又太死板。VLAN Pool的思路是把多个VLAN放在一个"池子"里,用户关联上来时,AC按负载均衡策略从池里动态挑一个VLAN分配给它。
AC侧的配置思路大致是:
code复制vlan pool pool1
vlan 10 20
值得说明的是,VLAN Pool负责的是"用户进来时分配到哪个VLAN",而基于IP子网的VLAN划分负责的是"报文进来时根据源IP归入哪个VLAN"。一个在接入认证阶段决定身份,一个在数据转发阶段识别特征,这是两者的本质区别。eNSP对VLAN Pool的完整仿真支持有限,理解原理即可。
5.3 网卡多VLAN与服务器场景的横向延伸
做Trunk实验时,很多人会问:一台服务器或者一台PC,能不能同时接入多个VLAN?可以,但不是修改交换机端口,而是在网卡上做VLAN子接口。
Linux下命令是这样的:
bash复制ip link add link eth0 name eth0.10 type vlan id 10
ip link add link eth0 name eth0.20 type vlan id 20
ip link set eth0.10 up
ip link set eth0.20 up
创建出来的eth0.10、eth0.20就是带VLAN Tag的虚拟网卡,这个技术思路在虚拟化平台里很常见。把宿主机物理网卡配置成Trunk口,虚拟机分配不同的VLAN ID,就能在同一个物理网络上跑多个隔离的虚拟机网络。容器网络里Multus多网卡插件给Pod挂VLAN子接口,底层用的也是同一套802.1Q机制。VLAN标签这个思想从园区网一路延伸到数据中心,一直没有变过。
6. 安全与运维向实验:IPSG源校验和管理VLAN
6.1 基于VLAN的IPSG组网配置
VLAN实验做到这步,已经解决了连通性问题,接下来做安全加固方向的实验。IPSG(IP Source Guard)是我觉得每个网工都应该亲手配一遍的特性,因为它在接入层防私改IP、防IP欺骗上非常有用。
IPSG的原理,是把IP、MAC、接口、VLAN四元组绑定成一张表,交换机收到报文时先校验,不匹配就丢弃。绑定表来源有两个:管理员手工配置的静态绑定表,或者DHCP Snooping生成的动态绑定表。
实验场景还是之前的单交换机。PC1在VLAN 10,IP是192.168.10.1,MAC是0000-0000-0001,接在G0/0/1。配置如下:
code复制user-bind static ip-address 192.168.10.1 mac-address 0000-0000-0001 interface GigabitEthernet0/0/1 vlan 10
ip source check user-bind enable
interface GigabitEthernet0/0/1
ip source check user-bind enable
第一行建立静态绑定,第二行全局使能IPSG,第三行在接口上使能IPSG。注意,华为设备通常需要在全局和接口两个层面都打开,漏一个都会导致校验不生效。如果想对VLAN 10下所有端口生效,也可以在VLAN视图下配ip source check user-bind enable。
验证方法很简单:把PC1的IP改成192.168.10.100,再ping网关。正常情况下会失败,因为交换机找不到192.168.10.100对应的绑定关系,直接丢弃报文。改回绑定的192.168.10.1后就通了。这个实验直观展示了IPSG的价值:就算内网有人想私改IP冒充别人,接入交换机这关就把他拦住了。
关于动态场景,如果终端通过DHCP获取地址,必须先在交换机上开启DHCP Snooping,让它生成IP-MAC绑定表,IPSG才能有表可查。实验里为了聚焦IPSG本身,建议用静态绑定表。
6.2 管理VLAN单独设置的现实意义
一开始规划VLAN时,很多人只顾着给业务划分VLAN,给设备远程管理用的地址却随手放在业务VLAN里。这种做法在业务量小的时候没事,一旦某个业务VLAN出现广播风暴,或者被攻击者扫描,管理地址跟着遭殃,交换机就"失联"了,远程维护根本做不了。
管理VLAN,就是专门用来承载网络设备管理流量的VLAN。Telnet、SSH、SNMP这些网管协议都应该走这个独立的管理VLAN。它和业务VLAN隔离,数据面不管怎么抖,管理面都能保持稳定。这个习惯得从做实验的时候就开始养成。
6.3 把管理平面单独占一个VLAN的实操
在eNSP里模拟一下。给SW1创建一个管理VLAN 100,配上管理地址:
code复制vlan 100
interface Vlanif100
ip address 10.0.0.2 255.255.255.0
实验中的PC2在VLAN 10,IP是192.168.10.2/24。从PC2去ping 10.0.0.2,如果不给VLAN 100配路由,是不通的。但这恰恰是管理VLAN隔离性的体现:管理流量和业务流量互不干扰。如果确实需要通过业务网访问管理地址,再单独放行路由和ACL,而不是图省事直接把所有VLAN塞在一起。
真实设备上还要配合aaa、VTY和SSH配置才能远程登录,eNSP里也可以做,但核心是理解管理VLAN的隔离价值。建议做实验的读者养成的习惯:任何组网,开头就规划一个独立的管理VLAN,哪怕只有一台交换机,也把管理地址单独放进去。
7. 这轮实验踩过的坑和一套可复用的排查路径
7.1 我遇到的两个典型"VLAN事故现场"
第一个事故现场是跨交换机同VLAN不通。现象是PC1和PC2明明都在VLAN 10,也跨接在SW1和SW2上,但就是ping不通。排查半天发现,SW1的G0/0/24上配置了port trunk pvid vlan 10,SW2没有,两层交换机对无标签帧的理解完全不一致。这就是第3章说的PVID不一致引发的问题。这个坑非常隐蔽,只靠ping无法直接看出是Tag被改了,必须到两端看PVID。
第二个事故现场是单臂路由配好后,PC侧能看到网关配好了,但ping网关不通。检查路由器的接口是UP的,子接口也配了IP,怎么看都正常。后来想起来arp broadcast enable没写。这个命令漏配后,路由器不会响应子接口收到的ARP广播,PC始终解析不到网关的MAC地址,三层转发自然起不来。教训是:华为路由器的子接口默认不终结VLAN、不处理ARP广播,两个命令都得显式配置。
7.2 一套可复用的VLAN排查链路
在网络排错里,最忌讳上来就改动配置,而应该按链路逐层排查。我做VLAN实验遇到问题时,基本沿着这条路径走:
- 看接口状态:执行
display interface brief,确认PC所在接口和Trunk互联接口都是UP状态。接口都DOWN的话,后面的VLAN配置再对也没用。 - 看VLAN表:执行
display vlan,确认VLAN存在,确认目标端口出现在对应的VLAN里。 - 看端口属性:执行
display port vlan,重点看端口类型和PVID。Access口确认归属于哪个VLAN,Trunk口确认放行列表和PVID。 - 看Trunk细节:对互联端口执行
display interface GigabitEthernet0/0/24,查看Trunk口允许通过的VLAN列表、PVID等细节。 - 看MAC表:让PC发几个包后,在交换机上执行
display mac-address。如果交换机学到了PC的MAC,说明二层转发通路正常;如果学不到,说明帧可能根本没进交换机,或进了但被某个机制丢弃。 - 抓包看Tag:eNSP有个抓包功能,在接口上右键开启抓包,再发起ping,然后用Wireshark打开抓包文件。Trunk口抓到的VLAN 10帧,可以清楚看到802.1Q Tag里的VID字段是10。Access口抓到的帧一般没有Tag。这个动作能把"Tag到底打没打、表的对不对"变成亲眼所见。
这套链路走完,90%的VLAN配置问题都能定位。剩下10%的问题,基本就是路由表、防火墙策略等更高层的东西了,那已经超出VLAN实验的范畴。
7.3 给新手的几个建议
做完整轮实验,我最大的体会是:VLAN实验一定不能只照着文档抄命令,要故意制造错误。改错PVID看现象、漏配allow-pass看现象、不配网关看现象,每一次"意外"都比成功配置更能加深理解。
具体建议是:先画好拓扑图,注明每个端口的VLAN归属、IP地址网段和网关;每次只改一个配置项,改完立刻验证,不要一次性敲完一堆命令然后到处找问题;把display vlan brief、display port vlan、display interface brief三个命令练到不用想就能打出来——所有VLAN排查都绕不开它们。
最后分享一个小技巧:实验全部做完后别急着关模拟器,把SW1和SW2之间的链路抓包抓一次,找个VLAN 10的帧展开看,你会直观地看到那4字节的802.1Q Tag——TPID是0x8100,TCI里清清楚楚标着VLAN ID。这个画面能帮你把前面所有关于Tag、PVID、Trunk的知识全部串起来,比反复背概念管用得多。
