
1. 先把思路理清楚华为交换机配置到底在配什么很多人第一次摸到华为交换机心里想的都是“赶紧敲几条命令把它点亮”结果线接好了、终端也连上了盯着那个Huawei提示符却不知道该从哪一条开始。我在带新人的时候最常说的一句话就是华为交换机的基本配置本质上只解决三件事——设备能被人认出来、不同部门的流量能被分开、管理员能远程连上去。这三件事搞定了剩下的一切路由、ACL、端口安全、堆叠都是往上叠的楼层。华为交换机跑的是 VRP 操作系统这一点很关键。它不像家用路由器那样点几下网页就完事VRP 是纯命令行的所有操作都建立在“视图”这个层级模型上。你不理解视图就会频繁看到Error: Unrecognized command found at ^ position.这种提示然后一头雾水地反复敲同一行命令。热词里出现的“华为交换机配置实例”“华为交换机vlan”“华为三层交换机”这些搜索背后其实都是同一批人在同一个坎上卡住。这篇文章面向的是刚接触华为交换机的人比如刚考完 HCIA 想动手练的、公司买了两台 S5720 让你先配起来的、或者做弱电工程顺手要接交换机的。我会从一条 Console 线开始把规划、命名、VLAN 划分、管理地址、远程登录、保存和恢复一条命令一条命令地拆开讲。中间会带上子网计算的过程因为这部分是新手最容易算错、也是现场最容易出事故的地方。看完之后你至少能做到拿到一台全新的华为交换机四十钟内把它配成一个可以远程管理、按部门隔离流量的可用设备。1.1 一台交换机从开箱到能用中间缺的是什么全新的华为交换机出厂状态其实是很“干净”的没有管理 IP没有 VLAN 划分所有千兆口默认都在 VLAN 1 里属于同一广播域。你把它接进办公室网络它就是一个透明的大二层盒子——插上就能通但也意味着所有端口互相都通谁都能看到谁的广播包。这不是故障这是默认行为。所以“配置”要补的正是这几块缺口。第一块是身份设备得有名字sysname否则你在机房面对一堆Huawei根本分不清哪台是哪台。第二块是隔离把不同部门的端口划进不同 VLAN让广播域收缩也顺手把安全边界立起来。第三块是可达性给交换机一个管理 IP配上远程登录方式这样以后改配置就不用抱着笔记本蹲在机柜前。还有一个经常被忽略的第四块持久化。VRP 的配置分“当前配置”和“保存配置”两份你敲进去的命令默认只在内存里断电就没了。热词里“华为交换机s5720怎么改密码本地登录”这类问题十有八九是改完密码没执行save重启后又回去了。这一点我会在第 3 章单独讲。1.2 命令行视图体系为什么敲错一个命令会提示 ErrorVRP 的视图是分层的最低层是用户视图提示符是尖括号Huawei。在这个视图里你只能执行查看类命令比如display version、display current-configuration想改任何东西都得先输入system-view进入系统视图提示符变成方括号[Huawei]。从系统视图再往下走就是各类专用视图interface GigabitEthernet 0/0/1进接口视图vlan 10进 VLAN 视图user-interface vty 0 4进用户界面视图。每进一层能用的命令就换一批。所以“命令不认识”的报错九成不是因为命令写错了而是你在错的视图里敲了它。比如port link-type access只能在接口视图下生效你在系统视图里敲它VRP 直接给你个 Error。返回的方式也分两种这个细节新手特别容易搞混quit是退一层从接口视图回系统视图return或者快捷键CtrlZ是直接回用户视图不管你在多深的层级。我自己的习惯是深层次配置完一段就用return一把弹回顶层视线清爽不容易在错误的视图里继续敲命令。另外提醒一句华为设备支持命令缩写只要前缀唯一就行比如sys等于system-viewint g0/0/1等于interface GigabitEthernet 0/0/1。缩写能提速但我在给别人录配置脚本时从来不用缩写原因很简单——脚本是要给人看、要存档的可读性比省那几个字符重要得多。1.3 准备工作清单线材、终端软件与信息规划表动手之前工欲善其事。硬件上你需要一根Console 线USB 转 RJ45 或者 DB9 转 RJ45看笔记本接口这是配置新设备的唯一入口。终端软件用 SecureCRT、PuTTY、Xshell、MobaXterm 都行我个人偏爱 MobaXterm因为它自带串口会话还能顺手管理 SSH 会话。串口参数是固定的记牢这一组波特率 9600、数据位 8、停止位 1、校验位无、流控无也就是常说的 9600-8-N-1。参数错了的表现是满屏乱码或者什么都出不来不是设备坏了别慌。软件之外的准备更重要我一般会在纸上或者 Excel 里先画一张表把要配的东西全部列清楚再上机项目示例值说明设备名称SW-A-3F楼层用途一眼能认出位置管理 VLANVLAN 100单独一个 VLAN 走管理流量管理地址192.168.1.2/24和办公网段隔离默认网关192.168.1.1指向核心或路由器业务 VLAN10 / 20 / 30对应各部门远程登录Stelnet AAA不用明文 Telnet管理员账号netadmin / 强密码权限等级 15注意这张表看起来多余但它是现场不出错的最大保障。我见过太多次“配到一半忘了管理地址规划成什么”的情况然后只能重新数一遍地址浪费半小时。规划的核心原则只有一条先定地址再定 VLAN最后才配置端口。顺序颠倒的话你会反复改 VLAN 接口地址改一次断一次管理连接体验极差。2. 基础配置三大件设备命名、VLAN、管理地址2.1 设备命名与基础参数从 Console 登录的第一分钟Console 连上、终端参数设好、按几下回车你就能看到Huawei提示符。第一件事不是改密码是给它起名字。理由是接下来所有操作你都会在提示符里看到这个名字改完立刻有反馈心理上会稳很多。进系统视图、改名字、顺手把时间设对Huawei system-view [Huawei] sysname SW-A-3F [SW-A-3F] clock timezone CST add 08:00:00 [SW-A-3F] clock datetime 14:30:00 2024-06-18时区和时间是很多人跳过的一步但它的价值在排障时体现得淋漓尽致。交换机的日志、告警、端口 up/down 记录全都打时间戳如果时间不准你拿着日志去比对“用户报障时间是下午三点”根本对不上排查效率直接砍半。所以我的习惯是开局先校时条件允许的话再配 NTP 自动同步。命名规范我建议带上位置 用途 序号三段比如SW-A-3FA 栋 3 楼、SW-IDF-B2尽量别有中文和空格。有些老版本 VRP 对特殊字符支持不好中文名在 Telnet 里还会乱码纯英文加数字最保险。名字最长 246 个字符实际没人会写那么长但长度限制心里有个数。设备名改了之后提示符会立刻从[Huawei]变成[SW-A-3F]这是第一次“看得见的成功”。接下来配置出错时你能很清楚地知道自己在哪台设备上操作——这在批量维护多台交换机时特别有用是防止“在 A 机上敲了 B 机的命令”的第一道防线。2.2 VLAN 划分与端口类型access、trunk、hybrid 怎么选VLAN 是交换机的灵魂也是热词里出现频率最高的词之一。华为交换机的端口有三种链路类型access、trunk、hybrid。新手最容易犯的错是把三种混着用结果就是“配了 VLAN 但网络不通”。先给一个直观的判断法则接终端、服务器、打印机、AP 的端口 → access。access 口只属于一个 VLAN进出都不带标签终端完全无感知。接另一台交换机、接路由器的端口 → trunk。trunk 口能承载多个 VLAN默认只给 VLAN 1 放行其他 VLAN 必须手动allow-pass。hybrid介于两者之间能灵活控制“哪些 VLAN 带标签出去、哪些剥掉标签”。它功能最强也最难理解日常组网里用得不多除非有特殊需求比如 IP 电话串接 PC才会用到。创建 VLAN 的写法有两种单条和批量[SW-A-3F] vlan batch 10 20 30 40 50 100一条命令建六个比vlan 10回车再vlan 20回车高效太多配置行数也短。批量创建 VLAN 时即使 VLAN 已存在也不会报错可以放心重复执行。配 access 口的标准三段式[SW-A-3F] interface GigabitEthernet 0/0/1 [SW-A-3F-GigabitEthernet0/0/1] port link-type access [SW-A-3F-GigabitEthernet0/0/1] port default vlan 10 [SW-A-3F-GigabitEthernet0/0/1] quit如果是连续一段端口要批量配用port-group或者范围写法更省事[SW-A-3F] port-group group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/10 [SW-A-3F-port-group] port link-type access [SW-A-3F-port-group] port default vlan 10trunk 口的配置要注意allow-pass这一行不能漏[SW-A-3F] interface GigabitEthernet 0/0/24 [SW-A-3F-GigabitEthernet0/0/24] port link-type trunk [SW-A-3F-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 30 40 50 100热词里“交换机的四种模式trunk”说的就是这个。我踩过的最典型的坑是两端 trunk 口都配好了但其中一端忘了写allow-pass默认只放行 VLAN 1业务 VLAN 全部被丢。现象是“能 ping 通管理地址但部门之间完全不通”特别迷惑。排查时用display port vlan GigabitEthernet 0/0/24看两端的放行列表对不对通常一眼就能看出问题。注意华为设备的很多端口命令是覆盖式而不是叠加式。你在一个端口上反复执行port default vlan 10、port default vlan 20最终生效的是最后一次端口只属于 VLAN 20。想改 VLAN 直接重敲即可不用先undo。2.3 管理地址与远程登录Telnet 和 Stelnet 的配置差异交换机要能远程管理需要一个三层地址最简单的方式是创建管理 VLAN 并给它配 IP[SW-A-3F] vlan 100 [SW-A-3F-vlan100] quit [SW-A-3F] interface Vlanif 100 [SW-A-3F-Vlanif100] ip address 192.168.1.2 24 [SW-A-3F-Vlanif100] quit [SW-A-3F] ip route-static 0.0.0.0 0 192.168.1.1划到管理 VLAN 的那个物理口比如 G0/0/24要配成 access 并划进 VLAN 100否则 Vlanif 100 起不来display ip interface brief里会看到接口是 down 的。这个细节新手经常忽略以为配了 Vlanif 就自动通了。远程登录方式上Telnet 是明文Stelnet 是加密。生产环境我只建议上 Stelnet也就是 SSHTelnet 只用来做实验或者在完全隔离的实验网里用。两者的配置差异在于Stelnet 需要先生成密钥对再在 VTY 上把入站协议限制为 SSH。先生成密钥这是 Stelnet 的前提[SW-A-3F] rsa local-key-pair create The key name will be: SW-A-3F_Host Input the bits in the modulus[default 2048]: 20482048 位是当前的合理选择1024 已经偏弱4096 在老设备上生成慢、也可能不被支持。生成过程偶尔会卡十几秒到一两分钟属于正常现象别以为是设备死机。然后建管理员账号走 AAA 认证[SW-A-3F] aaa [SW-A-3F-aaa] local-user netadmin password irreversible-cipher MyStrong2024 [SW-A-3F-aaa] local-user netadmin privilege level 15 [SW-A-3F-aaa] local-user netadmin service-type ssh telnet [SW-A-3F-aaa] quitirreversible-cipher是华为推荐的口径密码在配置文件里以不可逆形式存储比早期的cipher更安全。权限等级 15 是最高级相当于管理员等级 1 只能看不能改。给运维人员分级时日常巡检账号给等级 1 就够了改配置的账号才给 15。最后开 SSH 服务并限制 VTY 入站协议[SW-A-3F] stelnet server enable [SW-A-3F] user-interface vty 0 4 [SW-A-3F-ui-vty0-4] authentication-mode aaa [SW-A-3F-ui-vty0-4] protocol inbound ssh [SW-A-3F-ui-vty0-4] user privilege level 15 [SW-A-3F-ui-vty0-4] idle-timeout 10 0 [SW-A-3F-ui-vty0-4] quitprotocol inbound ssh是安全加固的关键一步它把 Telnet 挡在门外。热词里的“ensp 交换机配置stelnet server”练的就是这套流程。idle-timeout 10 0表示空闲 10 分钟自动断开防止有人开了会话就走人留一个永远挂着的管理通道。还有一点VTY 支持的并发会话数由user-interface vty 0 4决定这里是 0 到 4 共 5 个。小型网络够用大型运维团队可以扩到 0 14。3. 完整实操一台 S5720 从零开始配到可远程管理3.1 实验拓扑与地址规划含子网计算过程现在把前面零散的步骤串成一条完整链路。假设场景是这样的公司五个部门共用一个 192.168.10.0/24 网段A 部门 100 台主机B 部门 50 台C 部门 20 台D、E 部门各 12 台。核心是一台三层交换机 S5720下面挂一台接入交换机 S5730管理网段单独用 192.168.1.0/24。子网划分要从“每个子网最多需要多少台主机”倒推。计算逻辑是 2^n - 2 ≥ 主机数减 2 是因为网络地址和广播地址不能用。A 部门 100 台2^7 - 2 126 ≥ 100所以主机位留 7 位掩码就是 /25255.255.255.128每个子网块大小 128。 B 部门 50 台2^6 - 2 62 ≥ 50主机位 6 位/26255.255.255.192块大小 64。 C 部门 20 台2^5 - 2 30 ≥ 20主机位 5 位/27255.255.255.224块大小 32。 D、E 部门各 12 台2^4 - 2 14 ≥ 12主机位 4 位/28255.255.255.240块大小 16。按块大小顺序切 192.168.10.0/24部门子网网段可用地址范围网关VLANA192.168.10.0/25.1 – .126192.168.10.1VLAN 10B192.168.10.128/26.129 – .190192.168.10.129VLAN 20C192.168.10.192/27.193 – .222192.168.10.193VLAN 30D192.168.10.224/28.225 – .238192.168.10.225VLAN 40E192.168.10.240/28.241 – .254192.168.10.241VLAN 50这里有个新手常问的问题为什么网关不用习惯的.254因为.254在 A 部门那个 /25 里属于 192.168.10.128 到 .255 这一段那是 B 部门的地盘会冲突。所以网关统一取每个子网的第一个可用地址好记也好算。这是按块大小紧凑切分的做法缺点是各子网大小不一如果以后某个部门要扩员只能重新规划另一种做法是给每个部门统一留 /24空间换灵活性看预算和规模决定。注意划分方案一旦定下来务必写进网络文档。我见过一次因为没留文档半年后新来的同事给 D 部门配了 .226 的网关和实际配置差一位排查了整整一个下午才发现是网关地址本身写错了。3.2 命令行逐条实录与解释配置分两层做接入交换机负责把端口划 VLAN三层交换机负责起网关和互通。接入交换机 SW-A-3F 的部分Huawei system-view [Huawei] sysname SW-A-3F [SW-A-3F] vlan batch 10 20 30 40 50 100 [SW-A-3F] interface GigabitEthernet 0/0/1 [SW-A-3F-GigabitEthernet0/0/1] port link-type access [SW-A-3F-GigabitEthernet0/0/1] port default vlan 10 [SW-A-3F-GigabitEthernet0/0/1] quit [SW-A-3F] interface GigabitEthernet 0/0/2 [SW-A-3F-GigabitEthernet0/0/2] port link-type access [SW-A-3F-GigabitEthernet0/0/2] port default vlan 20 [SW-A-3F-GigabitEthernet0/0/2] quit [SW-A-3F] interface GigabitEthernet 0/0/3 [SW-A-3F-GigabitEthernet0/0/3] port link-type access [SW-A-3F-GigabitEthernet0/0/3] port default vlan 30 [SW-A-3F-GigabitEthernet0/0/3] quit [SW-A-3F] interface GigabitEthernet 0/0/24 [SW-A-3F-GigabitEthernet0/0/24] port link-type trunk [SW-A-3F-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 30 40 50 100 [SW-A-3F-GigabitEthernet0/0/24] quit上联口 G0/0/24 配成 trunk 并放行全部业务 VLAN这一行allow-pass是整段配置里最关键的一行少了它后面全白干。三层交换机 SW-CORE 的部分重点是 Vlanif 接口和默认路由Huawei system-view [Huawei] sysname SW-CORE [SW-CORE] vlan batch 10 20 30 40 50 100 [SW-CORE] interface Vlanif 10 [SW-CORE-Vlanif10] ip address 192.168.10.1 25 [SW-CORE-Vlanif10] quit [SW-CORE] interface Vlanif 20 [SW-CORE-Vlanif20] ip address 192.168.10.129 26 [SW-CORE-Vlanif20] quit [SW-CORE] interface Vlanif 30 [SW-CORE-Vlanif30] ip address 192.168.10.193 27 [SW-CORE-Vlanif30] quit [SW-CORE] interface Vlanif 40 [SW-CORE-Vlanif40] ip address 192.168.10.225 28 [SW-CORE-Vlanif40] quit [SW-CORE] interface Vlanif 50 [SW-CORE-Vlanif50] ip address 192.168.10.241 28 [SW-CORE-Vlanif50] quit [SW-CORE] interface Vlanif 100 [SW-CORE-Vlanif100] ip address 192.168.1.1 24 [SW-CORE-Vlanif100] quit注意掩码写法ip address 192.168.10.1 25里的 25 就是掩码长度不用写 255.255.255.128两种写法都认但长度写法更省事也更不容易敲错。三层交换机默认就开了路由功能各 Vlanif 一配好A、B、C、D、E 之间自动互通不需要额外写静态路由。这就是“华为三层交换机”的核心价值——用一台设备把二层隔离和三层互通同时做完比“二层交换机 外部路由器”的组合干净得多。接入交换机上还需要一条指向核心的默认路由否则它自己没法跨网段通信虽然对纯二层的转发没影响但管理和日志上报会成问题[SW-A-3F] ip route-static 0.0.0.0 0 192.168.1.1对于接入交换机其实更标准的做法是把它的管理 VLAN 100 的 Vlanif 地址配成 192.168.1.x然后在核心上看到这个网段是直连的路由自然就有。用默认路由也可以看运维习惯。配完之后立刻验证别急着保存[SW-CORE] display ip interface brief [SW-CORE] display vlan [SW-CORE] display port vlan [SW-A-3F] display mac-address [SW-A-3F] display interface GigabitEthernet 0/0/24display ip interface brief会列出所有 Vlanif 的 IP 和状态重点看Physical和Protocol两列是不是都 up。如果某个 Vlanif 是 down说明没有物理端口属于这个 VLAN回去检查端口划分。display mac-address能确认终端到底学到了哪个端口、属于哪个 VLAN是排查“插错口”的利器。3.3 保存配置、备份版本文件与恢复出厂配置验证通过后必须保存SW-CORE save The current configuration will be written to the device. Are you sure to continue? (y/n)[n]: y系统会提示你确认文件名默认是vrpcfg.zip直接回车即可。保存完之后建议再敲一次display saved-configuration | include sysname确认保存的内容里有你的设备名这样能确定保存动作真的生效了。备份配置文件是另一个值得养成的习惯。华为支持把配置导出到文件服务器用 FTP 或 SFTPSW-CORE save SW-CORE ftp 192.168.1.100登录后执行put vrpcfg.zip把配置文件传上去。也可以在系统视图里用startup saved-configuration命令切换下次启动加载的配置文件做版本的灰度回退。需要恢复出厂时流程是清配置 → 清 saved 文件 → 重启。SW-CORE reset saved-configuration This will delete the configuration in the flash memory. Are you sure to continue? (y/n)[n]: y SW-CORE reboot这里有个必须提醒的细节部分型号在reset saved-configuration之后reboot时会问你“是否保存当前配置”一定要选N。如果选了 Y设备会把当前内存里的配置又写回 flash等于白清。这个坑坑过无数人我也中过一次看着重启后配置还在愣了三秒才反应过来。注意恢复出厂操作会清掉管理 IP 和登录账号如果设备不在你身边操作完就只能靠 Console 现场连了。远程做这个操作之前务必确认有人能到现场。4. 常见故障排查实录与速查表4.1 登录不上设备的几种情况Console 连上没反应最常见的原因就是串口参数不对。乱码 波特率错全黑屏 流控或线序问题。手上有几根不同品牌的 Console 线时还要注意有些线是“交叉”的有些是“直连”的插错了也会没输出。设备起来了但 Telnet/SSH 连不上按顺序排查这几项现象可能原因排查命令能 ping 通管理 IPSSH 拒绝Stelnet 服务未开启display stelnet server status连接被拒绝ping 也不通Vlanif 未 up 或物理口没划进管理 VLANdisplay ip interface brief提示密码错误但密码没错VTY 认证模式不是 aaadisplay current-configuration连上后立刻断开VTY 会话数被占满display users命令敲不进去权限等级不足display current-configurationdisplay users会列出当前所有登录会话如果有人挂着不退出把会话数占满了新连接就会被拒。这时候可以kill user-interface vty 1强制踢掉某个会话。热词里“华为交换机dis mac | in broad”这种带过滤的查询写法本质就是用|管道把输出过滤掉非常实用display current-configuration | include vlan也是同理。4.2 VLAN 不通、链路不同步的排查套路“配了 VLAN 但网络不通”是新手遇到最多的问题我总结了一个从下往上的排查顺序物理层 → 端口配置 → VLAN 放行 → 三层地址。先看物理层display interface GigabitEthernet 0/0/1关注Line protocol current state是不是 UP。如果是 DOWN先查线、查对端端口是否被 shutdown。华为端口默认是undo shutdown状态的但工程上被人手动关掉是常事。第二步看端口配置display port vlan GigabitEthernet 0/0/1会显示端口的链路类型、默认 VLAN、允许通过的 VLAN 列表。这里能一眼看出 access/trunk 有没有配错。有个经典错误是把本该是 trunk 的口配成了 access然后两端交换机互相不通现象是“同一个交换机内能通跨交换机就不通”。第三步看 VLAN 是否真的建了display vlan能看到每个 VLAN 下有哪些端口。如果 VLAN 建了但端口列表是空的说明端口没划进去。第四步才是三层问题display ip interface brief确认 Vlanif 地址和状态。热词里“为什么从局域网中拿走一个交换机后很卡”这类现象往往不是 VLAN 问题而是生成树重新收敛。拔掉一台交换机后STP 会重新计算拓扑中间有几十秒的阻塞和收敛过程流量抖动是正常的。如果抖动超过一分钟还不恢复那就是环路或者 STP 配置有问题了用display stp brief看各端口角色和状态。4.3 配置丢失、保存失败的坑配置丢失的典型场景有三个。一是改完没保存重启就回原样这个占九成。二是保存了但没保存成功比如 flash 满了或者权限不够VRP 会报错但很多人不看提示。三是多台设备共用同一个配置文件在堆叠或者备份场景下误加载。flash 空间可以通过dir查看如果剩余空间很小删掉旧的日志文件和多余的.zip备份。热词里“华为读bootloader”涉及的是设备引导阶段从 BootROM 加载系统文件属于比较底层的操作正常运行中不需要碰操作不当可能导致设备无法启动新手不建议深入。还有一类问题是配置文件内容正确但顺序导致的行为差异。比如你先配了port default vlan 10后来又改端口为 trunk 并allow-pass vlan 20那么原来那条 access 配置的影响会以最后一次为准。VRP 的配置是“最终状态”模型不是“逐条执行”模型这一点理解透了很多诡异现象就能解释通。5. 从单机到组网多部门网络的三层互通实践5.1 五个部门五个网段的路由配置前面五部门例子里的 Vlanif 配置其实已经把路由这件事做完了大半。三层交换机上的直连网段会自动生成直连路由用display ip routing-table能看到五条Direct路由加一条到管理网段的直连。部门之间互访本来就是默认放通的不需要额外配置。但现实里往往不希望所有部门自由互通比如财务和访客之间就该隔离。这时需要 ACL 配合流策略。举个例子禁止 VLAN 30访客访问 VLAN 10财务[SW-CORE] acl number 3000 [SW-CORE-acl-adv-3000] rule 5 deny ip source 192.168.10.192 0.0.0.31 destination 192.168.10.0 0.0.0.127 [SW-CORE-acl-adv-3000] rule 10 permit ip [SW-CORE-acl-adv-3000] quit [SW-CORE] traffic classifier deny-visitor operator or [SW-CORE-classifier-deny-visitor] if-match acl 3000 [SW-CORE-classifier-deny-visitor] quit [SW-CORE] traffic behavior deny-behavior [SW-CORE-behavior-deny-behavior] deny [SW-CORE-behavior-deny-behavior] quit [SW-CORE] traffic policy deny-policy [SW-CORE-trafficpolicy-deny-policy] classifier deny-visitor behavior deny-behavior [SW-CORE-trafficpolicy-deny-policy] quit [SW-CORE] interface Vlanif 30 [SW-CORE-Vlanif30] traffic-policy deny-policy inbound这里的反掩码写法值得展开一句ACL 里的0.0.0.31对应 /27 的反掩码32 - 1 310.0.0.127对应 /25 的反掩码128 - 1 127。华为 ACL 用反掩码和思科的写法一致0 表示“必须匹配”1 表示“不关心”。这是新手最绕的地方记不住就用计算器算别靠感觉。5.2 端口安全、STP 与常见加固项生产环境里交换机的加固项目远不止 VLAN 和密码几个性价比最高的必做项端口安全限制单个端口允许学习的 MAC 数量防止有人拿小交换机私接一堆设备。port-security enable加port-security max-mac-num 3超出后可以配成告警或直接关闭端口。BPDU 保护接终端的 access 口开stp bpdu-protection一旦收到 BPDU 就关闭端口防止有人私接交换机导致拓扑被篡改。根桥保护在核心交换机上对下联口开stp root-protection防止某台接入交换机因为优先级配得莫名低而抢走根桥角色导致流量走向变得莫名其妙。关闭未使用端口空闲端口全部shutdown这是最简单也最有效的攻击面收缩手段。STP 相关命令在华为上有 RSTP 和 MSTP 两种模式默认是 MSTP。stp mode stp可以切回传统模式做实验但生产环境建议保留 MSTP收敛快而且能按实例做负载分担。热词里“双路交换机设计方案”如果指的是双上行冗余那 STP 就是实现这个冗余的核心配不好就会出现环路广播风暴整个网络瞬间瘫痪。注意做 STP 相关改动时一定避开业务高峰。拓扑变更会触发 MAC 表刷新和短暂泛洪表现是网络卡顿几秒到几十秒。我在一个下午高峰期给接入交换机开 BPDU 保护结果因为某台老设备发的是非标准 BPDU端口被连续关闭影响了半个楼层教训很深。5.3 批量运维把重复劳动交给脚本当你管理的交换机从一台变成二十台逐台 Console 配置就变成灾难。华为提供了几个提升效率的路子一是配置模板 变量替换。把命名、VLAN、管理 IP 抽成变量用 Excel 或 Python 批量生成每台设备的命令脚本然后通过 SSH 批量下发。二是eNSP 做实验验证。热词里的“华为ensp官网下载”和“ensp 交换机配置stelnet server”说明很多人用 eNSP 练手。我的建议是任何批量脚本先在 eNSP 里跑一遍确认没有语法错误、没有顺序依赖问题再动生产设备。用 Python 配合 paramiko 库写批量登录脚本基本骨架是这样import paramiko devices [ {host: 192.168.1.2, name: SW-A-3F}, {host: 192.168.1.3, name: SW-A-4F}, ] for dev in devices: client paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client.connect(dev[host], usernamenetadmin, passwordMyStrong2024, look_for_keysFalse) shell client.invoke_shell() shell.send(system-view\n) shell.send(fsysname {dev[name]}\n) shell.send(return\n) shell.send(save\n) shell.send(y\n) client.close()这段脚本的关键点在于华为交换机对save会弹二次确认必须补一个y\n否则保存不会执行。另外每发一条命令最好加一点延时或者读取返回设备处理速度跟不上脚本发送速度时命令会丢。三是自动化巡检。用脚本定期跑display cpu-usage、display memory-usage、display interface brief、display device把输出存档出故障时能对比历史数据找异常点。CPU 突然从 5% 涨到 70%通常就是异常流量或者环路的早期信号。我个人在实际运维里的体会是能把命令写成脚本的就一定不要手敲第二遍。手敲的每一次都是出错机会脚本写一次、测一次、以后反复用长期看省下的时间和心力远超写脚本的那点投入。另外一点很重要的是脚本跑批量操作时一定要加日志把每台设备的执行结果记下来出了问题能知道是哪台、哪一步、什么返回。最后再分享一个小技巧交换机配好之后把display current-configuration的输出直接存成文本文件和设备名一起归档同时存一份到版本管理工具里。以后再有人问“上个月的核心交换机配置是什么样的”你直接翻记录就行比登录设备去看方便太多。