☰
eNSP华为交换机配置入门:VLAN、Trunk、链路聚合与静态路由
2026/9/29 1:14:37 网站建设 项目流程

1. 先搞清楚 eNSP 这套东西的边界在哪

eNSP 这个模拟器,我带新人时基本当成入门标配来用。它能把华为交换机、路由器的配置流程完整跑一遍,不用花钱买真机,就能把 VLAN、Trunk、链路聚合、静态路由这些天天要打交道的功能练熟。很多刚入行的朋友第一次摸到真的华为交换机时心里发怵,其实怕的不是命令本身,而是怕敲错一条命令把设备搞挂、怕在生产网里出事。eNSP 恰好把这道心理门槛抹平了——随便折腾、随便重启,配错了删掉重来,最多损失二十分钟。华为交换机配置这件事,说到底是个熟练工种,敲过一百遍和敲过三遍的人,排障速度完全不是一个量级。

1.1 eNSP 能练到什么程度,练不到什么

能练的部分很实在:VRP 系统的命令行操作、二层交换(VLAN、Access、Trunk、Hybrid、STP、链路聚合)、三层交换(VLANIF、静态路由、部分动态路由协议)、ACL、NAT、DHCP、WLAN 的 AC 配置、防火墙的基础策略,这些都能在模拟器里从头到尾做一遍。命令的语法、报错提示、回显格式和真机基本一致,这点很重要——模拟器上练出来的手感可以直接迁移到真机上。

练不到的部分也得说清楚。转发性能、芯片行为、光模块协商、堆叠的真实时序、某些型号专属的高级特性,这些在模拟环境里要么简化了,要么直接没实现。所以 eNSP 用来练"命令逻辑"和"排障思路"绰绰有余,但千万别拿它的现象去推断真机行为。我在实际项目里遇到过好几次,模拟器上 Trunk 通得好好的,上真机因为两端封装方式或者协商参数不一致翻车,这就是典型的模拟器给不了的细节。

1.2 安装环节,坑基本都集中在这里

eNSP 本体、VirtualBox、WinPcap(或 Npcap)这三样东西的版本匹配关系,是新手第一天最容易踩的地方。我的建议是三者按官方推荐的组合来装,不要图省事用最新版硬凑。VirtualBox 版本比 eNSP 期望的高出一大截时,设备启动失败几乎是必然的。

第二类坑在系统层面。Windows 10/11 上如果开着内核隔离、内存完整性、Hyper-V 这些虚拟化功能,VirtualBox 抢不到硬件虚拟化资源,设备就会卡在启动界面或者直接报错退出。解决办法是在"Windows 安全中心 - 设备安全性 - 内核隔离"里把内存完整性关掉,然后重启。这个操作会牺牲一点系统安全防护,所以做完实验我一般会再开回来,或者干脆准备一台专门跑实验的机器。

第三类坑很隐蔽:安装路径里有中文、有空格、有括号。eNSP 调用底层组件时对路径的处理不够健壮,路径一复杂就各种莫名报错。我统一装在D:\eNSP\这种纯英文短路径下,用了几年没出过路径相关的问题。安装过程中右键"以管理员身份运行",装完先别急着开实验,进菜单里做一次"注册设备",把 VBox 的路径重新指一遍,这一步能省掉后面 80% 的启动类报错。

注意:网上流传的各种第三方整合包、所谓的离线版,我个人的态度是尽量别用。来源不明的安装包里面塞了什么,你根本没法验证,实验环境里也没有敏感数据,但机器上可能有。从官方渠道下载,多花的那点时间比事后排查划算得多。

1.3 我给新手的第一个实验拓扑

第一个拓扑不要贪大。我的建议是一台三层交换机做核心,两台二层交换机做接入,再加一台路由器做出口,四台设备足够把后面所有内容串起来。设备型号上,接入层选 S5700 或 S5720 系列,核心选 S5720 或 S5730 的三层款,路由器用 AR2220 就行。

拓扑连法也简单:接入交换机的上行口连核心的下行口,核心的上行口连路由器,PC 挂在接入交换机下面。就这么几条线,能覆盖 Access 口、Trunk 口、VLANIF、静态路由、跨网段互通这一整套链路。

为什么强调第一个拓扑要简单?因为拓扑一复杂,出问题时的变量就多。你 ping 不通一台 PC,可能是 VLAN 没划、可能是 Trunk 没放行、可能是网关没配、可能是 PC 的 IP 写错了,四个可能叠加在一起,新手根本无从下手。四台设备的时候,每一层的职责是清晰的,你能一层一层往上排。等这套流程跑熟了,再上综合实验,那时候你脑子里已经有排查的章法了。

