1. 开局:S5720这台机器,到底该怎么上手
提到园区网交换机,华为S5720系列绝对是个绕不开的存在。无论是企业办公网络、学校机房、还是酒店和商场的弱电工程,S5720几乎成了入门级三层交换机的默认选项。原因很简单:它既有命令行(CLI)的完整功能,又内置了Web管理界面,适应不同水平的管理员。尤其是VLAN配置这件事,几乎每个用到S5720的人第一天就要面对。
这篇文章我会完整走一遍从零配置VLAN的过程,分别用命令行和Web界面两种方式实现,并给出一份可以直接抄的拓扑规划。无论你之前有没有摸过华为设备,按照这篇的步骤操作,都能把VLAN配通、配稳。文中涉及的命令、参数和截图级描述,都是我实际在S5720上敲过、验证过的。
先说清楚一个结论:命令行永远是最可靠的方式,Web界面适合快速查看和简单修改,但复杂的Trunk和PVID配置,Web界面容易踩坑。所以我的建议是,两种方式都要会,日常维护用Web,排障和批量配置用命令行。
2. 配置前的准备:拓扑规划与VLAN划分思路
2.1 先看懂物理拓扑
不管用什么方式配VLAN,第一步永远是搞清楚物理拓扑。下面是一张典型的小型办公网络拓扑,我用文字画出来,你可以在纸上照着画一遍。
[ 核心路由器 / 防火墙 ] (或者上层核心交换机) | | Trunk (允许 VLAN 10/20/30) | +---------+---------+ | S5720-28P 交换机 | +---+-----+-----+---+ | | | GE0/0/1 GE0/0/2 GE0/0/3 (Access) (Access) (Access) | | | [PC-A] [PC-B] [PC-C] VLAN10 VLAN20 VLAN30在这个拓扑里,S5720是接入层交换机,下面接了三台PC(也可以接AP、监控摄像头等),上面通过一个Trunk口接到核心路由器或核心交换机。如果没有核心设备,用S5720自己也能当三层网关,后面我会讲到VLANIF的配置方法。
2.2 VLAN编号规划
VLAN规划这个环节,很多新手会忽略,直接在交换机上随手敲VLAN编号,结果后期维护的时候发现VLAN 10、VLAN 100混在一起,完全看不出哪个是哪个。我在实际项目中总结了一套比较稳妥的规划方式:
| VLAN ID | 用途 | 网段 | 网关 | 端口归属 |
|---|---|---|---|---|
| VLAN 10 | 办公区PC | 10.1.10.0/24 | 10.1.10.254 | GE0/0/1 |
| VLAN 20 | 监控/物联网 | 10.1.20.0/24 | 10.1.20.254 | GE0/0/2 |
| VLAN 30 | 无线访客 | 10.1.30.0/24 | 10.1.30.254 | GE0/0/3 |
| VLAN 100 | 管理VLAN | 192.168.100.0/24 | 192.168.100.2 | - |
注意,管理VLAN最好单独划分一个,不要把管理地址和业务VLAN混在一起。这样做的好处是:即使业务网络广播风暴,你还能通过管理VLAN登到交换机上排查问题,这是真实运维中非常重要的保命手段。
2.3 端口角色怎么选:Access、Trunk还是Hybrid
华为交换机上的端口模式有三种:Access、Trunk、Hybrid。我见过太多人在这上面纠结,其实记住两句话就行:
- Access端口:面向终端设备。PC、打印机、摄像头,统统用Access。一个Access端口只能属于一个VLAN,这个VLAN就是端口的默认VLAN。
- Trunk端口:交换机与交换机之间、交换机与路由器之间的链路,承载多个VLAN的数据。Trunk端口需要指定允许通过的VLAN列表。
- Hybrid端口:华为的私有特性,既有Access的特性(可以设置默认VLAN)又有Trunk的特性(可以放行多个VLAN)。默认情况下,华为交换机端口都是Hybrid模式。除非你清楚自己在做什么,否则我建议不要用Hybrid,直接改成Access或者Trunk模式,逻辑反而清晰。
2.4 初始化准备
拿到一台全新的S5720,开机后默认是没有配置的。你需要在电脑上准备以下东西:
- 一根Console线(USB转Console,或者电脑自带COM口)
- 一个终端软件,比如Xshell、SecureCRT、MobaXterm,或者免费的Putty
- 一块管理电脑上的物理网卡,后续配置Web界面、管理IP会用到
- 一条普通网线
Console线插到交换机前面板的Console口,电脑端打开终端软件,新建连接方式选Serial,波特率9600,数据位8,停止位1,无校验。华为设备的Console参数基本就是这个组合,不用改。
3. 命令行模式配置VLAN全流程
这一节是文章的重头戏。我用的是S5720的VRP(Versatile Routing Platform)系统,华为所有交换机的命令体系都是VRP,所以你学会这套命令,以后操作S5700、S6720、甚至CE系列,思路完全一样。
3.1 登录后先看一眼现状
Console登录成功后,你会看到类似这样的欢迎信息,然后进入用户视图,提示符是<HUAWEI>。如果设备之前有人配置过,主机名可能不是HUAWEI,无所谓。
进入系统视图:
<HUAWEI> system-view进入系统视图后,提示符变成[HUAWEI]。我习惯先敲一条display current-configuration看一下现有的配置,防止和已有配置冲突,尤其是当设备不是全新的时候。另外可以敲display vlan查看当前VLAN情况,全新的交换机默认只有一个VLAN 1。
3.2 创建VLAN
创建VLAN是整件事的第一步。假设我要创建VLAN 10、20、30三个业务VLAN和VLAN 100管理VLAN:
[HUAWEI] vlan 10 [HUAWEI-vlan10] description Office-PC [HUAWEI-vlan10] quit [HUAWEI] vlan 20 [HUAWEI-vlan20] description Monitor-Cam [HUAWEI-vlan20] quit [HUAWEI] vlan batch 30 100这里有个实用技巧:创建单个VLAN用vlan 10,创建多个连续的VLAN用vlan batch 10 to 20,创建多个不连续的VLAN用vlan batch 10 20 30 100。我强烈建议你不要偷懒省略description描述信息,否则三个月后你自己都想不起来VLAN 357是干什么的。
3.3 配置Access端口
下面把接口GE0/0/1划入VLAN 10。进入接口视图:
[HUAWEI] interface GigabitEthernet0/0/1 [HUAWEI-GigabitEthernet0/0/1] port link-type access [HUAWEI-GigabitEthernet0/0/1] port default vlan 10 [HUAWEI-GigabitEthernet0/0/1] quitGE0/0/1口是接入PC-A的,属于VLAN 10。同理配置GE0/0/2到VLAN 20,GE0/0/3到VLAN 30。如果你有很多个端口要划分到同一个VLAN,可以这样批量处理:
[HUAWEI] port-group group1 [HUAWEI-port-group-group1] group-member GigabitEthernet0/0/1 to GigabitEthernet0/0/8 [HUAWEI-port-group-group1] port link-type access [HUAWEI-port-group-group1] port default vlan 10 [HUAWEI-port-group-group1] quit注意:批处理模式下,端口范围里的所有接口都会被设置成Access模式并划入VLAN 10。如果这些端口以后要接其他VLAN的终端,记得单独改回来。批处理按钮很爽,但也容易误伤。
3.4 配置Trunk端口并处理PVID和native vlan
Trunk口是S5720连接上层核心设备的关键。假设我们用GE0/0/24作为上行口,需要放行VLAN 10、20、30,那么配置如下:
[HUAWEI] interface GigabitEthernet0/0/24 [HUAWEI-GigabitEthernet0/0/24] port link-type trunk [HUAWEI-GigabitEthernet0/0/24] port trunk pvid vlan 10 [HUAWEI-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 30 [HUAWEI-GigabitEthernet0/0/24] quit这里有两个概念我必须要展开讲讲:
PVID(Port-based VLAN ID):端口默认所属的VLAN。对于Trunk口来说,PVID的作用是:收到的未打标签(untagged)的帧,交换机会给它打上PVID对应的标签。这个机制和native vlan是同义词,只不过华为叫PVID,思科叫native VLAN。
面试和考试里常出的坑就在这里:Trunk链路两端的PVID必须一致,否则VLAN间通信会失败或者产生错误的广播域。我见过有同事直接把Trunk口的PVID设置成VLAN 10,而对端核心交换机上对应端口PVID是VLAN 1,结果整个VLAN 10的终端全部不能通过Trunk访问上层,排查了半天才发现是PVID不匹配。
提示:华为VRP默认情况下,
port trunk allow-pass vlan all虽然可以放行所有VLAN,但出于安全和减少广播域扩散的考虑,我建议你只放行需要承载的VLAN。如果对端有DHCP服务、管理VLAN也需要通过Trunk,记得把这些VLAN也加入allow-pass列表。
3.5 配置VLANIF实现VLAN间通信
如果S5720是网络的汇聚层,并且你要用它直接做终端的网关(终端网卡的网关指向交换机),就需要在交换机上配置VLANIF接口,也就是三层接口。比如VLAN 10的网关是10.1.10.254:
[HUAWEI] interface Vlanif 10 [HUAWEI-Vlanif10] ip address 10.1.10.254 255.255.255.0 [HUAWEI-Vlanif10] quit同理给VLAN 20、VLAN 30也配置网关地址。配置完VLANIF之后,PC的网关指向这些地址,就可以实现VLAN之间的互访了。顺便说一句,VLANIF也好,物理接口的三层口也好,交换机默认没有开启IP转发吗?其实VRP默认就支持VLAN间路由,前提是你把各个VLANIF的IP配好,终端网关指向正确。
3.6 显示和保存配置
配置完成后,我习惯做三件事:
[HUAWEI] display vlan [HUAWEI] display port vlan [HUAWEI] display current-configuration interface GigabitEthernet0/0/24然后保存配置。敲save的时候系统会问是否确认,敲y就行:
<HUAWEI> save保存成功后会有提示。这一步千万别省略,我见过太多人配完不保存,结果设备一断电,所有配置全丢,又得重新配一遍。尤其S5720这种设备,在实际项目中往往放在弱电井里,环境不稳定,随时可能断电。
4. Web界面配置VLAN实操
Web界面配置VLAN是很多非网工出身的人最喜欢的方式。确实,图形化界面直观,点几下鼠标就能完成操作,不用记命令。但Web界面有一个前提条件——你必须先能用浏览器访问到交换机。而S5720的Web管理功能默认是不开启的,这算是新手最容易卡住的地方。
4.1 开启Web管理功能并配置管理IP
在用Web登录之前,先用命令行做一次"开荒"配置:
[HUAWEI] vlan 100 [HUAWEI-vlan100] quit [HUAWEI] interface Vlanif 100 [HUAWEI-Vlanif100] ip address 192.168.100.2 255.255.255.0 [HUAWEI-Vlanif100] quit [HUAWEI] http server enable [HUAWEI] https server enable这里要注意:管理VLAN的接口IP必须和你在同一个网段,否则你无法访问。假设你的电脑IP是192.168.100.10/24,网关可以填192.168.100.2,这样管理网就通了。
另外,有些版本可能默认关闭了Web服务,需要手动开启。如果没有http server enable这条命令,检查一下是否开了ssl policy,或者查看版本说明书。还有一种更稳妥的方式是:
[HUAWEI] web-manager enable不同版本命令略有差异,但以上两条总有一条能生效。如果都不行,检查是否使用的是标准HTTP端口,或者是否配置了ACL限制了访问源地址。
4.2 浏览器登录Web界面
交换机配置好管理IP和HTTP服务后,把电脑网卡IP配成192.168.100.10/24,用网线连接交换机的任意业务口(前提是这个端口在VLAN 100里,或者打上管理VLAN的标签),浏览器访问http://192.168.100.2。
华为S5720的默认账号密码在设备标签上或说明书中,一般是Admin/Admin@123,但具体以设备出厂批次为准。如果之前被人改过密码,只能通过Console线重置。这点我放到后面"常见问题"部分细说。
登录后进入的界面是华为的Web网管系统,页面布局有一些模块化的功能菜单。第一次登录建议先改密码,这个不用我说了吧。
4.3 通过Web创建VLAN和绑定端口
Web界面上创建VLAN的路径一般是"配置 → 基本配置 → VLAN",或者在主页的快捷菜单里直接点"VLAN"。
在VLAN管理页面里,操作逻辑是:
- 点击"新建",输入VLAN ID和描述
- 在端口配置区,选择要加入该VLAN的物理端口
- 选择端口类型(Access / Trunk / Hybrid)
- 如果是Access端口,设置默认VLAN(其实就是Port Default VLAN)
- 点击应用/提交
举个例子,我要设置GE0/0/1为Access口并划入VLAN 10,在Web界面的操作是:选中GE0/0/1,接口类型选Access,默认VLAN填10,提交。整个过程和在命令行里敲两条命令效果完全一致。Web界面还有一个好处,它会以表格形式展示端口和VLAN的对应关系,一眼就能看出哪些端口在哪个VLAN里,排错比命令行方便。
4.4 Web配置Trunk时容易踩的坑
Web界面的Trunk配置说起来有点反直觉。很多人在命令行里配Trunk习惯了,直接在端口类型里选Trunk,然后填写"允许通过的VLAN",就以为完事了。但在华为的Web界面上,你还得注意"PVID"这个字段,它在端口模式为Trunk的时候依然需要手动设置。
有一回我远程给客户配置S5720的Web界面,客户在Web上把GE0/0/24设成了Trunk,放行了VLAN 10、20、30,结果上层核心交换机一直PING不通下面的终端。我让他把Web界面上GE0/0/24的PVID截图发过来,发现PVID竟然是1,而核心交换机对端端口的PVID是10。让他把Web界面的PVID改成10之后,一下就好了。
所以使用Web配置Trunk时,务必检查PVID字段,不要只关注allow-pass列表。这也再次说明了命令行配置的确定性优势——命令逐条执行,逻辑清晰,不会遗漏字段。
4.5 Web界面与命令行的对比
我把两种方式的优劣做了一张表:
| 对比项 | Web界面 | 命令行 |
|---|---|---|
| 上手难度 | 低,直观 | 高,需要记命令 |
| 批量配置 | 弱,端口多了要点很多次 | 强,端口范围批量操作 |
| 排障能力 | 一般,状态信息有限 | 强,丰富的display和debug命令 |
| 远程管理的稳定性 | 一般,HTTP会话容易断 | 高,SSH/Telnet稳定 |
| 功能完整性 | 部分高级功能被隐藏或简化 | 完整,一切配置皆可命令化 |
| 适合场景 | 小型网络、快速查看、新手上路 | 中大型网络、批量变更、故障排查 |
我的结论是:Web界面可以当辅助工具,但绝对不要把Web当成唯一的管理方式。如果你只会在Web上点来点去,遇到网络故障的时候很被动,因为你根本不知道背后发生了什么。反过来,如果你精通命令行,Web界面对你来说也就是锦上添花的加速器。
5. 打通VLAN间通信:VLANIF与路由验证
到这里,VLAN的"划分"已经完成了,但很多人的项目并不会止步于此。终端设备需要访问Internet,需要互相通信,这就需要交换机能做三层转发。
5.1 VLAN间路由的三层基础
S5720是三层交换机,它通过VLANIF接口来充当VLAN的网关,实现VLAN之间的路由。每个VLANIF接口对应一个VLAN,并配置一个IP地址作为该VLAN内终端的网关。
前面第3.5节我们已经配置了VLAN 10的VLANIF地址10.1.10.254。如果只有一个VLANIF接口,交换机还无法在三层转发。要让VLAN间路由生效,所有需要互通的VLAN都需要配置VLANIF接口,而且各VLAN的网段不能冲突。
比如要打通VLAN 10、20、30,完整的配置应该是:
[HUAWEI] interface Vlanif 10 [HUAWEI-Vlanif10] ip address 10.1.10.254 24 [HUAWEI-Vlanif10] quit [HUAWEI] interface Vlanif 20 [HUAWEI-Vlanif20] ip address 10.1.20.254 24 [HUAWEI-Vlanif20] quit [HUAWEI] interface Vlanif 30 [HUAWEI-Vlanif30] ip address 10.1.30.254 24 [HUAWEI-Vlanif30] quit这里24是255.255.255.0的简写形式,华为VRP支持这种写法。
5.2 添加默认路由或上行路由
如果交换机需要连接外部网络(比如上联到路由器或防火墙),就得有路由把流量送出去。简单场景下,配一条默认路由即可:
[HUAWEI] ip route-static 0.0.0.0 0.0.0.0 10.1.10.1这条命令的意思是把所有未知目的地址的流量,交给下一跳10.1.10.1去处理。注意下一跳地址必须和交换机某个VLANIF或者接口在同一网段,且对端设备(路由器/防火墙)已经配置好了回程路由。我在实际项目里遇到过很多次"终端ping不通外网",排查半天发现是防火墙没有配置回程路由,交换机这边的默认路由反而是对的。
5.3 配置DHCP Server(可选)
如果希望交换机给终端动态分配IP,可以开启DHCP功能。华为交换机的DHCP配置在S5720上分两步:
[HUAWEI] dhcp enable [HUAWEI] interface Vlanif 10 [HUAWEI-Vlanif10] dhcp select interface [HUAWEI-Vlanif10] dhcp server ip-range 10.1.10.1 10.1.10.100 [HUAWEI-Vlanif10] dhcp server dns-list 114.114.114.114 [HUAWEI-Vlanif10] quit这样VLAN 10下的终端就能通过DHCP自动获取10.1.10.1到10.1.10.100之间的地址,网关和DNS也会自动下发。这里有个小细节:dhcp server ip-range要避开网关地址10.1.10.254,否则地址池和网关冲突,终端获取到网关地址后整个网络就瘫痪了。
5.4 验证不同类型的连通性
配置完成后的验证逻辑是这样的:
- 先验证终端到网关通不通:在PC-A上ping 10.1.10.254
- 再验证VLAN间通不通:在PC-A上ping 10.1.20.1(需要VLAN 20内有设备在线,或者ping交换机的VLANIF 20地址10.1.20.254)
- 最后验证到外网通不通:在PC-A上ping 8.8.8.8或者某个公网IP
在交换机上,我习惯用display ip routing-table查看路由表,确认VLANIF网段和默认路由都在里面。再用display interface Vlanif 10查看接口状态,确认UP和物理链路正常。
6. 常见问题与排查技巧实录
写到这里,基本流程已经讲完了。但我知道,读者真正需要的是那些踩过的坑。下面这些问题,我基本都在真实项目中遇到过,每个都可以展开成一篇单独的排障记录。
6.1 Web界面打不开怎么办
这是问得最多的问题。按这个顺序排查:
- 管理IP没配置:用Console线登录,
display ip interface brief看看Vlanif管理接口有没有IP。 - Web服务没使能:检查
display http server,如果没有使能,执行http server enable。 - 电脑和交换机不在同一网段:电脑的IP和管理VLAN不在一个网段,肯定打不开。
- 防火墙/ACL拦截:检查是否有入方向的ACL把HTTP流量拒绝了。华为设备默认没有ACL拦截,但有些项目模板会带ACL,记得放行管理网段访问HTTP。
- 浏览器问题:建议用IE模式下Edge或者Chrome的兼容模式。华为Web界面用的是老技术框架,新版浏览器的安全策略可能会阻止不安全的脚本执行。这个问题在2023年以后的浏览器尤其明显。
6.2 忘记密码怎么办:重置密码完整步骤
这里要特别说明:S5720的密码重置有两种情况,一种是Console口还进得去,只是Web密码忘了;另一种是完全失联。
如果是Web密码忘了,Console口还能进,直接在系统视图下执行:
[HUAWEI] aaa [HUAWEI-aaa] local-user admin password cipher 新密码 [HUAWEI-aaa] local-user admin privilege level 15 [HUAWEI-aaa] quit如果是Console口密码都忘了,那就只能通过BootROM方式重置了。步骤是:
- 用Console线连接交换机,给交换机断电
- 通电开机,同时密切关注终端窗口,当出现
Press Ctrl+B to enter BootROM menu提示时,立刻按Ctrl+B(不同版本可能是Ctrl+E或者按其他键,要看开机提示) - 输入BootROM默认密码,旧的VRP系统一般是
Admin@huawei或huawei,新版本可能是其他密码,可以看设备标签 - 在BootROM菜单里选择"Clear Password"或"Reset Factory Configuration",选择清除密码
- 重启后,交换机配置不会完全清除(旧版本VRP会清除),但密码会重置为默认,用默认账号密码登录后重新设置
注意:BootROM模式下千万不要选"清除所有配置"或者"恢复出厂设置",除非你已经做好了配置丢失的心理准备。我见过有同事在BootROM里选错了选项,整个配置没了,连续加班两天重新配置了一百多台交换机的VLAN,血泪教训。
6.3 VLAN划分后终端不通的排查
终端ping不通网关,先问自己三个问题:
- 端口类型对不对?Access端口只能属于一个VLAN,别把PC接到了Trunk口上。
- PVID对不对?如果PC接入的端口PVID不是预期的VLAN,数据帧会被打上错误的标签。
- 上层Trunk放行了没有?二层链路,每一跳Trunk都必须显式放行目标VLAN,缺少任何一个VLAN,流量就断了。
用命令验证:
[HUAWEI] display interface GigabitEthernet0/0/1看接口的PVID、链路类型和放行VLAN列表。
6.4 关于PVID和native vlan的爱恨情仇
这个知识点我前面反复提过。再补充一个真实案例:
某个客户网络里,交换机A和交换机B都是S5720,两台交换机之间用两根Trunk做链路聚合。但管理员在配Trunk的时候,把交换机A的PVID设成了10,交换机B的PVID设成了20。结果两台交换机之间VLAN 10和VLAN 20的终端互相访问时好时坏,时通时断,非常诡异。
后来我查了大量的抓包记录,发现是两台交换机在Trunk上对不带标签的帧(比如CDP/LLDP等协议帧)打了不同的标签,导致二层转发表不断刷新,MAC地址在两台交换机之间来回漂移。这个问题的本质就是PVID不一致导致的广播域错乱。所以再次提醒:Trunk两端务必保持PVID一致。
6.5 常见问题速查表
| 问题现象 | 可能原因 | 处理方式 |
|---|---|---|
| Web界面打不开 | 未开启http server / 管理IP错误 | 通过Console开启web服务并检查IP |
| 忘记Web密码 | 密码被改过 | Console下修改local-user密码 |
| PC无法获取DHCP地址 | DHCP未使能 / 地址池配置错误 | 检查dhcp enable和dhcp server配置 |
| VLAN间ping不通 | 缺少VLANIF / VLANIF IP配置错误 | 检查VLANIF接口和路由表 |
| Trunk上流量时通时断 | PVID不一致 / allow-pass缺少VLAN | 检查两端Trunk的PVID和放行列表 |
| 保存后重启配置丢失 | 没敲save | 执行save确认保存 |
7. 最后再分享一个小技巧
我在实际配置S5720时,有一个习惯:每配置一个段落,就及时验证并保存一次。不是等所有配置都做完了才去save,而是每完成一个VLAN的端口划分就保存一次。这样即使后面的配置出错,也可以用display current-configuration结合手动记录,快速定位是哪一个步骤出了问题。
另外,如果你有一台S5720的配置已经调好了,想要快速复制到另一台新交换机上,不要重新敲一遍命令。用display current-configuration把配置导出来,保存成文本文件,然后用Console口在用户视图执行:
<HUAWEI> system-view [HUAWEI] load configuration from flash:/配置文件名.cfg或者直接把导出的文本通过脚本逐行发送到新设备。我曾在客户现场用这个办法,半小时导入了20台交换机的VLAN配置,效率远超手动逐条输入。当然,前提是这两台交换机的接口编号、硬件型号一致,否则要批量替换接口名,操作前务必核对。
配置VLAN这件事,核心不在于把命令敲对,而在于理解VLAN的原理和网络中每一个端口的角色。当你把Access、Trunk、PVID、VLANIF这四样东西彻底想明白了,不管是用命令行还是Web界面,甚至用华为的eNSP模拟器练习,都不会再绕弯子。希望这篇文章能帮你少走一些弯路,少熬几个夜。