1. 从入门到实战:VLAN配置实验的核心思路
1.1 为什么你必须亲手做一次VLAN实验
VLAN(Virtual Local Area Network,虚拟局域网)这个技术,在现网里属于“天天见但未必真懂”的那类知识点。很多网工在华为、思科设备上敲过几条命令,比如vlan batch、port link-type access,但一旦遇到“为什么这台终端ping不通隔壁部门”“为什么接了trunk口反而全部互通”这类问题,还是会卡壳。
把这个问题拆开看,VLAN配置实验之所以值得每个网络方向的人认真做一遍,是因为它从来不只是“敲命令”——它涉及二层转发模型的底层认知、接口类型与报文标签的处理逻辑、广播域的隔离与恢复,以及后续VLAN间路由的完整链路。我见过不少做过实验的人,能背出access口、trunk口的概念,但问他“一个不带tag的帧从access口进来,在交换机内部到底带着什么身份在转”的时候,却答不上来。这说明实验做得不够深,或者只是照抄配置,没有把自己代入报文转发的视角。
这个实验适合谁?在我看来,所有刚接触交换技术的新人、准备华为HCIA/HCIP认证的考生、以及负责局域网维护但只停留在“照着老配置改VLAN号”的运维同学,都应该用半天时间,把下面这套实验从零敲一遍。它不是一个高深课题,但它是一块分水岭——做明白了,后面学STP、链路聚合、VLAN间路由、QinQ都会顺很多。
1.2 实验环境的选型与准备工作
做VLAN实验,优先推荐华为eNSP。原因很简单:国内现网华为设备存量很大,而eNSP里模拟出的交换行为和真实设备几乎一致,命令习惯也是厂商原生的,以后上真机不会有陌生感。如果你的电脑性能吃不消eNSP,或者系统兼容性出问题,Cisco Packet Tracer也是一个选择,但注意它模拟的是思科风格,VLAN的基本概念通用,命令细节差异明显,不建议两边混着学。
以下是实验需要准备的东西:
- eNSP软件,建议用较新的版本
- 至少3台交换机(其中至少两台支持trunk和VLANIF,对于单臂路由实验,可以用路由器替代一台三层设备)
- 3到4台PC终端,用来模拟不同VLAN下的用户主机
- 一片空闲的网段规划表,比如192.168.10.0/24、192.168.20.0/24
在开始配置前,先在纸上画一张拓扑草稿。个人习惯是:两台二层交换机(SW1、SW2),每台下面各接两台PC,交换机之间用一条互联链路,SW1上再接一台路由器(AR)做VLAN间路由。这样一个拓扑能覆盖VLAN创建、Access接入、Trunk互联、VLAN间通信四个核心点。画图的过程本身就是对报文走向的预演,别跳过。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. VLAN的核心机制与配置前的必要认知
2.1 VLAN到底隔离了什么
很多资料习惯说“VLAN隔离广播域”,这个说法没毛病,但容易被理解成“隔离广播报文”。更准确的理解是:VLAN重新划定了二层转发域——一个VLAN形成一个独立的广播域,同时也形成了独立的MAC地址学习域和转发域。
这里要用一个生活化的类比来说:一栋办公楼(交换机)里有多个房间(VLAN),每个房间里有几个人(终端)。房间之间的隔断是隐形的,大家虽然在同一栋楼里,但如果你没有被安排进某个房间,你和里面的人打招呼,对方根本听不见。而交换机就是这个楼的管理员,他手里有一张表,记录着每个房间门牌(VLAN ID)对应哪些墙上的插座(交换机端口)。
这个机制的底层是IEEE 802.1Q标准。它在一个以太网帧的源MAC地址之后、类型字段之前,插入4个字节的VLAN Tag,其中低12位是VLAN ID,取值范围0到4095,实际可用的是1到4094。当交换机端口收到一个帧,它会根据端口的配置决定:这个帧该打上哪个VLAN的Tag,或者该去掉Tag再送出去。
理解这一点后,下面所有的接口类型和配置命令都是围绕“什么时候加Tag、什么时候剥Tag、什么时候允许哪些VLAN通过”这三件事展开的。这也是为什么配置命令其实不多,但细节最容易出错的地方。
2.2 端口类型:Access、Trunk与Hybrid的三方博弈
华为交换机上的端口类型主要分三种:Access、Trunk、Hybrid。对于初学者来说,最难的不是记命令,而是理解每种口对Tag的处理规则不同。
先说Access口:
- 接入链路,通常连接终端或仅属于一个VLAN的下行设备
- 入方向:收到不带Tag的帧,打上该端口的PVID(默认VLAN 1);若收到带Tag的帧,只有PVID匹配才收
- 出方向:无论帧在交换机内部是什么VLAN,从Access口发出时一律剥离Tag
所以Access口的核心特征是“不带标签出去”。这也是终端设备(比如电脑、打印机)能正常通信的前提——它们既不识别也不处理802.1Q标签。
再说Trunk口:
- 干道链路,用于交换机之间或交换机与路由器之间传递多个VLAN的流量
- 入方向:不带Tag的帧,打上端口PVID;带Tag的帧,判断是否在允许通过的VLAN列表里
- 出方向:如果帧的VLAN等于端口PVID,则剥离Tag发送;其他VLAN的帧,保留Tag发送
从这里能看出Trunk口一个很容易被忽略的细节:trunk的PVID并不要求一定是VLAN 1,你可以改成任何VLAN。而帧从trunk口出去,默认PVID一定被剥Tag,其余保持带Tag。这个细节在跨交换机排障时非常关键,后面会专门展开。
Hybrid口是华为私有特性。它可以在出方向指定哪些VLAN带Tag、哪些不带Tag,相当于把Access和Trunk的规则糅在一起。家用路由器、部分服务器网卡、以及某些需要同时承载有线和无线不同业务的场景会用到。初次做实验时,建议先用Access加Trunk的组合吃透原理,Hybrid可以后面再研究。
2.3 VLAN ID分配与常见规划误区
规划VLAN ID时,最常见的错误是把VLAN ID和IP网段绑定得太死,然后在后续扩容时把自己逼进死角。举个例子:某办公楼初期规划了VLAN 10为财务部,网段192.168.10.0/24;后来财务部扩编,同一网段的主机数量超过254台,此时如果不想改VLAN,只能加二层段或用更大子网掩码,一旦牵动IP规划,设备配置和防火墙策略全要跟着动。
一种相对稳妥的做法是:VLAN ID按楼层或区域分配,IP网段按业务类型分配。比如整栋楼所有办公室都用VLAN 10到VLAN 50,其中VLAN 10到20属于员工有线网络,VLAN 30到35属于无线网络,VLAN 40属于打印机和IoT设备,VLAN 50属于服务器区域。然后IP地址段按VLAN映射,但为每个VLAN留出至少一个C类地址的扩展余量。
另外要注意,VLAN 1是交换机默认的VLAN,所有端口默认都在VLAN 1里,而且VLAN 1通常是管理VLAN。出于安全考虑,生产中普遍建议把管理VLAN从VLAN 1迁移到专门划分的管理VLAN中(比如VLAN 99),并限制管理VLAN内的访问来源。但在实验环境里,使用VLAN 1测试问题不大,不过建议大家至少敲一遍修改管理VLAN的命令,知道逻辑即可。
2.4 华为eNSP的基础配置速览
进入系统视图后,常用命令大概是这些:
text复制system-view
vlan batch 10 20
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 10 20
这里逐步做一次解释。
vlan batch用来批量创建VLAN。如果只创建一个VLAN,可以直接vlan 10回车,进入VLAN视图后再用quit退出。批量创建的好处是减少交互次数,特别是VLAN数量多时效率明显。
interface GigabitEthernet0/0/1进入接口视图。eNSP里接口编号默认从G0/0/0开始,真机上可能从G0/0/1开始,实际环境中以display interface brief看到的为准。
port link-type access把端口类型改成access。如果端口此前被配置过其他类型,可能要先敲undo port link-type重置,不然有些老版本会报错。
port default vlan 10设置access口的PVID,同时这个端口会被自动划入VLAN 10。这里不需要先创建VLAN再划端口,系统会自动创建。
Trunk口的配置注意一点:只设置port trunk allow-pass vlan 10 20就够了,不需要也不能用port default vlan来设置PVID,除非你希望修改PVID。默认PVID是VLAN 1,所以trunk口默认放行VLAN 1且不带标签。生产上有经验的工程师常做一件事:把互联Trunk口的PVID改为非VLAN 1,用来减少VLAN 1上的意外泛洪。
3. 单交换机VLAN划分实验
3.1 最小化实验拓扑:一台交换机、四台PC
先做最基础的单交换机实验。用一台S5700(eNSP默认这个型号就可以)接四台PC,规划如下:
| 设备 | 端口 | VLAN | IP地址 |
|---|---|---|---|
| PC1 | G0/0/1 | VLAN 10 | 192.168.10.1/24 |
| PC2 | G0/0/2 | VLAN 10 | 192.168.10.2/24 |
| PC3 | G0/0/3 | VLAN 20 | 192.168.20.1/24 |
| PC4 | G0/0/4 | VLAN 20 | 192.168.20.2/24 |
这个拓扑模拟一个最简单的小型办公网络:两个部门,用VLAN隔离,同一部门的主机在同一个广播域内,不同部门的主机虽然在同一个交换机上,但二层互相隔离。
3.2 命令行配置全过程
启动eNSP,拖入一台交换机、四台PC,用网线连接到指定端口。全部启动后,进入交换机命令行:
text复制system-view
sysname SW1
vlan batch 10 20
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
quit
interface GigabitEthernet0/0/2
port link-type access
port default vlan 10
quit
interface GigabitEthernet0/0/3
port link-type access
port default vlan 20
quit
interface GigabitEthernet0/0/4
port link-type access
port default vlan 20
quit
配置完成后,先别急着一顿ping。先查一下状态。
3.3 验证方法与重点观察对象
在交换机上执行:
text复制display vlan
会看到两张关键信息表:一张是VLAN的汇总列表(VLAN ID、名称、状态),另一张是每个VLAN对应的端口表。此时VLAN 10下应该有G0/0/1和G0/0/2,VLAN 20下应该有G0/0/3和G0/0/4。
再执行:
text复制display port vlan
这个命令更直接,以端口为维度显示每个端口的链路类型和PVID,并同时显示该端口在哪些VLAN里是tagged、哪些是untagged。对初学者来说,这个命令比display vlan更接近“端口到底怎么转发”的本质。
在PC1上ping PC2,正常情况下通;PC1 ping PC3,正常情况下不通。不通是预期的,因为不同VLAN二层隔离。如果PC1能ping通PC3,大概率是某个端口配置错了,或者交换机上有VLAN间路由(比如VLANIF或者路由接口)残留。
3.4 验证MAC地址表的变化
这一步容易被忽略,但很值得做。在PC1 ping PC2期间,到交换机上执行:
text复制display mac-address
观察MAC地址表:
- PC1的MAC地址会出现在VLAN 10下,关联端口G0/0/1
- PC2的MAC地址会出现在VLAN 10下,关联端口G0/0/2
- 这两个MAC地址条目不会出现在VLAN 20的查找结果里
这说明一台交换机的MAC地址表是被VLAN隔离的,每个VLAN一张独立的表。这个细节直接关系到“为什么VLAN能隔离广播域”——交换机在收到一个广播帧后,只会把它泛洪到同一个VLAN的所有端口,而不会跨VLAN转发。这也是VLAN最根本的价值所在。
4. 跨交换机Trunk链路配置:从单机走向多机
4.1 为什么要用Trunk而不是又多拉几根线
单交换机内部划分VLAN很简单,但实际网络几乎不会只用一台交换机,总会有多台交换机互联。这时候如果每多一个VLAN就拉一根物理网线,不仅费端口,还极难维护。Trunk链路的出现就是为了解决这个问题:一条物理链路上承载多个VLAN的帧,依靠802.1Q Tag区分身份。
打个比方:单交换机实验里,每台PC用的是固定电话,一条专线对应一个人;Trunk链路则像一根光缆里跑好几路电话信号,每路加一个编号,打电话前先拨对应的编号,交换机在另一端根据编号分发到正确的房间。
4.2 双交换机Trunk拓扑配置
拓扑:
- SW1和SW2之间用G0/0/24互联(对eNSP来说,端口号随意,关键是别忘了选对)
- SW1上接PC1(VLAN 10)、PC3(VLAN 20)
- SW2上接PC2(VLAN 10)、PC4(VLAN 20)
两台交换机的配置对称。以SW1为例:
text复制system-view
sysname SW1
vlan batch 10 20
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
quit
interface GigabitEthernet0/0/2
port link-type access
port default vlan 20
quit
interface GigabitEthernet0/0/24
port link-type trunk
port trunk allow-pass vlan 10 20
SW2的配置与之类似,只是接口上连的是PC2(VLAN 10)和PC4(VLAN 20)。
这里注意:接口G0/0/24先执行port link-type trunk,再执行port trunk allow-pass vlan 10 20。有些版本上,如果直接allow-pass,会提示“VLAN already exists”或者不生效,这个我踩过,流程上建议严格分成两步。
4.3 Trunk链路透传验证
配置完成后,在PC1上ping PC2(跨交换机、同VLAN),预期通;在PC1上ping PC4(跨交换机、不同VLAN),预期不通。
如果PC1 ping PC2不通,按以下顺序排查:
第一步,在两台交换机上分别执行:
text复制display port vlan
重点检查互联端口G0/0/24的Trunk状态和放行列表。常见情况是:A交换机放行了VLAN 10和VLAN 20,但B交换机只放行了VLAN 1,于是VLAN 10的帧在B交换机入口被丢弃。
第二步,检查报文有没有带Tag。可以在交换机上抓包,或者用display interface GigabitEthernet0/0/24查看端口收发的报文计数。如果入方向计数一直在涨,说明帧确实到了端口;如果没有计数,说明物理链路或者对端交换机的配置有问题。
第三步,检查MAC地址表的同步情况。在SW1上执行display mac-address vlan 10,看能不能学到PC2的MAC。如果学不到,说明帧根本没从G0/0/24进来;如果学到了,但ping还是不通,那问题更可能在PC侧(比如IP配置错误、防火墙拦截)。
4.4 PVID和Tag处理逻辑的反复验证
Trunk配置最常见的一个困惑点是PVID到底影响什么。这里用一个具体的例子说明。
假设SW1和SW2之间Trunk口默认PVID是VLAN 1。你在SW1上执行port trunk allow-pass vlan 10 20,并没有修改PVID。此时:
- SW1的G0/0/24收到来自PC1的帧(VLAN 10、带Tag),如果VLAN 10在allow-pass列表里,交换机接收并正常处理
- SW1的G0/0/24向SW2发送VLAN 10的帧时,因为PVID是1,帧保持带Tag
- SW2的G0/0/24收到带Tag的VLAN 10帧,查看自己的allow-pass列表,若能匹配,则接收
所以这个流程里PVID没有影响通信。但如果两台交换机互联同一个VLAN,却用了不同的PVID,那就要特别小心。例如A交换机Trunk口PVID改成10,B交换机PVID改成20,那么:
- A交换机往B交换机发VLAN 10的帧时,因为VLAN 10等于PVID,会剥掉Tag,发成不带Tag的帧
- B交换机从Trunk口收到不带Tag的帧,视为PVID 20的帧,打上Tag 20
- 帧到了B交换机内部,身份变成了VLAN 20,结果PC2(VLAN 10)根本收不到
这种问题的排查思路是:在两端分别执行display port vlan,对比PVID是否一致。跨界排障时,PVID不一致是所有“看起来配置没问题但就是不通”里最高发的隐形原因。
5. VLAN间通信的实现:从二层隔离到三层互通
5.1 单臂路由实现VLAN间通信
VLAN隔离了广播域,但不同VLAN之间如果要互相访问(现代网络基本都有这个需求),就需要三层路由出面。最简单的方式是单臂路由:用一台路由器和交换机之间的一条物理链路,通过该链路收发所有VLAN的帧,路由器根据帧的Tag识别VLAN身份,完成路由转发。
拓扑调整:
- 在三层交换机或者路由器AR上增加子接口
- AR的G0/0/0连接到SW1的G0/0/24,物理链路只一条,但拆成两个逻辑子接口
AR端配置示例:
text复制system-view
interface GigabitEthernet0/0/0.10
dot1q termination vid 10
ip address 192.168.10.254 255.255.255.0
arp broadcast enable
quit
interface GigabitEthernet0/0/0.20
dot1q termination vid 20
ip address 192.168.20.254 255.255.255.0
arp broadcast enable
quit
interface GigabitEthernet0/0/0
undo shutdown
几条命令拆开解释。
dot1q termination vid 10是子接口识别VLAN Tag的关键:它表示这个子接口只处理带有VLAN 10 Tag的帧。这一步不配置或者配错,子接口无法为特定VLAN提供网关服务。
arp broadcast enable在华为模拟器里很关键。默认情况下,路由器不会通过子接口响应ARP广播,如果不开启这一项,PC的ARP请求发不到路由器,即使IP配置正确也无法ping通网关。这是一个非常容易踩的坑。
undo shutdown用来确保物理口启用了。部分模拟器版本默认端口down,如果忘了敲这步,物理都不通,更别提VLAN间路由了。
SW1侧,连接AR的端口需要改成Trunk口,并且放行VLAN 10和20。如果使用Access口接路由器,那只有一个VLAN能到达路由器,单臂路由就没有意义了。
PC侧的网关要分别指向对应子接口的IP:
- PC1和PC2的网关是192.168.10.254
- PC3和PC4的网关是192.168.20.254
配置完成后,用PC1去ping PC3(192.168.20.1),预期通。这个通的路径是:PC1把帧交给SW1,SW1根据Tag发往AR的VLAN 10子接口,AR查路由表把报文转发到VLAN 20子接口,再从AR的物理口发出,回到SW1,SW1根据Tag把帧送到VLAN 20的端口,最终到达PC3。
5.2 三层交换机的VLANIF替代方案
单臂路由的缺点是:所有跨VLAN流量都必须绕行路由器,在流量量大时路由器成为瓶颈,而且物理链路的带宽也受限。真实机房里更常用的是三层交换机上的VLANIF接口。
先用vlan batch 10 20创建VLAN,然后给每个VLAN配置网关地址:
text复制interface Vlanif10
ip address 192.168.10.254 255.255.255.0
quit
interface Vlanif20
ip address 192.168.20.254 255.255.255.0
这是三层交换机做VLAN间路由的标准做法。VLANIF是交换机上的一个三层逻辑接口,它工作在IP层,同时自动关联对应VLAN的所有二层端口。当PC1(VLAN 10)向PC3(VLAN 20)发数据时,PC1会先把包投给网关192.168.10.254,三层交换机收到后再查路由表,通过VLANIF20转发到VLAN 20的端口。
5.3 网关重复与路由黑洞排查
VLAN间通信过程中最常见的问题,是网关配置错误。不少人把VLAN 10的网关配成了192.168.20.254,或者漏配VLANIF接口,导致PC能ping通同一VLAN内的其他主机,却出不了VLAN。
排查时,建议按下面顺序:
- 在PC上执行
ipconfig(Windows)或ip addr(Linux),确认IP、掩码、网关是否和规划一致 - 在交换机上执行
display ip interface brief,确认VLANIF接口是否up、IP是否配置正确 - 抓包确认ARP请求和响应能到达对应VLAN的网关
还要特别注意一个现象:VLANIF接口如果没有对应VLAN内任何物理端口up,默认是down的,无法提供路由。有次我在eNSP里配好了VLANIF10,但VLAN 10下没有任何access口,VLANIF10一直down,PC的网关自然不通。检查display vlan里的端口情况可以快速发现这种问题。
5.4 管理VLAN的配置逻辑
VLANIF在实验里还可以用来给交换机提供远程管理地址。比如:
text复制interface Vlanif99
ip address 10.0.0.2 255.255.255.0
quit
然后把连接管理终端的端口划入VLAN 99,同时保证VLAN 99的网关可达。这样你就能通过SSH或Telnet远程管理交换机,而不用坐在console口前。
管理VLAN的配置有一个容易忽略的地方:如果你把默认的VLAN 1改成不承载管理流量,必须确保VLAN 1上的其他流量不干扰管理VLAN,否则管理VLAN内泛洪严重时,远程管理也可能变得不稳定。实验里可以故意不做管理VLAN隔离,感受一下与生产环境的差距;但到了真机上,强烈建议按管理平面、业务平面分离的思路来部署。
6. 配置实战全过程实录
6.1 整体配置顺序建议
做这个实验时,我踩过不少“先配置PC后配置交换机”导致混乱的坑。推荐的顺序是:
- 先在纸上明确各设备的IP、VLAN、网关规划,写到表格里
- 启动eNSP,把拓扑搭建好
- 先配置交换机的VLAN和端口,验证VLAN内通信
- 再配置Trunk互联,验证跨交换机同VLAN通信
- 最后配置路由器或三层交换机的VLANIF,验证VLAN间通信
这样的顺序能保证每加一个功能点,都在上一个已验证的基础上进行,排查问题时不会把多层因素叠加在一起。
6.2 全流程配置示例(SW1 + SW2 + AR单臂路由)
给出一个可直接复制的完整配置序列。两台交换机,一台路由器,三台设备连起来做单臂路由。
SW1配置:
text复制system-view
sysname SW1
vlan batch 10 20
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
quit
interface GigabitEthernet0/0/2
port link-type access
port default vlan 20
quit
interface GigabitEthernet0/0/24
port link-type trunk
port trunk allow-pass vlan 10 20
说明:G0/0/1接PC1,G0/0/2接PC3,G0/0/24连AR或SW2。
SW2配置:
text复制system-view
sysname SW2
vlan batch 10 20
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
quit
interface GigabitEthernet0/0/2
port link-type access
port default vlan 20
quit
interface GigabitEthernet0/0/24
port link-type trunk
port trunk allow-pass vlan 10 20
AR的配置:
text复制system-view
sysname AR
interface GigabitEthernet0/0/0.10
dot1q termination vid 10
ip address 192.168.10.254 255.255.255.0
arp broadcast enable
quit
interface GigabitEthernet0/0/0.20
dot1q termination vid 20
ip address 192.168.20.254 255.255.255.0
arp broadcast enable
quit
interface GigabitEthernet0/0/0
undo shutdown
配置完成后,统一记录一下每台PC的信息:
| 设备 | 所在交换机端口 | VLAN | IP | 网关 |
|---|---|---|---|---|
| PC1 | SW1 G0/0/1 | 10 | 192.168.10.1/24 | 192.168.10.254 |
| PC2 | SW2 G0/0/1 | 10 | 192.168.10.2/24 | 192.168.10.254 |
| PC3 | SW1 G0/0/2 | 20 | 192.168.20.1/24 | 192.168.20.254 |
| PC4 | SW2 G0/0/2 | 20 | 192.168.20.2/24 | 192.168.20.254 |
如果AR接的是SW1的G0/0/24,那么SW1的G0/0/24是Trunk口,AR那边只有一个物理口加两个子接口。SW1不会有VLANIF配置,因为路由工作被AR接管了。
6.3 用display命令逐层验证
配置完不等于实验完成,验证步骤才是真正加深理解的部分。依次执行以下命令,并观察输出:
text复制display vlan
看VLAN汇总和端口归属。
text复制display port vlan
看每个端口的具体类型、PVID、Tag/Untag状态。这里特别建议对照一下Trunk口的输出,确认VLAN 10和VLAN 20在Untag列表里是“空”的,在Tagged列表里是“10, 20”。
text复制display mac-address
看MAC地址表是否按VLAN隔离。
text复制display arp
在交换机或路由器上查看ARP表,确保PC的ARP能被正常学习和响应。
6.4 经典排障路径:按层数数引线
当PC1 ping不通PC3时,我把排障方法总结成“数引线”的方式:
物理层:看两端接口有没有up。display interface brief里物理口状态是up还是down,如果接口down,查网线连接、端口配置里是不是被shutdown了。
二层层:看VLAN有没有配对。display vlan确认两端交换机VLAN存在且端口划对了;display port vlan确认Trunk口的allow-pass列表里有没有目标VLAN。
三层层:看网关通不通。先ping网关,不通则查VLANIF或子接口配置、ARP响应;通了再ping对端PC。如果网关通但PC不通,检查对端PC的IP、掩码、网关,以及对端交换机上有没有意外启用了端口安全、MAC地址限制策略。
7. 高级配置思路:从标准VLAN到VLAN Pool与子网VLAN
7.1 VLAN Pool是什么场景下用的
VLAN Pool是华为设备(尤其是无线控制器AC和部分交换机)上的一种地址池化策略。它的本质是让不同用户接入时动态分配不同VLAN,从而把二层广播域进一步拆小,降低广播风暴风险和终端会话冲突概率。对于宿舍网、校园网、商场Wi-Fi这类高密度接入场景,VLAN Pool很有价值。
配置思路上,大致是:
text复制vlan pool vlanpool1
vlan 10 20 30
然后在接口或认证域里引用这个池。这样不同用户接入时,系统会从池里选择VLAN。具体触发机制取决于实际设备,通常与认证方式、DHCP交互先后有关。这个知识点不是初学VLAN的必选项,但等你看完基础实验后,会发现这条路径很自然地延伸到了无线接入网络。
7.2 基于IP子网的VLAN划分
还有一类特殊划分方式,叫基于IP子网的VLAN。它要求交换机根据报文中的IP子网信息来划分VLAN,而不是基于端口或MAC。配置示例:
text复制vlan 10
ip-subnet-vlan 1 ip 192.168.10.0 255.255.255.0
quit
interface GigabitEthernet0/0/1
port link-type hybrid
port hybrid untagged vlan 10
port hybrid ip-subnet-vlan vlan 10
这类配置主要用在特殊业务场景,比如某些老式终端设备无法配置VLAN Tag,但交换机又希望根据IP段区分出来不同的二层域。它的实验理解和排障都比基本VLAN复杂,建议先掌握前面基础内容,再考虑进一步研究。
7.3 基于VLAN的IPSG等安全增强
当VLAN划分完成后,安全增强也是实验的一个重要延伸方向。基于VLAN的IPSG(IP Source Guard)可以绑定IP和MAC,防止用户私改IP地址。配置通常分两步:
- 全局使能IPSG:
text复制interface Vlanif10
ip source check user-bind enable
- 配置静态绑定表:
text复制user-bind static ip-address 192.168.10.1 mac-address xxxx-xxxx-xxxx
这类配置在接入层交换机上很常见。实验里可以模拟“用户把IP改成别人地址”的情况,观察IPSG如何拦截非法流量,这是一个很直观的安全实验。
8. 实验常见问题与故障排查
把做这个实验时最容易遇到的坑整理成一个速查表,方便你随时对照。
| 现象 | 可能原因 | 排查命令/动作 |
|---|---|---|
| 同VLAN PC不通 | 端口没划到正确VLAN,或网线连错端口 | display vlan,display port vlan |
| 跨交换机同VLAN不通 | Trunk口没放行对应VLAN | display port vlan,display interface brief |
| PC能ping通同一交换机同VLAN,但ping不通网关 | 网关IP配置错误,或VLANIF接口down | display ip interface brief,PC上检查网关 |
| AR子接口不通 | arp broadcast enable没敲 |
在AR上加命令,重置PC的ARP缓存 |
| 跨交换机后所有VLAN全通 | PVID被改过,导致Tag被剥掉 | 两端对比display port vlan |
| PC能ping通不同VLAN,但延迟很大 | 交换机出现环路,或Trunk口浪涌 | display mac-address,检查STP状态 |
| VLANIF接口down | 对应VLAN下所有物理端口down | 确保至少一个access口up,并属于该VLAN |
| 同VLAN不同网段PC互相不通 | 二层通但三层路由不对称 | 检查网关配置、路由表、防火墙 |
| 配置了多VLAN,但Trunk口只能放行VLAN 1 | 忘了放行其他VLAN,或者新旧配置冲突 | display this看接口下实际生效命令 |
8.1 排查思路的“层级化”原则
如果遇到一个“诡异”问题,比如PC1能ping通PC2,但PC2 ping不通PC1,先不要慌着改配置。优先做以下三层检查:
- 抓包确认PC2是否收到了来自PC1的ARP请求或ICMP请求
- 在交换机上执行
display packet-filter看有没有ACL拦截 - 检查PC2的防火墙和网卡高级属性,模拟器里的PC默认可能开启防火墙策略,导致无法响应ping
模拟器和真实环境的区别在于,eNSP的PC默认没有真实防火墙,但Windows真实主机的防火墙默认是开着的。如果你把实验搬到真实小交换机上,这个问题就会出现。
8.2 长期维护与配置备份建议
实验做完后,别忘了把三台设备的配置保存到本地。eNSP里可以直接选中设备右键“保存配置”,也可以把配置导出为文本。
text复制display current-configuration
执行这条命令输出当前运行配置,把输出保存到一个有意义的命名文件里,比如topology_lab_vlan_202601.txt。这样做有两个好处:一是实验数据可追溯,二是不小心改坏配置时能快速回滚。运维团队维护的一台核心交换机也是这样做的,配置文件的版本管理和代码差不多。
9. 写在最后:我对VLAN实验的几点体会
9.1 一个简单实验能教你的不止是命令
把VLAN配置实验做完后,再回头看这个项目,你会发现它真正训练的不是“敲命令的手”,而是“看报文的眼”。当你理解了一个帧从PC出发,经过access口打上Tag,在交换机内部查MAC表、泛洪或转发,再到trunk口,最后在目标access口被剥离Tag,你就真正搭建起了二层网络的最小心智模型。以后学STP、链路聚合、VXLAN,都是在这个模型上往不同的方向加细节。
9.2 我的排障顺序已经成了肌肉记忆
做了这些年网络,只要是VLAN相关的问题,我个人的第一反应永远是先看display port vlan。这个命令能一次性告诉你端口类型、PVID、Tagged和Untagged列表,可以说涵盖了80%的VLAN排查信息。很多人习惯先看VLAN列表再猜端口,效率低很多。
9.3 实验环境的“干净”比“炫技”更重要
最后再分享一条实操经验:实验环境里不要只为了“反正模拟器随便敲”而随意改变默认配置。我见过有人连port trunk pvid vlan 10都随手一改,然后回头排查时把自己绕晕。建议你实验时特意保留一组“符合直觉的默认配置”,方便和“出问题的配置”做对比。真实网络也是一样,改动越克制,将来排障越轻松。