2. 设备选型和基础操作:把实验台搭起来

搭好环境只是第一步,接下来得搞清楚在 eNSP 里怎么选设备、怎么连线、怎么操作命令行。这些看着是琐碎小事,但新手卡在这里的时间往往比卡在配置命令上的还多。

2.1 交换机型号怎么挑

eNSP 里能选的华为交换机型号不少,常见的有 S3700、S5700、S5720、S5730 这几类。它们之间的差异主要体现在三个维度:端口密度、是否支持三层、支持的特性集。

S3700 是纯二层设备,适合练最基础的 VLAN 和 Trunk,不支持 VLANIF(也就是没法给 VLAN 配 IP 做网关)。S5700 分二层款和三层款,三层款支持 VLANIF,能当小型核心用。S5720、S5730 是更新一代的型号,三层能力更完整,支持的特性也更多。

我的建议是这样:接入层用 S5700(二层),核心层用 S5720 或 S5730 的三层款。这样搭出来的拓扑最贴近真实的中小企业网络结构——接入层只负责把终端划进 VLAN,核心层负责 VLAN 间路由和出口转发。一开始就用两台三层交换机做双核心,配置量和排障难度都会陡增,不适合入门阶段。

三层和二层在 eNSP 里的判断方法有个小技巧:三层交换机的物理接口默认是二层属性,想当三层口用需要敲undo portswitch把它切到三层模式(部分型号支持)。而 VLANIF 接口只要设备支持三层就能配。这一点跟某些其他厂商设备默认行为不同,第一次接触容易懵。

2.2 连线、启动和高频操作

eNSP 里的连线工具在左侧工具栏,有自动连线、手动连线、闪电(快速连线)几种。自动连线省事,但它会自动判断端口类型,偶尔会给你连到一个意想不到的口上。做严肃实验时我更推荐手动指定端口,尤其是做 Trunk 和链路聚合的时候,端口号必须心里有数。

设备右键菜单里,"启动"是开机,"停止"是断电,"导出设备配置"能把当前配置存成文本,"导入设备配置"则是批量灌配置。批量导入这个功能在做重复性实验时特别省时间——把准备好的配置文件导入,开机直接就是配好的状态。

命令行窗口的操作有几个快捷键值得记住。Tab键补全命令,这条命令如果有多条匹配会列出来;?键列出当前位置可用的命令和参数;Ctrl+Z从任意视图直接回到用户视图;上下方向键翻历史命令;Ctrl+C中断当前正在刷屏的输出。eNSP 里还有一个专门的问题:长时间运行后命令行窗口输出太多,滚动很卡,这时候在设备上敲screen-length 0 temporary关掉分屏,或者直接关掉窗口重开一个,比在那儿慢慢滚屏快得多。

保存配置这件事必须单独拎出来说。华为设备的配置分运行配置和启动配置,你在命令行里敲的所有东西都先在运行配置里,断电就没了。要保存必须敲save,然后按提示确认。新手最常见的翻车方式就是:辛辛苦苦配了半小时,直接关掉设备,重新开机发现啥都没了。这个坑每个人都会踩一次,踩完就记住了。

2.3 VRP 的视图模型,理解了这个命令就好记了

华为 VRP 系统的命令组织方式是"视图 + 命令"。你一登录设备,处在用户视图,提示符是<设备名>,这个视图下基本只能看,不能改。要改配置必须先敲system-view进入系统视图,提示符变成[设备名]。再往下,interface GigabitEthernet 0/0/1进入接口视图,vlan 10进入VLAN 视图,aaa进入 AAA 视图,等等。

视图模型的意义在于,同一条命令字符串在不同视图下含义完全不同。比如quit是逐层退出,return是直接回到用户视图。再比如ip address这种命令在系统视图下根本敲不出来,必须先进接口视图。理解了这层,你看到报错 "Unrecognized command found at '^' position" 时,第一反应应该是"我是不是走错视图了",而不是"这条命令我记错了"。

还有一个细节是undo的用法。VRP 里大部分配置命令都有对应的undo形式来取消,比如undo ip address、undo vlan 10、undo port trunk allow-pass vlan 20。记命令的时候连同undo形式一起记,排障时改配置会顺手很多。

