三层交换机这个词,估计做过网络实验的人都不陌生。但说实话,“知道”和“会配”之间隔着一道鸿沟。我见过不少同学在实验课上把VLAN配完,三个网段的PC死活ping不通,最后卡在“网关”这一步。这次的实验八“三层交换机综合实验”,就是把VLAN划分、VLANIF接口、跨网段通信这些知识串在一起做一次完整训练。本文会从实验需求、拓扑规划、配置命令、连通性测试到排错经验,完完整整走一遍,适合正在做课程实验的网络专业学生、刚入行的网络运维新人,以及想用eNSP练手的朋友参考。
1. 实验需求拆解:三层交换机到底在解决什么问题
1.1 二层交换机跨不了VLAN,这是核心矛盾
在做这个实验之前,得先把“为什么需要三层交换机”这个问题想透。
二层交换机的工作机制说穿了就两件事:学MAC地址、按MAC地址表转发。它完全看不到IP地址。当你把三台PC划分到三个不同VLAN之后,交换机上的VLAN 10、VLAN 20、VLAN 30就是三个彼此隔离的二层广播域。什么是广播域?你可以把它想成一个微信“群聊”,群里的消息所有人都在看,但你不在群里,就什么都收不到。VLAN就是这么干的——它把人拉进不同群,把广播限制在群内。
问题是,PC1 在 VLAN 10,PC2 在 VLAN 20,PC1发出去的数据帧带着VLAN 10的标签,二层交换机只能在VLAN 10的端口集合里找目标MAC地址,找不到就泛洪,但泛洪也只在VLAN 10的端口里转。VLAN 20的端口根本收不到这帧数据。所以,纯二层交换机无论如何都实现不了跨VLAN通信。
这就是整个实验要解决的第一个核心矛盾:VLAN负责隔离,但隔离之后还需要互通。谁来解决互通?答案是具备路由能力的设备。路由器可以,三层交换机也可以。
1.2 三层交换机的转发原理:不做快递分拣员
三层交换机本质上就是“交换机加路由功能”,但它的路由方式跟传统路由器有本质区别。
传统路由器转发数据包,多数情况下靠CPU做软件处理。你把它想象成快递中转站的人工分拣线,每个包裹进来,分拣员都要看一眼地址,再决定送到哪个格口。如果业务量大,分拣员就成了瓶颈。三层交换机走的是另一条路线,它把路由查找、MAC重写这些动作固化到专用硬件芯片(ASIC)里,数据包进来之后直接走硬件转发,速度接近线速。
它实现跨VLAN通信的关键,是VLANIF接口,也叫SVI(交换虚拟接口)。简单说,三层交换机会为每个VLAN创建一个虚拟的三层接口,在这个接口上配置IP地址,这个IP就是该VLAN内所有PC的网关。PC要访问别的网段时,先把数据包发给网关。三层交换机收到之后,查看自己的路由表,发现目标网段是另一个直连VLAN,就直接查ARP表拿到目标主机的MAC,把数据帧的源MAC和目标MAC重写一遍,从目标VLAN的端口转发出去。
整个过程里,IP地址是始终不变的,变的是二层的MAC封装。这也是“三层交换”最核心的思想:一次路由(查路由表找出口),多次交换(后续同一条流直接硬件转发)。
1.3 实验目标拆解与验收标准
这个“综合实验”不是让你敲几条命令就完事,它的目标应该拆成四个层次:
- 掌握VLAN的创建、Access端口划分,能解释交换机上数据帧的VLAN标签行为;
- 理解VLANIF接口在三层交换机路由中的作用,能把“VLANIF就是网关”这句话落到配置上;
- 独立完成三个不同VLAN网段的互通配置,并验证结果;
- 遇到不同VLAN间ping不通的问题,能按“二层—三层”的思路排查定位。
验收标准也很明确:三台PC分别属于三个不同网段,配置完以后,任意两台PC都能互相ping通。如果你还能顺手把抓包结果解释清楚——比如数据包跨VLAN时源和目的MAC发生了什么变化——那这个实验就算真正过关了。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 拓扑规划与IP地址设计:敲命令前先想清楚
2.1 eNSP设备选型与拓扑结构
本次实验用华为eNSP模拟器做。设备型号建议选S5700系列交换机,S5700支持VLANIF和路由功能,是三层交换实验里的常用型号。S3700也可以,但在DHCP、ACL等扩展功能上支持会弱一些。
拓扑上,我推荐一个最干净的方案:一台三层交换机加三台PC。
- PC1 接在交换机 GE0/0/1 口,划入 VLAN 10;
- PC2 接在交换机 GE0/0/2 口,划入 VLAN 20;
- PC3 接在交换机 GE0/0/3 口,划入 VLAN 30。
如果实验指导书要求加入Trunk链路,可以再扩展两台二层交换机做接入层,分别接PC,再通过Trunk上联到三层交换机。那个场景更接近真实园区网架构,也能顺便练Trunk配置。但第一次做这个实验,我强烈建议先用一台交换机的拓扑把原理跑通,Trunk链路可以在基础版本通过后再叠加。上来就搞一大堆设备,一旦ping不通,排查范围会扩大很多,新手很容易懵。
2.2 VLAN与IP地址规划表
动手配置前,先把IP表和VLAN表画出来。我在做实验时习惯把这张表写在纸上或者便签里,配一步看一眼,避免“配完忘了网关是多少”这种低级问题。
| 设备/接口 | 所属VLAN | IP地址 | 子网掩码 | 网关 |
|---|---|---|---|---|
| PC1 | VLAN 10 | 192.168.10.1 | 255.255.255.0 | 192.168.10.254 |
| PC2 | VLAN 20 | 192.168.20.1 | 255.255.255.0 | 192.168.20.254 |
| PC3 | VLAN 30 | 192.168.30.1 | 255.255.255.0 | 192.168.30.254 |
| VLANIF 10 | VLAN 10 | 192.168.10.254 | 255.255.255.0 | 无 |
| VLANIF 20 | VLAN 20 | 192.168.20.254 | 255.255.255.0 | 无 |
| VLANIF 30 | VLAN 30 | 192.168.30.254 | 255.255.255.0 | 无 |
这个规划里有两个细节值得说。
第一,网段使用192.168.x.0/24,这是私有地址,实验环境用不会冲突,也方便记忆。第二,网关统一规划为各网段的.254地址,这样便于验收——看到PC的网关是不是254,就能判断有没有配错。当然你也可以用.1作为网关,习惯问题,但统一规划一定比随手设置要好。
2.3 eNSP环境准备:两个必做的小习惯
eNSP是个好工具,但它有个毛病:设备启动后默认会往控制台刷日志。你敲命令敲到一半,突然涌出来一堆端口up/down的提示,很容易把你的命令回显冲掉。所以新建拓扑启动设备后,我建议先做两件事。
一是进系统视图,执行 undo info-center enable,把信息中心关掉。这个命令不做也行,但实验体验会好很多,尤其是后面抓包、重启接口时,日志一多真的会烦。
二是用 sysname 给设备起个名字,比如 S1。别小看这一步,实际工作中面对一堆设备,没有命名你根本分不清自己在配哪台。实验报告里写起来也更清楚。
建完拓扑后,先启动设备,等接口状态稳定、双绿了再开始配置。eNSP里设备没完全启动就开始敲命令,偶发会出现“命令没进去”的情况,容易误判。
3. 华为三层交换机配置实操:一步步搭建互通网络
3.1 基础配置:命名设备并关闭干扰日志
进入系统视图后,先完成两件基础配置:
bash复制system-view
sysname S1
undo info-center enable
sysname S1 是把交换机命名为S1。其实不做实验的人体会不深,但在真实项目里,没有命名意味着你根本无法在N台设备之间快速切换上下文。建议从一开始就养成命名习惯。
undo info-center enable 关闭的是信息中心。它能避免大量系统日志刷屏,让你专心看配置回显。这个命令在HUAWEI设备上实测有效,eNSP里同样适用。
配置完成后,可以用 return 退回用户视图,再执行 display version 看一眼设备型号和版本信息。这一步主要是确认你操作的设备确实支持三层功能。S5700的VRP版本通常都支持VLANIF和路由。
3.2 创建VLAN并划分Access端口
接下来创建三个VLAN。华为设备支持一次批量创建:
bash复制system-view
vlan batch 10 20 30
vlan batch 是华为特有的批量命令,比一条条 vlan 10、vlan 20 创建要高效得多。创建完可以用 display vlan 确认一下,应该能看到三个VLAN的状态。
然后配置接口类型并划分端口。以 GE0/0/1 口为例:
bash复制interface gigabitethernet 0/0/1
port link-type access
port default vlan 10
quit
GE0/0/2 划入 VLAN 20,GE0/0/3 划入 VLAN 30,以此类推。
这里有必要解释一下为什么要用Access。Access端口是连接终端设备最常见的接口类型,它不接受带VLAN Tag的帧,发出的帧也不带Tag。PC是终端,它不关心VLAN标签,只认普通以太网帧。所以连接PC的端口用Access是最合适的。
如果你接了二层交换机做接入层,那上联口就必须配Trunk。Trunk端口允许携带多个VLAN的帧通过,是交换机之间的“主干道”。这个实验如果只有一台交换机和三台PC,Access就够用了。
3.3 配置VLANIF接口:给每个VLAN装上“网关”
这是整个实验的重头戏,也是“三层交换”发挥作用的地方。
bash复制interface vlanif 10
ip address 192.168.10.254 255.255.255.0
quit
interface vlanif 20
ip address 192.168.20.254 255.255.255.0
quit
interface vlanif 30
ip address 192.168.30.254 255.255.255.0
quit
配完三个VLANIF接口后,用 display ip interface brief 查看接口状态。正常情况下,三个VLANIF的IP地址都应该显示出来,状态是UP。
这时三层交换机内部的路由表会自动生成三条直连路由:
- 192.168.10.0/24 出接口是 VLANIF 10;
- 192.168.20.0/24 出接口是 VLANIF 20;
- 192.168.30.0/24 出接口是 VLANIF 30。
你用 display ip routing-table 能看到这三条路由。这也是三层交换机能跨VLAN转发的根本原因:它知道每个网段从哪个VLAN接口出去。PC只要把网关指到对应的VLANIF地址,数据包就能被路由到目标网段。
我见过不少人觉得VLANIF很抽象,其实可以把它理解成“交换机内部给自己装的一张网卡”。每个VLAN都有一张网卡,IP就是这张网卡的地址。PC要出网段,就把包发给这张网卡的IP。
3.4 扩展任务:开启DHCP让PC自动获取地址
基础的三层互通配完之后,很多实验指导书会要求扩展一下,让交换机给PC自动分配IP地址。这个扩展很值得做,它能帮你理解真实园区网里“网关+DHCP”的配合方式。
开启DHCP功能后,在VLANIF接口上做配置:
bash复制dhcp enable
interface vlanif 10
dhcp select interface
quit
interface vlanif 20
dhcp select interface
quit
interface vlanif 30
dhcp select interface
quit
dhcp select interface 的意思是,交换机直接用这个VLANIF接口的地址池给终端分配地址。地址池范围就是该接口所在网段,网关自动下发为VLANIF的IP。比如PC1配成DHCP获取后,会自动拿到192.168.10.0/24网段的地址,网关是192.168.10.254。
做这个扩展时要注意:PC端的IP配置要改成DHCP方式,否则静态IP会和DHCP分配的地址冲突。还要注意,如果VLANIF接口没配置IP,dhcp select interface 是配不上的。所以顺序一定是先配VLANIF,再开DHCP。
4. 连通性测试与关键原理验证
4.1 PC端配置与连通性测试步骤
配置完交换机,接下来就是PC侧的设置。在eNSP里双击PC1,在IP配置页填写:
- IP地址 192.168.10.1
- 子网掩码 255.255.255.0
- 网关 192.168.10.254
PC2和PC3按规划表对应填写。eNSP的PC模拟器比较简单,把三项填对就能ping通。
测试连通性有个标准套路,能帮你快速定位问题出在二层还是三层:
第一步,先ping自己的网关,比如PC1执行 ping 192.168.10.254。这个能通,说明PC到三层交换机的二层链路没问题,VLAN划分也没问题。如果这一步都不通,那就是VLAN配置、接口划分或者PC侧VLAN信息错了。
第二步,ping另一个网段的PC,比如PC1执行 ping 192.168.20.1。这一步能通,说明三层路由转发全程正常。如果ping网关通、ping对端PC不通,问题基本出在三层:VLANIF配置对不对、对端PC网关有没有指对。
用这种“从近到远”的方法测试,能大幅缩小排查范围。我不建议一上来就ping远端,那样如果ping不通,你根本不知道是二层的问题还是三层的问题。
4.2 排错三板斧:VLAN、网关、VLANIF
做这个实验,三个命令能解决八成以上的问题。
第一板斧是 display vlan。它会列出设备上已有的VLAN,以及各VLAN下绑定了哪些接口。如果你的VLAN 20下面没有GE0/0/2,说明端口划分没成功。
第二板斧是检查PC的网关。eNSP里PC配置页面,网关这一栏经常被忽略。PC的网关必须等于它所在VLAN的VLANIF地址,比如PC1的网关必须是192.168.10.254。很多人VLANIF配了,但PC网关填成192.168.10.1或者干脆没填,结果就是ping不通。
第三板斧是 display ip interface brief。这个命令会显示所有三层接口的IP地址和状态。如果VLANIF 20的IP是空的,说明你配置命令没生效,或者VLAN 20根本没创建成功。如果状态是DOWN,那就要回头查对应VLAN下有没有UP的物理接口。
在有多台交换机的拓扑里,还要加一个检查点:Trunk链路的allowed vlan。可以看另一个命令,也就是进入Trunk接口后执行 display this,确认它放行了哪些VLAN。Trunk忘了放行对应VLAN,是扩展拓扑里非常常见的坑。
4.3 抓包验证三层转发全过程
光会敲命令不算真会,最好能亲眼看到三层转发到底发生了什么。eNSP支持抓包,具体操作是在交换机与PC1相连的端口上开启抓包,或者在PC1上直接抓包分析。
抓包场景:PC1 ping PC2。第一次通信时,你会看到这样的过程:
PC1发现目标IP 192.168.20.1不在同一个网段,于是把数据包发给网关。但PC1不知道网关的MAC地址,所以会先发一个ARP请求,询问192.168.10.254的MAC是多少。三层交换机收到这个ARP请求后,由VLANIF 10接口回应自己的MAC地址。
随后,PC1发出的ICMP报文,源MAC是PC1的MAC,目的MAC是VLANIF 10的MAC,源IP是192.168.10.1,目的IP是192.168.20.1。交换机收到这个帧,识别出目的MAC是VLANIF 10,于是把帧交给三层转发引擎。查路由表后,它知道192.168.20.0/24出接口是VLANIF 20,于是查ARP表找PC2的MAC。如果ARP表里没有,交换机会以VLANIF 20接口的身份发ARP请求,询问192.168.20.1的MAC。拿到PC2的MAC后,交换机把帧重写:源MAC变成VLANIF 20的MAC,目的MAC变成PC2的MAC,然后从GE0/0/2口转发出去。
这个过程中的关键点是:整个通信过程中,源IP和目的IP始终没变,变的是MAC地址。这也是三层交换和二层交换最大的区别。很多教材说的“一次路由、多次交换”,说的就是这个流程。
5. 常见问题排查与实战心得
5.1 真实踩过的坑:问题与解法速查表
做实验这么多年,也带过不少网络专业的同学,我把最常见的几个问题整理成表格,遇到的概率按高到低排:
| 现象 | 可能原因 | 检查方法 |
|---|---|---|
| PC ping不通自己的网关 | 端口未划入正确VLAN;VLANIF未配置IP | display vlan、display ip interface brief |
| 能ping通网关,但ping不通另一个VLAN的PC | PC网关没填对;目标PC网关没填对;VLANIF的IP配错 | PC属性页、display ip interface brief |
| 多交换机拓扑里,跨交换机VLAN不通 | Trunk放行列表没加对应VLAN | 进入Trunk接口 display this |
| display vlan看不到VLAN 20 | vlan batch 执行失败或漏配 |
重新执行 vlan batch 20 |
| VLANIF接口状态一直DOWN | VLAN下没有任何物理接口UP | 检查端口是否 shutdown,物理连接是否正常 |
| PC从DHCP获取不到地址 | 未开启 dhcp enable;VLANIF没配IP |
检查全局DHCP开关和VLANIF配置 |
| eNSP里设备敲命令没反应 | 设备还没启动完 | 等接口状态变绿再操作 |
这里特别提一个容易踩的坑:在真实设备上,如果PC开启了系统防火墙,ping测试会被拦截。实验一做完,发现PC ping不通,第一反应往往不是防火墙,而是去检查交换机。结果折腾半天,把防火墙一关就好。eNSP模拟器没有这个问题,但真实网络环境一定会遇到,提前有个心理准备。
5.2 “不同网段必须用三层交换机吗”:一个延伸讨论
回到文章开头提到的那个热词:不同网段通信需要三层交换机吗?
准确的答案是:不一定需要三层交换机,用路由器也可以。路由器的本职工作就是连接不同网段,所以两台PC接在路由器的两个接口上,给接口配好IP,PC把网关分别指向路由器接口地址,一样能ping通。
那为什么园区网里几乎都用三层交换机,而不是一台台路由器堆上去?原因有两个。
第一,接口数量。一台路由器通常只有几个三层接口,非常金贵。而三层交换机一台就是48口甚至更多,配合VLANIF,一个VLAN只需要占用一个虚拟三层接口,物理上完全不占用端口。同样是带50个VLAN,用路由器你得买多少台?
第二,转发性能。路由器做VLAN间路由,数据包要走CPU软件处理,性能会随流量上升快速瓶颈。三层交换机用硬件芯片做转发,即使跨VLAN流量跑满线速也扛得住。
所以,实际网络中最常见的组合是:核心交换机负责VLAN间路由,出口路由器或防火墙负责连接外部网络和NAT转换。三层交换机解决了内部互访的效率和规模问题,路由器解决边界问题。两者是分工协作,而不是互相替代。家用路由器那种“小盒子”,因为设备少、流量小,CPU软件转发也够用,只是场景不一样而已。
5.3 我个人做三层交换机实验的几个习惯
最后分享几个我做实验时的个人习惯,纯经验之谈。
第一,配完VLANIF接口后,我习惯立刻执行 display ip interface brief,确认每个VLANIF的IP和状态。不要攒到最后一起看,一旦有错,排错成本会高很多。这种“配一步验一步”的节奏,在真实设备割接时能救命。
第二,我给每台PC的IP和网关都写在标签纸上,贴在显示器旁边。eNSP里点开PC属性页操作其实不算快,有了标签,排查时一眼就能看出PC配置有没有问题。
第三,遇到ping不通,我会先在脑子里问自己一句:现在是二层问题还是三层问题?二层的边界是网关。先ping网关,通了就说明二层没问题,剩下就是三层的事;ping不通就回到 display vlan 和端口配置。用这个二分法,几乎不会有“无从下手”的状态。
第四,实验结束后,我建议你截几个关键图:display vlan、display ip interface brief、PC互ping成功的窗口。很多同学到了写实验报告的时候才想起没截图,又得重做一遍,很浪费时间。
这个实验做完,三层交换机的原理和配置基本就掌握七七八八了。如果还有余力,可以继续扩展:加一台路由器模拟外网,在三层交换机上配置一条默认路由指向路由器,再在PC上测试访问外网。这样整条“内网互通+外网出口”链路就完整了,对后续学习静态路由、动态路由也有很大帮助。