真正好用的还有display this,在当前视图下敲,它会显示你在这个视图里配过的所有命令,而不是整个设备的配置。接口调不通的时候,先进接口视图敲display this,能一眼看出这个口到底配了什么。

3. 单台交换机的入门配置:从命名到管理地址

一台刚出厂的华为交换机,Console 线插上去开机,第一件事做什么?我按自己的习惯顺序往下讲,每一步都会说清楚为什么要这么做,而不是单纯罗列命令。

3.1 基础系统配置

第一件事是改名字。默认名字是Huawei,所有设备都叫这个名字,在实验环境里你根本分不清自己连的是哪台。敲sysname改成有意义的名字,比如SW-Core、SW-Access-1,这是最省事也最有收益的一步。

<Huawei> system-view [Huawei] sysname SW-Access-1 [SW-Access-1]

第二件事是配时钟和时区。日志、告警、MAC 表的学习时间这些都要靠系统时钟打时间戳,时钟不准的话出事之后看日志会一头雾水。命令是clock timezone和clock datetime。实验环境里这一步可有可无,但如果你的实验涉及日志分析,配上会舒服很多。

[SW-Access-1] clock timezone BJ add 08:00:00 [SW-Access-1] clock datetime 10:30:00 2025-01-15

第三件事是关掉一些干扰项。华为设备默认会往 Console 口打印日志和告警,你正在敲命令的时候一串日志插进来,光标位置全乱。在用户视图下敲undo terminal monitor可以临时关掉当前会话的终端监控,undo terminal trapping关掉陷阱信息。screen-length 0 temporary关掉分屏显示,这样display类命令会一次性输出完,不中断。

提示:screen-length 0 temporary是临时设置,重新登录就恢复默认。想永久生效,需要在用户界面视图下配screen-length 0。

3.2 管理 VLAN 和 VLANIF 地址

给交换机配一个管理 IP,后续才能 Telnet、SSH、SNMP 远程管理。华为的常规做法是单独划一个管理 VLAN(习惯上用 VLAN 1 或者专门开一个 VLAN 100),然后把某个物理口划进这个 VLAN,最后在 VLANIF 接口上配 IP。

为什么不用 VLAN 1?因为 VLAN 1 是默认 VLAN,所有口默认都在里面,安全性差,而且容易和业务流量混在一起。生产环境里我基本都会单独开一个管理 VLAN,物理口只连管理网段。

配置过程:

[SW-Access-1] vlan 100 [SW-Access-1-vlan100] description MGMT [SW-Access-1-vlan100] quit [SW-Access-1] interface GigabitEthernet 0/0/24 [SW-Access-1-GigabitEthernet0/0/24] port link-type access [SW-Access-1-GigabitEthernet0/0/24] port default vlan 100 [SW-Access-1-GigabitEthernet0/0/24] quit [SW-Access-1] interface Vlanif 100 [SW-Access-1-Vlanif100] ip address 192.168.100.2 255.255.255.0

description是个好习惯,用于给 VLAN 加备注,过两个月回来你自己都忘了 VLAN 100 是干什么的。VLANIF 接口只要设备支持三层就能创建,创建的前提是 VLAN 100 已经存在——这一点经常被忽略,先建 VLAN 再建 VLANIF,顺序反了会报错。

配完之后用display ip interface brief看一眼所有三层接口的状态。VLANIF 接口的状态取决于 VLAN 里是否有处于 up 状态的成员口:如果 VLAN 100 里一个 up 的口都没有,VLANIF 就是 down 的,这个 IP 也 ping 不通。这是排障时的高频检查点。

3.3 Console、Telnet、SSH 三种登录方式

Console 口是带外管理,设备刚上架、网络没通的时候只能靠它。配置方式有两种,一种用密码认证,一种用 AAA 认证。简单场景用密码:

[SW-Access-1] user-interface console 0 [SW-Access-1-ui-console0] authentication-mode password [SW-Access-1-ui-console0] set authentication password cipher Huawei@123 [SW-Access-1-ui-console0] idle-timeout 10 0

idle-timeout 10 0表示空闲 10 分钟自动断开,单位是分钟和秒。这个要配,不然别人拔了你的 Console 线接自己电脑上,直接就是一个特权会话。

Telnet 是明文传输,密码在网络里裸奔,现在基本只出现在实验环境。配置分两块,一块是 AAA 用户,一块是 VTY 线路。

[SW-Access-1] telnet server enable [SW-Access-1] aaa [SW-Access-1-aaa] local-user admin password cipher Huawei@123 [SW-Access-1-aaa] local-user admin privilege level 15 [SW-Access-1-aaa] local-user admin service-type telnet ssh [SW-Access-1-aaa] quit [SW-Access-1] user-interface vty 0 4 [SW-Access-1-ui-vty0-4] authentication-mode aaa [SW-Access-1-ui-vty0-4] protocol inbound all [SW-Access-1-ui-vty0-4] user privilege level 15

user-interface vty 0 4表示同时允许 5 个远程会话(0、1、2、3、4)。privilege level 15是最高权限级别,能进系统视图改配置。service-type决定这个账号能用来做什么,把 telnet 和 ssh 都写上,一个账号两种登录方式通用。

SSH 的配置比 Telnet 多一步密钥生成:

[SW-Access-1] rsa local-key-pair create (提示输入密钥长度,一般填 2048) [SW-Access-1] stelnet server enable [SW-Access-1] ssh user admin authentication-type password [SW-Access-1] ssh user admin service-type stelnet [SW-Access-1] user-interface vty 0 4 [SW-Access-1-ui-vty0-4] protocol inbound ssh

这里有个容易搞混的点:ssh user admin里的 admin 必须和local-user admin的用户名一致,否则认证阶段直接失败。另外protocol inbound ssh配完之后,Telnet 就登不上了,需要提前确认你的登录方式已经切换过去,别把自己关在门外。

注意:改 VTY 的协议类型之前,先另开一个会话验证 SSH 能登上去,确认没问题再关掉旧会话。这个操作失误导致自己被锁在设备外的案例,我见过不止一次。

3.4 密码忘了怎么救回来

S5720 这类设备如果所有管理密码都丢了,只能靠 Console 口做密码恢复。流程是:断电重启,在启动过程中按Ctrl+B进 BootROM 菜单,选择清除密码的选项,重启后设备配置还在但密码被清空,进去之后重新配密码。不同型号的 BootROM 菜单按键和选项编号不一样,S5720 一般是Ctrl+B,密码可能是Admin@huawei.com或者空。

这个操作一定要看准型号对应的文档,因为 BootROM 里的选项一旦选错,可能把配置文件一起清掉。我在实际项目里做过一次,设备配置很复杂,清密码之前专门先导出了配置备份,结果发现清密码这个动作本身不动配置文件,属于虚惊一场。但备份这个习惯还是得有,尤其是面对正在跑业务的设备。

顺便说一句,真机上做密码恢复需要在维护窗口期操作,因为重启意味着业务中断。模拟器上你可以随便练,练到形成肌肉记忆为止。

4. 五个部门划五个子网:VLSM 计算到落地配置

这个场景我在实际工作中碰到过很多次:公司搬新办公室,五个部门,人数不一样,要分到不同的网段,部门之间还不能互相随便访问。这个需求落到交换机上就是 VLAN 划分 + 三层互通 + ACL 控制。这里先把前半段讲透。

4.1 地址规划先算清楚,别拍脑袋

假设五个部门的需求是这样:A 部门 100 台主机,B 部门 50 台,C 部门 20 台,D 部门 10 台,E 部门 10 台。手里给一个 C 类网段 192.168.10.0/24。

用 VLSM 从大到小排:

  • A 部门 100 台:2^7 = 128,减去网络号和广播地址,可用 126 个,够。所以需要 7 位主机位,前缀长度就是 32 - 7 =/25。
  • B 部门 50 台:2^6 = 64,可用 62 个,够。主机位 6 位,前缀/26。
  • C 部门 20 台:2^5 = 32,可用 30 个,够。主机位 5 位,前缀/27。
  • D 部门 10 台:2^4 = 16,可用 14 个,够。主机位 4 位,前缀/28。
  • E 部门 10 台:同样/28。

按照"大块优先、连续分配"的原则,从 192.168.10.0 开始切:

部门网段掩码网关可用地址范围VLAN
A192.168.10.0/25255.255.255.128192.168.10.1.1 ~ .12610
B192.168.10.128/26255.255.255.192192.168.10.129.129 ~ .19020
C192.168.10.192/27255.255.255.224192.168.10.193.193 ~ .22230
D192.168.10.224/28255.255.255.240192.168.10.225.225 ~ .23840
E192.168.10.240/28255.255.255.240192.168.10.241.241 ~ .25450

把这几段加起来:128 + 64 + 32 + 16 + 16 = 256,正好把一个 /24 用满,一点不浪费。网关统一取每个子网的第一个可用地址,这是最省心的做法,运维交接的时候一眼就能记住。

为什么网关不取最后一个可用地址?取哪一头都行,但整个网络统一规则更重要。团队里有人取第一个、有人取最后一个,时间长了查问题的时候特别烦。统一约定比"最优"更有价值。

4.2 接入层划 VLAN 和 Access 口

接入交换机上做两件事:建 VLAN,把端口划进对应的 VLAN。

[SW-Access-1] vlan batch 10 20 30 40 50 [SW-Access-1] interface GigabitEthernet 0/0/1 [SW-Access-1-GigabitEthernet0/0/1] description To-A-Dept [SW-Access-1-GigabitEthernet0/0/1] port link-type access [SW-Access-1-GigabitEthernet0/0/1] port default vlan 10 [SW-Access-1-GigabitEthernet0/0/1] quit [SW-Access-1] interface GigabitEthernet 0/0/2 [SW-Access-1-GigabitEthernet0/0/2] description To-B-Dept [SW-Access-1-GigabitEthernet0/0/2] port link-type access [SW-Access-1-GigabitEthernet0/0/2] port default vlan 20

vlan batch能一次建多个 VLAN,比一个一个建快得多,也少出错。port link-type access把接口设成接入模式,port default vlan 10把它划进 VLAN 10。注意顺序:必须先设 link-type 再设 default vlan,反过来的话某些版本会报错。

多个端口要划进同一个 VLAN 时,可以用端口组批量处理:

[SW-Access-1] port-group group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/10 [SW-Access-1-port-group] port link-type access [SW-Access-1-port-group] port default vlan 10

端口一多,手动一个个配容易漏,端口组是个好帮手。但要注意端口组里如果成员口的原有配置不一样,批量下发会覆盖掉,做之前最好display current-configuration interface看一眼现状。

4.3 Trunk 打通,三层接口做网关

接入交换机的上行口要配成 Trunk,把所有业务 VLAN 放行给核心交换机。核心交换机上则要建对应的 VLANIF,配上网关地址。

接入交换机上行口:

[SW-Access-1] interface GigabitEthernet 0/0/23 [SW-Access-1-GigabitEthernet0/0/23] description To-Core [SW-Access-1-GigabitEthernet0/0/23] port link-type trunk [SW-Access-1-GigabitEthernet0/0/23] port trunk allow-pass vlan 10 20 30 40 50

核心交换机侧:

[SW-Core] vlan batch 10 20 30 40 50 [SW-Core] interface GigabitEthernet 0/0/1 [SW-Core-GigabitEthernet0/0/1] port link-type trunk [SW-Core-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 20 30 40 50 [SW-Core-GigabitEthernet0/0/1] quit [SW-Core] interface Vlanif 10 [SW-Core-Vlanif10] ip address 192.168.10.1 255.255.255.128 [SW-Core-Vlanif10] quit [SW-Core] interface Vlanif 20 [SW-Core-Vlanif20] ip address 192.168.10.129 255.255.255.192

Trunk 口上一定要显式allow-pass,不要图省事用allow-pass vlan all。全放行意味着任何一个新加的业务 VLAN 都会自动在 Trunk 上跑起来,看似方便,实际是隐患——某天有人在接入层随手建了个 VLAN,你根本不知道它已经通了。显式列出允许的 VLAN,等于给自己留了一份清晰的网络清单。

4.4 配完必须验证,别急着收工

配置敲完只是完成了一半,验证才是确认不出事的关键。我一般按这个顺序查:

display vlan看 VLAN 是否存在、每个 VLAN 里有哪些成员口。这一条能确认端口划分对不对。

display port vlan看每个口的链路类型和默认 VLAN,比display vlan更直接。

display interface GigabitEthernet 0/0/23看 Trunk 口的实际状态和放行的 VLAN 列表,重点看最后几行的 "Port link-type" 和 "Trunk VLAN ID"。

display ip interface brief看所有三层接口的 IP 和状态,VLANIF 必须是 up。

display mac-address看 MAC 表学到了哪些地址,在哪个 VLAN、哪个口上。想过滤的话用管道符,比如display mac-address | include 5489,只显示 MAC 里带 5489 的条目;也可以按 VLAN 过滤display mac-address vlan 10。管道符|后面接include(可以缩写成in)表示包含匹配,exclude是排除匹配,这两个在刷屏回显里过滤信息非常好用。

PC 侧的验证就是打开 PC 的配置界面填 IP、掩码、网关,然后ping网关、ping其他部门的地址。跨部门能通说明三层转发正常。ping 不通先看 PC 的 IP 是不是在正确网段,这个低级错误占比不低。

5. 高频需求实战:MAC/IP 绑定、链路聚合、静态路由

前面把主干打通了,接下来是几个实际项目里问得最多、也最容易做错的需求。

5.1 MAC 与 IP 绑定

绑定 MAC 和 IP 的场景通常是这样的:财务、监控、打印机这类固定设备,不希望 IP 被人抢走,或者不希望有人私自改 IP。华为交换机上实现方式至少有三种,用途和影响范围都不一样。

第一种是接口绑定,在接口下配user-bind static,这是最常用的方式:

[SW-Access-1] user-bind static ip-address 192.168.10.100 mac-address 5489-98ab-cdef interface GigabitEthernet 0/0/1 vlan 10

这条命令建立了一张静态绑定表,配合 IPSG(IP 源防护)功能,能阻止不符合绑定的报文从该口进入。注意这套机制要在接入交换机上开 IPSG 才真正生效,只写绑定表是没用的:

[SW-Access-1] interface GigabitEthernet 0/0/1 [SW-Access-1-GigabitEthernet0/0/1] ip source check user-bind enable

第二种是 DHCP 静态绑定,适用于用 DHCP 分配地址的环境,把 MAC 和 IP 在地址池里绑死。第三种是arp static写静态 ARP 表项,防 ARP 欺骗,但作用范围只在本地设备。

踩过的坑里最典型的一个是:绑定写了,但没开 IPSG,结果用户换个 IP 照样能上网,白忙活。第二个坑是绑定表里的 MAC 格式写错,华为设备 MAC 用xxxx-xxxx-xxxx格式,从 Windows 上ipconfig /all看到的格式是xx-xx-xx-xx-xx-xx,需要转换,写错了不生效而且不报错。

5.2 Eth-Trunk 链路聚合

链路聚合解决两个问题:带宽叠加和链路冗余。核心和接入之间如果只走一条千兆线,跑满就堵;拉两条线做聚合,逻辑上是一条,物理上两条,一条断了另一条顶上。

[SW-Access-1] interface Eth-Trunk 1 [SW-Access-1-Eth-Trunk1] mode lacp-static [SW-Access-1-Eth-Trunk1] port link-type trunk [SW-Access-1-Eth-Trunk1] port trunk allow-pass vlan 10 20 30 40 50 [SW-Access-1-Eth-Trunk1] quit [SW-Access-1] interface GigabitEthernet 0/0/23 [SW-Access-1-GigabitEthernet0/0/23] eth-trunk 1 [SW-Access-1-GigabitEthernet0/0/23] quit [SW-Access-1] interface GigabitEthernet 0/0/24 [SW-Access-1-GigabitEthernet0/0/24] eth-trunk 1

也可以用批量方式一次加两个口:

[SW-Access-1-Eth-Trunk1] trunkport GigabitEthernet 0/0/23 to 0/0/24

几个必须注意的点。第一,加入 Eth-Trunk 的物理口必须先把原有配置清干净,否则会被拒绝加入,报错信息大致是"the port has config or is not default config"。用clear configuration interface GigabitEthernet 0/0/23清一下再操作。第二,聚合模式两端要一致,都用静态 LACP 或者都用静态手工模式,一边 LACP 一边手工,聚合能起来但行为不正常。第三,速率和双工不一致的口不要往里加,同速率同双工是基本要求。

聚合成功之后,display eth-trunk 1能看到成员口列表和每个口的状态,正常状态下所有成员口应该是 Selected。如果有 Unselect 的成员,多半是速率不匹配或者对端配置不一致。

5.3 三层交换与路由器的静态路由互通

核心交换机上配了各个部门的 VLANIF,这些网段在核心上是直连的,互相能通。但要访问路由器外面的网络,还得配静态路由。

假设核心交换机上行口GigabitEthernet 0/0/24连路由器,互联地址用 10.0.0.0/30,核心侧是 10.0.0.1,路由器侧是 10.0.0.2。

核心交换机侧:物理口切三层、配 IP、写默认路由指向路由器。

[SW-Core] interface GigabitEthernet 0/0/24 [SW-Core-GigabitEthernet0/0/24] undo portswitch [SW-Core-GigabitEthernet0/0/24] ip address 10.0.0.1 255.255.255.252 [SW-Core-GigabitEthernet0/0/24] quit [SW-Core] ip route-static 0.0.0.0 0.0.0.0 10.0.0.2

路由器侧要写回程路由,把五个部门的网段都指向核心交换机。这时候 VLSM 的好处就体现出来了——五个网段合起来就是一个 192.168.10.0/24,一条汇总路由就够:

[Router] ip route-static 192.168.10.0 255.255.255.0 10.0.0.1

一条汇总路由顶五条明细路由,路由表干净,查问题也快。这就是当初规划地址时"整块分配、连续使用"的价值。如果当初五个部门分散在 192.168.10.x、192.168.20.x、192.168.30.x 三个 C 类网段里,这里就得写三条,而且以后每加一个部门都要去路由器上改配置。

undo portswitch这条命令只在支持三层转发的交换机型号上有效,部分低端型号敲不出来。如果你的设备不支持,就只能用 VLANIF 来承载上行互联,做法是再开一个互联 VLAN,把这个物理口划进去,然后在 VLANIF 上配 IP。效果一样,只是多一层抽象。

6. 出问题了怎么查:常见故障速查

实验环境里设备起不来、配了不通、登录报错,这三类问题占了我遇到问题的九成以上。下面按类别整理,配上排查思路。

6.1 设备起不来

AR 路由器启动失败,错误码 40是最经典的一个。原因通常是 VirtualBox 版本与 eNSP 不匹配、系统虚拟化被 Hyper-V 或内核隔离占用、或者 VBox 的虚拟网卡没装好。排查顺序:先确认 VBox 版本是 eNSP 期望的那个;再检查系统里有没有开 Hyper-V、Windows 沙盒、内存完整性;然后在 eNSP 菜单里重新做一次设备注册,让 eNSP 重新找到 VBox 的安装路径;最后确认 eNSP 是以管理员身份运行的。按这个顺序走,九成能解决。

错误码 41 及其他变体,思路类似,但重点看防火墙和杀毒软件。有些安全软件会拦截 VirtualBox 创建虚拟网卡的操作,日志里能看到被拦截的记录。临时关掉安全软件测试,确认是它的问题之后再想办法加白名单。

设备启动后命令行窗口一片空白或者卡死,先关掉窗口重新打开,还不行就停止设备再启动。eNSP 长时间运行会积累内存占用,跑几个小时的实验之后响应变慢是常态,重启一下 eNSP 比反复折腾设备快。

6.2 配了不通

同 VLAN 内两台 PC ping 不通:先看 PC 的 IP 和掩码是不是同一网段,再display vlan确认两个口是不是划在同一个 VLAN,然后display interface看两个口是不是都 up。三层交换机上如果接口被关掉过,记得undo shutdown。还有一种情况是 PC 的防火墙开着,ping 请求被丢,这个在模拟器里少见但真机上很常见。

跨 VLAN 不通:核心交换机上display ip interface brief看对应的 VLANIF 是不是 up。VLANIF down 的原因基本只有一个——那个 VLAN 里没有任何 up 的成员口,或者是 Trunk 上没放行这个 VLAN。这两条查完,跨 VLAN 不通的问题基本就定位了。

Trunk 通了但某些 VLAN 不通:几乎肯定是allow-pass列表里漏了那个 VLAN。两端都要检查,只放行了一端会出现单通或者干脆不通的诡异现象。

PC 能 ping 通网关但 ping 不通外网:查核心交换机的默认路由有没有写、路由器的回程路由有没有写。回程路由是新手最容易漏的一环,因为 ping 出去的时候没有问题,回不来的时候你只能看到超时。

6.3 登录类报错

shell request failed on channel 0这个报错在做 SSH 登录时出现得很多。原因通常是 VTY 视图下protocol inbound没包含 ssh、或者 SSH 用户没通过ssh user xxx命令声明、或者 VTY 的用户数用完(0 到 4 五个会话都被占)。逐个检查:display current-configuration | include ssh看 ssh 相关配置、display users看当前有哪些会话、display ssh server status看服务状态。

Telnet 能登、SSH 登不上:检查三处。rsa local-key-pair有没有生成;stelnet server enable有没有开;ssh user里的用户名和local-user的用户名是否一致。这三处对齐之后,SSH 基本就通了。

登录进去权限不够,敲 sys 报错:检查local-user的privilege level,以及 VTY 视图下的user privilege level。两处都设了的情况下,取较小值生效。

6.4 一张表把排查顺序固化下来

现象优先检查常用命令
设备启动失败 40/41VBox 版本、虚拟化冲突、管理员权限看 eNSP 日志、重新注册设备
同 VLAN 不通IP/掩码、VLAN 划分、接口状态display vlan、display interface brief
跨 VLAN 不通VLANIF 状态、Trunk 放行display ip interface brief、display port vlan
通网关不通外网默认路由、回程路由display ip routing-table
SSH 报 channel 0VTY 协议、SSH 用户、会话数display ssh server status、display users
配置丢了有没有 savedisplay saved-configuration
MAC 表看不到设备VLAN 是否一致、口是否 updisplay mac-address、管道过滤

排查这件事有条通用原则:从下往上、从小范围往大范围。先确认物理口 up,再看二层 VLAN,再看三层 IP,最后看路由。跳步骤的直接后果是你以为问题在三层,折腾半天发现是网线口没连对。

提示:display diagnostic-information能把设备的各类诊断信息一次性收集到文本里,排查疑难问题时先敲这条,把输出保存下来,比反复敲单条 display 命令高效得多。

7. 缩写总结与记忆方法

华为命令有个特点:很多长命令都有官方的缩写形式,敲缩写不报错,效率还高一截。但新手容易走两个极端——要么一个字不敢省,敲得手酸;要么乱省,省到设备认不出来。这里把我常用的缩写整理一下。

7.1 视图切换和配置类

全称常用缩写说明
system-viewsys进系统视图,最高频
interfaceint进接口视图
quitq退回上一级视图
returnret / Ctrl+Z直接回用户视图
displaydis查看类命令的前缀
configurationconf常出现在dis cu中
current-configurationcu当前配置
saved-configurationsa启动配置
vlanvlan本身已短,一般不再省
port link-type access无通用缩写建议敲全
undoundo不能省,省了就成另一条命令

dis cu是我敲得最多的一条命令,看当前配置基本都靠它。想只看某个接口的配置,可以dis cu int GigabitEthernet 0/0/1,比先dis cu再翻屏快。想只看某个视图自己配了什么,进那个视图敲dis this。

7.2 查看类缩写

全称常用缩写用途
display ip interface briefdis ip int br看三层接口 IP 和状态
display interface briefdis int br看所有接口的简要状态
display mac-addressdis mac看 MAC 地址表
display vlandis vlan看 VLAN 和成员口
display ip routing-tabledis ip rou看路由表
display current-configurationdis cu看当前生效配置
display thisdis th看当前视图的配置
display versiondis ver看设备型号和软件版本
display devicedis dev看单板状态
display usersdis us看当前登录的会话

管道过滤是查看类命令的好搭档,写法是命令 | include 关键字,include可以缩写成in。比如dis mac | in 5489只显示 MAC 含 5489 的行,dis cu | in vlan只显示配置里带 vlan 的行。有人用dis mac | in broad想过滤广播相关的条目,实际上华为的 MAC 地址表里一般不会出现 Broadcast 这样的条目,这条过滤大概率是没有回显的,想知道某个 VLAN 学了哪些 MAC,直接dis mac vlan 10更靠谱。

7.3 我记这些缩写的土办法

我不背缩写表,我用的是"敲三遍"原则。一个新命令,先照着文档敲一遍全称,第二遍敲缩写,第三遍开始就只用缩写了。三次之后手上就形成记忆了,比死记硬背效率高得多。

另一个办法是观察Tab补全的行为。敲dis然后按 Tab,设备会把能补全的命令列出来;敲dis ip再按 Tab,又会列出下级。这个过程本身就是一份活的命令字典,比看文档直观。我在刚开始学的时候,经常故意先敲两个字母再按 Tab,看设备怎么补,慢慢就摸清了命令树的结构。

最后说一句关于版本差异的事。不同 VRP 版本对缩写的支持不完全一样,有些缩写在新版本上能认、老版本上就报错。做实验之前先dis ver确认一下版本号,心里有数。真机上尤其要注意,配之前先在旁路环境敲一遍验证,别在业务设备上试缩写。

我个人在实际操作中的体会是,eNSP 真正的价值不在于让你学会几条命令,而在于给你一个可以反复犯错的地方。我见过太多人第一次接触真机时手足无措,就是因为从没在安全的环境里把配置搞砸过。你在这个模拟器里把 VLAN 划错、把 Trunk 配反、把密码设完自己忘了,然后一次次救回来,等你真正坐在机房里的那台设备前面时,心里是有底的。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询