华为H3C实战 | 第1章 命令行基础与设备管理
📚 本系列共 43 篇(第 1 / 43 篇) · 第一卷 基础篇 —— 交换机的骨架
本章导读:新交换机上架第一天,90% 的返工都出在"进门"这一步:Console 乱码进不去、SSH 配了连不上、配完忘了保存一断电全丢。本章把登录、视图、保存、NTP 对时、日志输出这一整套地基讲透——它不出彩,但后面 42 章都踩在上面。
本章结构:
- 1.1 功能原理与业务场景 —— 从开箱到进生产设备的工程流水线:Console/网线接入 → 首次登录 → AAA 用户 + SSH → NTP → 日志
- 1.2 华为设备配置详解 —— 视图体系(用户视图
<HUAWEI>/ 系统视图[HUAWEI])、AAA 本地用户、Stelnet、NTP、info-center,含"出厂配置启动 vs 空配置启动"的区别 - 1.3 H3C 设备配置详解 —— H3C 的
line aux 0、user-role network-admin(H3C 没有super),以及save force免交互保存 - 1.4 命令对照表 —— 保存、清配置、Console 视图、提权逐条并排
- 1.5 配置验证 ——
display users、display ntp-service status、display info-center该长什么样 - 1.6 排错与故障树 —— 六类高频故障表(Console 乱码、SSH refused、只能看不能改、NTP 不同步…)+ “登录不上"故障树
- 1.7 新手踩坑 —— 没
save、共用 admin 账号这类老事故 - 1.8 本章小结 —— 要点清单 + 自测题
重点提示:Console 一片乱码或敲回车没反应,先看 1.6 前两行(波特率 9600/115200、关硬件流控);SSH 连不上先分清是 refused(服务没开、没生成 RSA 密钥)还是 denied(用户 service-type/级别不对)。任何配置敲完,最后一步永远是 save——1.6 里"重启后配置丢失"就是你忘的那一步。
关联章节:提权、账号体系与"等保基线”(弱口令、源 IP 限制、关 Telnet)在第 30 章展开;本章的管理 IP 落到哪个接口,见第 2、6 章。
1.1 功能原理与业务场景
1.1.1 这功能是干嘛的(通俗版)
把交换机想成一栋没装电梯的老式办公楼。你想让二楼财务室的门禁只认财务的人、想让三楼监控室的摄像头断电后自动恢复、想让全楼的挂钟都对准同一个时间——这些事都得先走进「设备管理间」,而设备管理间就是用命令行敲进去的那套「操作面板」。
命令行基础与设备管理,说白了就是三件事:怎么进门(登录方式)、进门后怎么上下楼(视图体系)、走之前别忘了锁门存档(保存配置、备份、改密码、对时间、看日志)。这三件事看着琐碎,却是后面所有章节的地基。我见过太多事故不是拓扑配错,而是「配置完没 save,一断电全没了」,或者「所有人共用一个 admin/Admin@123,出了事查不到是谁动的」。
设备管理做得好的机房,出故障时你能在三分钟内回答三个问题:谁在什么时间改了哪条配置、设备现在跑的软件是什么版本、上次重启是因为什么。做不好的机房,只能靠猜。
1.1.2 在网络里怎么落地(设计视角)
一台全新的交换机从箱子拿出来,是「啥也没有」的状态。要把它变成生产设备,标准的工程流水是下面这条链路,每一步都对应本章一个知识点:
开箱
|
v
[1] 物理接入:Console 线 / MiniUSB 线 / 网线(Web/MGMT口)
|
v
[2] 首次登录:用超级终端或 SecureCRT 连 Console,进入 <HUAWEI> 用户视图
|
v
[3] 基础骨架:sysname 改名 -> 管理 IP -> 默认路由 -> 保存
|
v
[4] 管理通道:创建 AAA 本地用户 -> 开 SSH -> 关 Telnet -> 限制源地址
|
v
[5] 时间基准:NTP 同步(时间不准,日志和证书全废)
|
v
[6] 软件版本:确认 display version,必要时升级到与全网一致
|
v
[7] 日志外送:info-center 指向日志服务器,留痕可追
|
v
[8] 验收:save + 备份配置文件 + 记录基线
从数据面看,管理流量走的是带内管理(in-band)或带外管理(out-of-band)两条路。带内管理是指管理流量和业务流量共用业务网口,比如给 VLANIF 配个管理 IP,然后从办公网 SSH 进去;带外管理是指专门拉一根线到独立的管理网口(华为标 MEth0/0/1,H3C 标 M-GigabitEthernet0/0/0),即使业务网断了也能登录。生产环境里,核心和汇聚设备必须两条都留——这是行业里用血换来的经验。
再讲视图体系。为什么设备要分这么多「视图」?因为命令行是一套平面的指令集,不加层级约束,你敲一个 shutdown,设备根本不知道你要关哪个接口。视图就相当于「当前操作对象」的上下文:
<HUAWEI> 用户视图:只能看,不能改(等同一楼大厅)
| system-view
v
[HUAWEI] 系统视图:全局配置(等同二楼总控室)
| interface GigabitEthernet0/0/1
v
[HUAWEI-GigabitEthernet0/0/1] 接口视图:只改这个接口(等同三楼财务室)
| quit
v
[HUAWEI] ── return ──> <HUAWEI>
quit 是一层一层往上退,return 或 Ctrl+Z 是一步直接退回用户视图。新手最常犯的错就是在 <HUAWEI> 提示符下敲 interface ...,设备直接回一句 Error: Unrecognized command found at '^' position.——不是命令错,是你站错楼层了。
适用版本:本章以华为 VRP V200R019 及以上(S5700/S6700/AR6000 系列)与 H3C Comware V7(R2610 及以上)为准;VRP V200R005 之前的命令差异较大,遇到老设备请以设备
?联机帮助为准。
1.2 华为设备配置详解
1.2.1 命令行基础速览(本章会用到的那几条)
华为设备的第一次见面,靠的是 Console 口(口语叫「配置口」「串口」)。你需要一根 Console 线(RJ45 转 USB,或者部分新型号的 MiniUSB 线)连到笔记本,然后用终端软件按 9600-8-N-1 连接。登录后能看到的第一个画面长这样:
Please Press ENTER.
Login authentication
Username:
Password:
<HUAWEI>
提示符 <> 说明你在用户视图,此时只能执行查询类命令。想改配置必须进系统视图,而进系统视图前设备通常要求你先「升权」——这一步是本章最容易卡住的地方,下一小节专门讲。
几个贯穿全书的高频命令先记住:
| 命令 | 在哪敲 | 干什么 |
|---|---|---|
display version |
任意视图 | 看软件版本、运行时长、型号 |
display current-configuration |
任意视图 | 看内存里正在生效的配置 |
display saved-configuration |
任意视图 | 看闪存里下次启动要加载的配置 |
display startup |
任意视图 | 看下次启动用的配置文件名与系统软件 |
save |
用户视图 | 把内存配置写进闪存 |
reboot |
用户视图 | 重启设备 |
? |
任意视图 | 联机帮助,忘了命令就敲它 |
1.2.2 完整配置模板
下面是一台新到货华为 S5735-L24T4S-A1 接入交换机的完整初始化配置,从 Console 登录一直到日志外送,一次配完:
# 用 Console 线连好,进入用户视图后先升权
super
# 进入系统视图
system-view
# 改设备名(用能一眼看懂位置的命名,比如楼栋-楼层-角色-编号)
sysname ACC-B1-F3-SW01
# 配时间时区(先设时区,否则 NTP 同步后时间还是会差 8 小时)
clock timezone CST add 08:00:00
# 创建业务 VLAN 与管理 VLAN
vlan batch 10 99
quit
# 配置管理 VLANIF 地址,作为带内管理入口
interface Vlanif 99
ip address 10.200.99.11 255.255.255.0
quit
# 配默认路由,指向核心交换机
ip route-static 0.0.0.0 0.0.0.0 10.200.99.1
# 若希望管理地址由 DHCP 自动获取,改用下面一条(注释掉上面的静态地址)
#ip address dhcp-alloc
# 首次登录把 Console 密码设好(缺省无密码,谁插上线都能进)
user-interface console 0
authentication-mode password
set authentication password cipher Hci@2024_Console
user privilege level 15
quit
# 创建本地管理员用户
aaa
local-user netadmin password irreversible-cipher Hci@2024_Netadm
local-user netadmin privilege level 15
local-user netadmin service-type ssh http telnet
quit
# 生成 RSA 密钥(SSH 依赖它,不生成 SSH 起不来)
rsa local-key-pair create
# 开启 SSH 服务并绑定用户
stelnet server enable
ssh user netadmin authentication-type password
ssh user netadmin service-type stelnet
# VTY 只能用 SSH 登录,并只允许管理网段接入
user-interface vty 0 4
authentication-mode aaa
protocol inbound ssh
acl 2000 inbound
quit
acl number 2000
rule 5 permit source 10.200.99.0 0.0.0.255
quit
# NTP 客户端指向时间服务器
ntp-service unicast-server 10.200.1.100
# 日志外送到日志服务器,级别 warning 及以上
info-center enable
info-center loghost 10.200.1.101
info-center source default channel 2 log level warning
# 关闭不安全的 HTTP 服务(如需 Web 管理请改成 https secure-server)
undo http server enable
# 保存配置(这一步不做,重启全部回滚)
quit
save
1.2.3 逐行讲解
先讲 super。华为设备的**用户级别(privilege level)**分 015 共 16 级,其中 0 是参观级(只能 15 是管理级。命令本身的级别缺省只分到 0~3,用户级别可以到 15,超过 3 的那部分要靠 ping、tracert 这类网络诊断),1 是监控级(能跑 display),2 是配置级,3command-privilege 手工把命令提升到高级别,否则 15 级用户和 3 级用户拿到的权限是一样的。Console 登录缺省是 15 级,Telnet/SSH 登录缺省是 0 级,所以从 Console 进来时 super 通常直接过(缺省没有 super 密码),但从 SSH 进来必须靠 AAA 授权把级别提上去,光敲 super 会提示要密码而无从输入。
| 命令 | 作用 | 新手常错 |
|---|---|---|
super |
用户级别提升 | 缺省无 super 密码时直接过;设了 super password 后要输密码 |
sysname |
改提示符里的设备名 | 用了中文、空格、#,部分版本不认 |
clock timezone CST add 08:00:00 |
设时区为东八区 | 漏配,NTP 同步后日志时间差 8 小时 |
vlan batch 10 99 |
批量建 VLAN | VLAN 1 别放业务,见第 3 章 |
interface Vlanif 99 |
进三层 VLAN 接口 | 直接敲 interface Vlanif99 也行,但带空格更规范 |
ip route-static 0.0.0.0 0.0.0.0 10.200.99.1 |
默认路由 | 下一跳写成自己、或写成不存在的地址 |
authentication-mode password |
Console 用密码认证 | 缺省是 none(免认证),不配等于谁插线上都能进 |
set authentication password cipher xxx |
设 Console 密码 | cipher 后敲明文,回显时会自动加密存储 |
user privilege level 15 |
Console 用户级别 | 忘了配,进 Console 后改不了配置 |
local-user netadmin password irreversible-cipher xxx |
建本地用户 | 老版本只有 password cipher,irreversible-cipher 是较新写法,老设备不认就退回 cipher |
local-user netadmin privilege level 15 |
用户级别设为 15 | 只配了 service-type 没配级别,登录后只能看 |
rsa local-key-pair create |
生成 RSA 主机密钥 | 不生成,stelnet server enable 成功但连不上 |
ssh user netadmin service-type stelnet |
允许该用户走 SSH | 漏配,SSH 提示用户无权限 |
protocol inbound ssh |
VTY 只收 SSH | 漏配且 telnet server enable 开着,等于后门常开 |
acl 2000 inbound |
VTY 加源地址限制 | ACL 里 rule 忘了 permit 只写 deny,把自己也挡了 |
ntp-service unicast-server 10.200.1.100 |
NTP 客户端 | 时区没配,时间同步了但日志差 8 小时 |
info-center loghost 10.200.1.101 |
日志外送 | 服务器端没开 514/UDP,日志看不到 |
info-center source default channel 2 log level warning |
控制外送日志级别 | 写了 debugging 级别,日志服务器被刷爆 |
save |
保存 | 敲完 save 出来 [Y/N] 要再敲 y,很多人以为卡住了 |
这里有两个高频坑需要展开。第一个是 dangerous command:华为某些危险命令(如 reboot、reset saved-configuration)要求先进入一个特殊状态才能执行,敲下去会提示你输入确认串。这不是报错,是设备在提醒你「想清楚」。第二个是配置文件其实是两份:
内存(RAM) 闪存(Flash)
current-configuration saved-configuration
↑ 你敲的每一条命令 ↑ 上次 save 时的快照
| |
+--- save ----> 覆盖 ---+
设备重启时加载的是 saved-configuration,不是 current-configuration。这就是「配了半天一断电全没了」的根本原因。工程上有个笨办法但很有效:每次 save 之后立刻 display saved-configuration | include sysname 或对比两条命令的差异,确认真的存进去了。
再看 H3C 的对应关系。Comware V7 保存配置的命令是 save 或 save force,其中 save force 免交互,适合脚本或批量操作;这与华为 save 后还要敲 y 不同,是双厂商混编环境里新手最容易在自动化脚本上翻车的地方。
配置文件的生命周期与备份习惯
企业里真正管事的不是「会不会存」,而是「存几个副本、放哪里」。一台核心交换机的配置文件,工程上至少应该有三份:设备闪存里一份(随时可加载)、网络管理平台或版本库里一份(对比差异用)、离线备份一份(设备彻底损坏时重建用)。用命令行做备份的标准做法是用 FTP 或 TFTP 把配置文件拽出来:
# 在设备上主动连 FTP 服务器,把当前配置传上去
<HUAWEI> ftp 10.200.1.100
# 按提示输入用户名密码,登录成功后:
ftp> put flash:/vrpcfg.zip vrpcfg-SW01-20240115.zip
ftp> quit
# 也可以用 tftp(更简单,无需认证,但要在受控内网使用)
<HUAWEI> tftp 10.200.1.100 put flash:/vrpcfg.zip vrpcfg-SW01.zip
H3C 的等价备份操作如下:
# H3C 的等价操作
<H3C> ftp 10.200.1.100
ftp> put flash:/startup.cfg startup-SW01-20240115.cfg
ftp> quit
<H3C> tftp 10.200.1.100 put flash:/startup.cfg startup-SW01.cfg
备份文件命名建议带上「设备名 + 日期 + 变更单号」,比如 ACC-B1-F3-SW01_20240115_CHG20240115-007.zip。这样半年后回溯时,你能从文件名直接知道这是哪次变更之前的配置。华为 S 系列保存后的配置文件通常是 vrpcfg.zip(压缩格式),H3C 是 startup.cfg 或 .cfg,两者都是纯文本打包,用文本编辑器就能对比差异——这是变更审计里最朴素也最有效的手段。
还有一种设备侧备份机制值得知道:H3C 支持 archive configuration 配置归档——把当前配置按「前缀 + 序号」存成带编号的副本,相当于设备自带「配置版本回滚」。
# H3C:配置归档(顺序很重要:先 location,再 max / interval)
<H3C> mkdir archive
<Sysname> system-view
# 指定归档目录与文件名前缀(必须先执行这一条,否则后两条都会被拒)
[H3C] archive configuration location flash:/archive filename-prefix my_archive
# 最多保留几个归档文件(取值范围 1~10,缺省 5)
[H3C] archive configuration max 5
# 每 1440 分钟(24 小时)自动归档一次(取值范围 10~525600 分钟)
[H3C] archive configuration interval 1440
quit
# 立即手工归档一份(必须已设好 location)
<H3C> archive configuration
几个已核实的细节:① location 的参数形式是 archive configuration location <目录> filename-prefix <前缀>(是 filename-prefix 不是 file-prefix),目录必须事先用 mkdir 建好;② interval 的单位是分钟,取值范围 10525600,官方还特别建议「不要开自动备份,或把 minutes 设成大于 1440」,因为频繁归档会持续占用存储与内存;③ 10,缺省 5,达到上限后新的归档会覆盖最旧的一份。max 取值范围 1
⚠ 版本差异:archive configuration 系列命令的参数名与取值范围在 Comware 不同版本上可能微调,配置前用 archive configuration ? 确认。
如果设备买来的时候带着旧配置(二手设备、退租设备、实验室共用设备),标准做法是清空配置再重新来过:
# 华为:清除下次启动配置文件
reset saved-configuration
# 提示 This action will erase the saved configuration, Continue? [Y/N],敲 y
# 然后重启
reboot
H3C 清空下次启动配置文件的写法,与华为的主要差别是可指定 main 或 backup:
# H3C:清除下次启动配置文件(可指定 main 或 backup)
reset saved-configuration
# 提示 The saved configuration file will be erased. Are you sure? [Y/N],敲 y
⚠ 版本差异:reset saved-configuration 在华为上只是把「下次启动配置文件」删掉,设备当前内存里的配置还在;若要连当前配置一起清掉,需要 reset saved-configuration 之后紧接着 reboot 并且选择不保存,或者先 undo startup saved-configuration 把启动配置置空。H3C V7 的 reset saved-configuration 行为类似,通过 startup saved-configuration xxx.cfg 重新指定下次启动文件即可。老 V5 设备的 reset saved-configuration 语法略有不同,请以设备联机帮助为准。
版本升级的标准动作
设备管理里最不能马虎的一环是软件升级。华为交换机常见的升级方式有两条:Web 网管页面上传 .cc 文件,或者命令行 FTP/TFTP 上传后 startup system-software 指定下次启动软件。命令行方式的目标是让「下次启动软件」指向新文件,并让「下次启动配置」保持不变——很多人升级完发现配置没了,就是因为升级时把配置文件也一起换掉了。
# 先看清楚当前用的是什么软件和配置
<HUAWEI> display startup
# 从 FTP 服务器下载新版本到闪存(先确认闪存空间够)
<HUAWEI> ftp 10.200.1.100
ftp> get s5735-xxx-V200R019C10SPC800.cc
ftp> quit
# 指定下次启动使用的系统软件
<HUAWEI> startup system-software flash:/s5735-xxx-V200R019C10SPC800.cc
# 再次确认下次启动用新软件、用原配置
<HUAWEI> display startup
# 重启生效(升级期间业务中断,务必报备)
<HUAWEI> reboot
补丁文件(.pat)用 patch load 在线加载,全程不中断业务:
# 华为:在线加载补丁(patch-name 为补丁文件名,all 表示对所有成员生效,run 表示立即运行)
<HUAWEI> patch load flash:/s5735-xxx.pat all run
# 确认补丁状态:看到运行态(Run)才算成功
<HUAWEI> display patch-information verbose
# 确认下次启动补丁文件已指向该补丁
<HUAWEI> display startup
官方流程要点(已核实):① 加载时系统会校验补丁版本与系统软件版本是否一致,不一致直接提示加载失败;② 对于非增量补丁包,如果系统中已存在正在运行的补丁,会提示加载失败,需要先 patch delete all 删掉旧补丁再加载;③ patch load 既能加载热补丁也能加载冷补丁,加载冷补丁后需要重启才生效;④ 补丁加载后若出现异常需要卸载,执行 patch delete all 删除补丁文件即可;⑤ 堆叠场景下主备的补丁文件必须完全一致,备设备会自动拷贝,也可手工 copy <源文件> <目标文件> 加快。
# 华为:卸载补丁
<HUAWEI> patch delete all
另外 patch load 还有不带 run 的写法,例如 patch load <文件名> all 后再 patch active all 分步激活,两条路都能走通,按你的习惯和版本支持情况选。
H3C 的等价流程是 boot-loader file 指定下次启动文件:H3C 的等价流程是 boot-loader file 指定下次启动文件:
# H3C:指定下次启动使用的软件包
# 注意:ipe 形式必须带 { backup | main },不是 "all"
<H3C> boot-loader file flash:/s5130s_v7.ipe main
<H3C> display boot-loader
<H3C> reboot
H3C 的 boot-loader file 有两条语法,最后都必须带 main 或 backup:单 IPE 包写作 boot-loader file flash:/xxx.ipe { backup | main };分离包写作 boot-loader file boot flash:/xxx.bin system flash:/xxx.bin [ feature ... ] { backup | main }。main 表示主用启动包,backup 表示备用启动包(主用不可用时才用)。所以网上常见的 boot-loader file xxx.ipe all 是错的,all 不是这个命令的参数,敲下去会报错。
⚠ 版本差异:H3C 盒式交换机的启动文件是 .ipe(打包镜像),部分型号还要求先解压(boot-loader file flash:/xxx.ipe slot all main)再重启;boot-loader 的 slot 参数在堆叠或 IRF 环境必须逐个成员指定。华为 .cc 文件在不同产品线命名规则不同,升级前必须在华为官网的「版本补丁」页面确认该版本支持你的具体型号(型号与版本是强绑定的,装错型号的版本文件设备起不来)。
升级前必须做的三件事,缺一不可:一是备份当前配置和当前软件版本号(display version 截图存档),二是确认新版本对配置的兼容性说明(厂商发布说明里的「版本升级注意事项」),三是准备回退方案——保留旧软件文件在闪存里,重启失败时通过 BootROM/BootWare 菜单选旧文件启动。华为设备开机三秒内按 Ctrl+B 可以进入 BootROM 菜单,H3C 开机按 Ctrl+B 进入 BootWare,两者都能改启动文件,这是最后的救命通道。
用户权限的精细设计
前期团队小,一人一个 15 级账号就够了;但一旦有外部运维商、值班监控岗、审计岗,就必须做权限分层。华为的做法是「用户级别 + 命令级别」双维度:把某条命令用 command-privilege 调到指定级别,再给不同用户不同级别。
# 华为:把 interface 命令调到 3 级,并把 reset 相关降到 15 级独占
[HUAWEI] command-privilege level 3 view system interface
[HUAWEI] command-privilege level 15 view user-view reset
# 建一个只能看不能改的巡检账号(级别 1 只够跑 display)
[HUAWEI] aaa
[HUAWEI-aaa] local-user monitor password irreversible-cipher Mon@2024
[HUAWEI-aaa] local-user monitor privilege level 1
[HUAWEI-aaa] local-user monitor service-type ssh
[HUAWEI-aaa] quit
H3C V7 则用 RBAC 自定义角色,粒度更直观:
# H3C:自定义一个只读巡检角色
[H3C] role name auditor
[H3C-role-auditor] rule 1 permit command display *
[H3C-role-auditor] rule 2 permit command ping *
[H3C-role-auditor] quit
# 绑定到巡检账号
[H3C] local-user monitor class manage
[H3C-luser-manage-monitor] password simple Mon@2024
[H3C-luser-manage-monitor] service-type ssh
[H3C-luser-manage-monitor] authorization-attribute user-role auditor
[H3C-luser-manage-monitor] quit
这里有个值得记住的原则:角色/级别设计的目标不是「防住攻击者」,而是「防住自己人误操作」。真实事故里,90% 的网络中断是自己人敲错命令——一个只读账号在凌晨三点想「顺手改个小配置」时改不动,这就救了一次业务。
NTP 时钟同步的细节
NTP 是那种「不配不觉得有问题,出了问题要命」的配置。日志时间错乱会导致:审计记录对不上变更单时间、证书校验失败、故障复盘时无法把设备日志和服务器日志对齐、计费/认证系统的票据时间戳失效。
华为交换机作为 NTP 客户端时,ntp-service unicast-server 指定上游服务器;如果要对接需要认证的时间源(运营商、金融行业常见),要配认证密钥:
# 华为:开启 NTP 认证,配置 keyid 1,用 MD5
[HUAWEI] ntp-service authentication enable
[HUAWEI] ntp-service authentication-keyid 1 authentication-mode md5 cipher Ntp@2024Key
[HUAWEI] ntp-service reliable authentication-keyid 1
[HUAWEI] ntp-service unicast-server 10.200.1.100 authentication-keyid 1
H3C 的 NTP 认证配置与之对等,只是关联密钥的关键字不同:
# H3C:对等写法
[H3C] ntp-service authentication enable
[H3C] ntp-service authentication-keyid 1 authentication-mode md5 cipher Ntp@2024Key
[H3C] ntp-service reliable authentication-keyid 1
[H3C] ntp-service unicast-server 10.200.1.100 keyid 1
⚠ 版本差异:H3C 的 ntp-service unicast-server 关联密钥的关键字在不同 Comware 版本里既有 keyid 也有 authentication-keyid,请以设备 ? 帮助为准;华为部分老版本的密钥算法只支持 MD5,新版本支持 HMAC-SHA1/SHA2。
设备还可以当 NTP 服务器供下游使用,ntp-service refclock-master 2 表示「本机以 2 层精度作为时间源」,通常只在没有外部时间源的小网里用,一旦设备重启时间就回到出厂时间,因此生产环境一定要有真正的 NTP 服务器(Windows Server 开 W32Time、Linux 开 chrony、或者买一台授时设备)。NTP 的层级(stratum)含义是「距离 UTC 源的跳数」,客户端自动成为上游 stratum + 1,最大值 16 表示不可用——display ntp-service status 里看到 Clock stratum : 16 基本等同于没同步。
日志与告警体系
日志是排障的「黑匣子」。华为设备的日志分八个级别,从 0 到 7 依次是 emergency、alert、critical、error、warning、notification、informational、debugging,数字越小越严重。info-center 管的是「哪些日志送到哪里去」,共有十个通道(channel 0~9),不同通道对应不同输出方向:
| 通道 | 典型用途 |
|---|---|
| 0 | Console 口输出 |
| 1 | 远程终端(Telnet/SSH)输出 |
| 2 | 日志主机(Syslog 服务器) |
| 3 | 告警缓冲区 logbuffer |
| 4 | 陷阱缓冲区 trapbuffer |
| 6 | SNMP 告警(Trap) |
| 9 | 日志文件 |
因此「让告警级别的日志同时进缓冲区和送到日志服务器」要分别对 channel 2 和 channel 3 下命令。下面给出一个生产可用的组合:
# 华为:告警进本地缓冲区,warning 及以上送到日志服务器
[HUAWEI] info-center enable
[HUAWEI] info-center loghost 10.200.1.101
[HUAWEI] info-center source default channel 3 log level warning
[HUAWEI] info-center source default channel 2 log level warning
# 时间戳带日期和时区,事后对账全靠它
[HUAWEI] info-center timestamp log date precision-time millisecond
H3C 的日志管道按「目的地名」下发,等效配置如下:
# H3C:按目的地名下发
[H3C] info-center enable
[H3C] info-center loghost 10.200.1.101
[H3C] info-center source default logbuffer level warning
[H3C] info-center source default loghost level warning
[H3C] info-center timestamp log date precision-time millisecond
⚠ 版本差异:info-center timestamp 的参数集合在不同版本里名称不完全一致(date / boot / short-date / format-date 等),建议用 ? 逐级确认。华为部分型号的 Syslog 服务器端口用 info-center loghost 10.200.1.101 port 514 指定,缺省 514。
日志里最需要盯的几类信息:PHY 相关(接口物理状态变化,说明光模块或网线出问题)、STP 相关(拓扑变化,说明二层有环路或变动)、ARP 相关(攻击或地址冲突)、CPU 相关(性能告警)。运维值班时,把这四类日志设为重点告警推送,其余按日汇总,这是很实用的降噪策略。
Web 网管与 USB 方式登录(设备真的没有 Console 线时)
有些场景下拿不到 Console 线,比如设备已上架、机柜深处伸手都难,或者被机房外包托管。这时可以用另外两条路。
第一条是 Web 网管。华为 S 系列低端交换机出厂时常带缺省管理 IP,具体地址见设备铭牌或随机快速入门(不同型号、不同出厂批次不一样,务必以设备贴纸为准,不要凭记忆)。浏览器用 HTTPS 打开管理 IP,缺省账号密码同样以铭牌为准,登录后就能在图形界面上配 VLAN、看接口、升级版本。Web 方式适合快速交付和交接给非专业运维,但不适合复杂配置——图形界面做不到的策略、命令行命令对不上型号、批量改效率低,所以本职还是命令行。
第二条是 USB/MiniUSB 控制台。近几年的华为 S 系列(如 S5735 部分型号)和 H3C S5130S 系列都带了 MiniUSB 维护口,插上标准 miniUSB 数据线,电脑上会多出一个串口设备(Windows 里在设备管理器看,通常是 COM3/COM4 之类),用同样 9600-8-N-1 的终端软件连接即可,体验与 Console 完全一致。这条路的坑是驱动:有些电脑的 USB 转串口驱动装错版本会导致乱码或无法识别,换一根线或换一台电脑先排除硬件问题。
设备纳管的基线记录
一台设备交付时,工程上要留一份「设备身份卡」。下面这些信息每台设备都要抄下来归档,后面出了事全靠它:
| 项目 | 怎么取 | 为什么要记 |
|---|---|---|
| 设备型号与序列号 | display version、机身贴纸 |
报障找厂商、查保修必须用 |
| 软件版本 | display version |
全网版本对齐、漏洞排查 |
| 补丁状态 | display patch-information |
补丁缺失会触发安全扫描告警 |
| MAC 地址(设备桥 MAC,华为) | display bridge mac-address |
二层网络排障、堆叠主备判断 |
| 管理地址与网关 | display current-configuration | include ip address |
远程登录、巡检脚本配置 |
| 下次启动文件 | display startup |
升级前后核对、回退依据 |
| 上联口位置 | display interface brief、现场拍照 |
拉错线时快速定位 |
| 配置文件备份 | ftp put 备份的 .zip/.cfg |
灾难重建 |
⚠ 这一条只在华为上成立,别套到 H3C 上。华为交换机用 display bridge mac-address 查看设备的「桥 MAC」(设备级 MAC,生成树、堆叠、ARP 都可能用到它)——华为官方文档在讲 ZTP 开局时会明确写「表示设备MAC地址……可以通过命令 display bridge mac-address 查询」,可作为佐证。H3C 的 display bridge mac-address 是完全另一回事——它是防火墙上「Bridge 转发」特性用来查看桥转发表项的命令(display bridge mac-address [ bridge-index [ vlan vlan-id ] ]),在防火墙上还分型号支持/不支持,不是查看交换机设备 MAC 的命令。H3C 侧想看 IRF 的桥 MAC,用 display irf,输出末尾有 The Bridge MAC of the IRF is: xxxx-xxxx-xxxx 一行。
出厂配置与空配置启动的差别
这一条是很多老手也会踩的坑。华为/H3C 设备「恢复出厂」和「以空配置启动」是两件不同的事。
出厂配置启动:设备加载厂商预置的一套默认配置(比如管理 IP、缺省的 Web 服务、缺省的 VLAN 等),相当于「刚拆箱」。
空配置启动:设备不加载任何配置文件,所有配置项都取「软件功能缺省值」,相当于「一张白纸」——注意它不等于出厂配置,因为出厂配置里可能有厂商特意开的服务或默认地址。
H3C 侧:undo startup saved-configuration 直接把「下次启动配置文件」置为 NULL,设备下次启动即为空配置启动。
华为侧:没有一条名字与之对应的命令,官方给的做法是「两步」——先 reset saved-configuration 清掉下次启动配置,再 reboot 且不保存当前配置,设备下次启动即为空配置启动。华为官方文档对这一行为的描述是:「如果在清除设备下次启动时加载的配置文件后,不使用 startup saved-configuration 命令重新指定含有正确配置信息的配置文件,或者不保存配置到下次启动的配置文件,设备下次启动时将以空配置启动。」
这条命令在华为上还有一个很容易踩的比较规则,官方写得很细:
| 当前启动配置 vs 下次启动配置 | 执行 reset saved-configuration 的结果 |
|---|---|
| 两者一致 | 同时清除这两份配置文件的设置,下次以空配置启动 |
| 两者不一致 | 只清除「下次启动」的配置,保留当前启动配置 |
| 当前启动为空、下次启动不为空 | 正常清除下次启动配置 |
| 下次启动为空、当前启动不为空 | 直接报错,不做任何清除 |
最后一行是坑:如果你之前已经把下次启动配置清过了,再敲一次这条命令会报错;而且官方特别提醒此时若直接重启,管理口地址会丢失,只能靠串口登录重新配置。所以「清配置 + 重启」这组操作之前,务必先确认 display startup 里两个文件名是什么状态。
适用版本:以上均以华为 CloudEngine S5700/S6700 V600R023C00 与 H3C Comware V7 配置指南为准;老版本 VRP 的命令行为可能不同。
命令行效率技巧与联机帮助
新手敲命令慢,多半不是不会,而是不知道设备自己就能教你怎么敲。命令行里最有用的一个符号是问号 ?,它的行为分三种,必须分清:
| 用法 | 效果 | 例子 |
|---|---|---|
? 单独敲 |
列出当前视图所有可用命令 | 什么都想不起来时用 |
关键字? |
列出以该关键字开头的命令 | display ntp? 提示 display ntp-service |
关键字 ?(中间有空格) |
列出该命令后面可跟的参数/关键字 | interface ? 列出接口类型 |
除问号外,还有几个「老手都用但书上少讲」的技巧:
- Tab 补全:敲
disp按 Tab 自动补成display,命令唯一时一次补齐,不确定前缀够不够唯一时可以先用问号确认。 - 命令简写:VRP 和 Comware 都支持不冲突前缀的缩写,
sys→system-view、int g0/0/1→interface GigabitEthernet0/0/1、dis cur→display current-configuration。缩写能省大量时间,但也容易敲成「有歧义的缩写」,设备报Ambiguous command found at '^' position.——多敲一两个字母就好。 | include过滤:输出太长时一定要用管道过滤,display current-configuration | include vlan、display current-configuration | begin interface,include是包含匹配、begin是从首个匹配处开始全显示、exclude是排除匹配。display this:只看当前视图下的配置,比翻全量配置快得多。- 命令历史:上下方向键翻历史命令,和 Linux Shell 一致;
Ctrl+C中止当前命令输出(比如display current-configuration输出太长停不下来,Ctrl+C直接断),Ctrl+Z直接退回用户视图。 undo的反义性:几乎每条配置命令都有undo形式撤销,用undo回到缺省值;但要注意shutdown不是「状态切换」,它的反义是undo shutdown,而不是再敲一次shutdown。
再补充一个新手最容易困惑的细节:报错位置指示符 ^。VRP 和 Comware 报错时都会在命令下面用 ^ 指到出错的位置,比如:
[HUAWEI] port link-type access
^
Error: Unrecognized command found at '^' position.
这里 ^ 指的是 port,说明设备认为「当前位置根本不该出现 port 这个词」——最常见的原因是你在系统视图 [HUAWEI] 里敲了接口命令,应该先 interface GigabitEthernet0/0/1 进到接口视图。学会读 ^ 的位置,能自己诊断大半的「命令敲不进去」问题,比在网上到处问快得多。
还有一类报错是 Error: Wrong parameter found at '^' position.,^ 会指到参数上,说明命令本身认出来了但参数不对(VLAN 号超出范围、IP 格式错、接口不存在),这时用 命令 ? 看合法取值范围就行。
设备管理的安全性基线
设备管理本身就是一个攻击面。华为与 H3C 设备的常见弱点不是协议实现漏洞,而是默认配置太宽松:Console 无密码、HTTP 明文开、SNMP v2c 团体字是 public、Telnet 明文传输、VTY 不限源地址、日志不外送导致被入侵也没痕迹。下面这份清单是设备上线前必须逐条过的:
| 检查项 | 不安全状态 | 整改命令(华为 / H3C) |
|---|---|---|
| Console 认证 | authentication-mode none(免认证) |
authentication-mode password + set authentication password cipher ... / line aux 0 下 authentication-mode password + set authentication password hash ... |
| 远程管理协议 | Telnet 开着 | undo telnet server enable / undo telnet server enable |
| 明文 Web | HTTP 开着 | undo http server enable / undo ip http enable |
| SNMP 团体字 | public / private |
snmp-agent community read cipher *** / snmp-agent community read simple *** |
| VTY 源限制 | 无 ACL | acl 2000 inbound / acl 2000 inbound |
| 日志外送 | 未配置 | info-center loghost / info-center loghost |
| 本地口令强度 | 弱口令 | password-control 口令策略(据型号可选) |
| 空闲超时 | 无 | idle-timeout 10 0(VTY 视图)/ idle-timeout 10 0(line vty 视图) |
⚠ 关于 password-control(口令复杂度策略):华为的部分型号支持 password-control enable 一系列口令策略命令,但并非所有 S 系列型号都支持,配置前请用 password-control ? 确认。H3C V7 对应的是 password-control enable 及 password-control length、password-control composition 等,支持情况同样与型号有关。
这里要强调一个观念:设备管理安全不是一道门,而是一条链路——认证(你是谁)、授权(你能干什么)、审计(你干了什么)三件事缺一件,安全体系就漏风。本章给出的初始化模板之所以同时配了 AAA、SSH、ACL、NTP、日志,就是因为这五样合起来才构成一个可审计的管理面。
1.3 H3C 设备配置详解
1.3.1 命令行基础速览
H3C 的第一次见面流程与华为几乎一模一样:Console 线、9600-8-N-1、回车、看到 <H3C>。主要差异在权限模型上:Comware V7 引入了基于角色的访问控制(Role-Based Access Control,RBAC),不再用「0~15 用户级别 + super 提权」那一套,而是给用户绑定用户角色(user-role)。缺省有两个内置角色:network-admin(读写全部)和 network-operator(只读)。这比华为的 16 级模型更好理解,也更符合现代运维规范。
| 命令 | 在哪敲 | 干什么 |
|---|---|---|
display version |
任意视图 | 看版本、运行时长、型号 |
display current-configuration |
任意视图 | 看当前生效配置 |
display startup |
任意视图 | 看下次启动的系统软件与配置文件 |
save force |
用户视图 | 免交互保存 |
dir |
用户视图 | 看闪存里的文件 |
? |
任意视图 | 帮助 |
1.3.2 完整配置模板
同样的初始化工作,在 H3C S5130S-28S-EI 上这样做:
# 进入系统视图
system-view
# 改设备名
sysname ACC-B1-F3-SW01
# 设时区
clock timezone CST add 08:00:00
# 建 VLAN 与管理 VLAN
vlan 10 99
quit
# 管理接口地址
interface Vlan-interface 99
ip address 10.200.99.11 255.255.255.0
quit
# 默认路由
ip route-static 0.0.0.0 0 10.200.99.1
# Console 口(V7 中本地配置口是 AUX 线路,命令是 line aux 0)
line aux 0
authentication-mode password
set authentication password hash Hci@2024_Console
user-role network-admin
quit
# 创建本地管理用户(V7 要分 class manage,这是与 V5 最大的差别)
local-user netadmin class manage
password simple Hci@2024_Netadm
service-type ssh http telnet
authorization-attribute user-role network-admin
quit
# 生成 RSA 密钥
public-key local create rsa
# 开启 SSH
ssh server enable
line vty 0 4
authentication-mode scheme
protocol inbound ssh
user-role network-admin
acl 2000 inbound
quit
acl basic 2000
rule 5 permit source 10.200.99.0 0.0.0.255
quit
# NTP 客户端
ntp-service unicast-server 10.200.1.100
# 日志外送
info-center enable
info-center loghost 10.200.1.101
info-center source default loghost level warning
# 关闭 HTTP,保留 HTTPS
undo ip http enable
ip https enable
# 保存(force 免交互,脚本里必须带)
quit
save force
1.3.3 逐行讲解
H3C 与华为的差异集中在下面几处,逐条说清:
| H3C 命令 | 对应华为 | 差异要点 |
|---|---|---|
line aux 0 |
user-interface console 0 |
V7 把本地配置口归到 AUX 线路下,line console 0 也存在但推荐 line aux 0 |
user-role network-admin |
user privilege level 15 |
H3C 是角色模型,没有 super 提权 |
local-user netadmin class manage |
local-user netadmin ... |
V7 必须带 class manage(管理类用户),V5 无此参数 |
password simple xxx |
password irreversible-cipher xxx |
华为缺省不可逆加密,H3C 要显式选 hash 或 simple;生产必须用 hash |
authorization-attribute user-role network-admin |
privilege level 15 |
授权属性里给角色 |
public-key local create rsa |
rsa local-key-pair create |
密钥命令名完全不同 |
ssh server enable |
stelnet server enable |
H3C 叫 ssh server,华为叫 stelnet server |
acl basic 2000 |
acl number 2000 |
V7 明确区分 basic/advanced/link/user 等类型 |
info-center source default loghost level warning |
info-center source default channel 2 log level warning |
华为按通道号,H3C 按日志目的地名 |
save force |
save + y |
免交互 |
undo ip http enable |
undo http server enable |
服务名不同 |
关于 save force,还有一点必须提:H3C 保存时如果发现下次启动配置文件与当前配置不一致,会提示需要确认;而设备在 IRF 环境或配置文件做了加密时,还可能提示 input the file name。脚本化配置时,最稳的做法是 save force 加上事先 dir 确认 Flash 剩余空间——Flash 满了会导致保存失败,这是真实发生过的生产事故(保存失败但没注意,重启后回到一周前的配置)。
关于清理配置,H3C 的做法是:
# 清除下次启动配置
reset saved-configuration
# 清完后重启,重启时选择不保存当前配置
reboot
⚠ 版本差异:Comware V5 的本地用户没有 class manage 参数,写法是 local-user admin password cipher xxx + service-type telnet ssh + level 3;V5 的权限模型是 0~3 级命令级别 + level 用户级别,与 V7 的 RBAC 角色不是一回事。遇到 V5 老设备请按 ? 帮助为准。
1.4 华为 / H3C 命令对照表
| 功能 | 华为(VRP) | H3C(Comware V7) | 差异说明 |
|---|---|---|---|
| 进系统视图 | system-view |
system-view |
相同 |
| 改设备名 | sysname X |
sysname X |
相同 |
| 看当前配置 | display current-configuration |
display current-configuration |
相同 |
| 保存配置 | save(敲 y) |
save force |
H3C 可免交互 |
| 清下次启动配置 | reset saved-configuration |
reset saved-configuration |
行为类似 |
| 看启动项 | display startup |
display startup |
相同 |
| Console 视图 | user-interface console 0 |
line aux 0 |
视图名与命令名都不同 |
| 提权 | super / user privilege level 15 |
无 super,用 user-role network-admin |
模型不同 |
| 本地用户 | aaa → local-user u ... |
local-user u class manage |
V7 必须带 class |
| SSH 服务 | stelnet server enable |
ssh server enable |
命令名不同 |
| RSA 密钥 | rsa local-key-pair create |
public-key local create rsa |
命令名不同 |
| NTP 客户端 | ntp-service unicast-server IP |
ntp-service unicast-server IP |
相同 |
| 日志外送 | info-center loghost IP |
info-center loghost IP |
相同 |
| 日志级别 | info-center source default channel 2 log level warning |
info-center source default loghost level warning |
华为按通道,H3C 按目的地 |
| 删除文件 | delete /unreserved 文件 |
delete /unreserved 文件 |
相同 |
| 看文件系统 | display filesystem |
display filesystem |
相同 |
1.5 配置验证
配置完不要急着下班,按下面的顺序验一遍。
第一件事,确认版本与运行时长——顺便能看出设备是否刚重启过(刚重启说明有人动过,要么是升级要么是崩溃):
<HUAWEI> display version
正常输出里重点看三行:
Huawei Versatile Routing Platform Software
VRP (R) software, Version 5.170 (S5735 V200R019C10SPC500)
...
Uptime is 3 days, 2 hours, 11 minutes
Version 与全网基线一致才叫正常;Uptime 如果只有几分钟,就要追查是谁重启的。
第二件事,对比「内存配置」与「闪存配置」是否一致,也就是确认 save 到底成功没有:
<HUAWEI> display saved-configuration | include sysname
<HUAWEI> display startup
期望看到 display startup 输出里 Next startup saved-configuration file 指向一个 .cfg 或 .zip 文件,且与 Current startup saved-configuration file 一致:
MainBoard:
Current startup saved-configuration file: flash:/vrpcfg.zip
Next main startup saved-configuration file: flash:/vrpcfg.zip
Current system software: flash:/s5735-xxx.cc
Next main system software: flash:/s5735-xxx.cc
第三件事,验证 SSH 通不通、权限够不够。从管理网段的另一台机器上:
# 从 Linux 运维机测试
ssh netadmin@10.200.99.11
登进去后敲 display current-configuration | include sysname,能出结果说明权限是 15 级;提示 Error: You do not have permission to run the command. 说明级别没配。
第四件事,验证 NTP 同步状态:
<HUAWEI> display ntp-service status
正常输出里 Clock status 为 synchronized,Clock stratum 会大于 1(服务器是 1,客户端是 2 或更大),Reference clock ID 显示上游服务器地址。如果 Clock status 一直是 unsynchronized,往下看 1.6 节。
第五件事,验证日志能外送:
<HUAWEI> display logbuffer
本地缓冲区里能看到最近的事件,同时到日志服务器上确认能收到这台设备的日志。本地有、服务器没有,说明是 info-center 或网络侧不通。
H3C 的验证命令与华为几乎一一对应,只是视图名和启动项输出格式不同:
<H3C> display version
<H3C> display startup
<H3C> display ntp-service status
<H3C> display logbuffer
<H3C> display users
1.6 排错与故障树
下面前三个是「进不去门」,后三个是「进去了但功能不对」,这是本章最高发的六类故障。
| 症状 | 可能原因 | 排查命令 | 定位方法 |
|---|---|---|---|
| Console 一片乱码 | 波特率不对 | — | 改成 9600,数据位 8、无校验、停止位 1;个别老型号是 115200 |
| Console 敲回车无反应 | 线序/驱动问题、流控开着 | — | 关掉终端软件的硬件流控;换 USB 转串口线试 |
SSH 提示 Connection refused |
SSH 服务没开 / RSA 密钥没生成 | display current-configuration | include stelnet |
没有 stelnet server enable 就补上;密钥缺失则重跑 rsa local-key-pair create |
SSH 提示 Permission denied |
用户服务类型不对 / 级别不够 | display current-configuration | include local-user |
检查 service-type ssh 与 privilege level 15 |
| SSH 通了但只能看不能改 | 用户级别是 0 或 1 | display users、display current-configuration | include privilege |
级别改成 15,或 command-privilege 单独放权 |
| 配完重启后配置丢失 | 没 save,或 save 失败 |
display saved-configuration、display filesystem |
对比内存与闪存;Flash 满会保存失败 |
| NTP 不同步 | 时区没配 / 服务器不可达 / 认证失败 | display ntp-service status、ping 10.200.1.100 |
先 ping 通再查时区,最后查认证 key |
| 日志服务器收不到 | info-center 没开 / 方向口不可达 / UDP 514 被 ACL 拦 | display info-center、display current-configuration | include loghost |
逐跳 ping + 在服务器抓包 |
再补一个故障树,把「登录不上」这件事按概率从高到低串起来:
登录不上
|
+-- 物理层:Console 线/网线?USB 驱动?串口占用?——换线、换端口、换电脑
|
+-- 传输层:VTY 是否被占满?——display users,free/kill 掉空闲会话
|
+-- 服务层:SSH/Telnet 服务开没开?——display current-configuration | include server
|
+-- 认证层:用户存在?密码对?service-type 含 ssh?
|
+-- 授权层:用户级别/角色够不够?
|
+-- 过滤层:VTY 上挂的 ACL 是不是把自己整个网段 deny 了?(常见于远程改配置时误伤)
其中最后一条最阴险:远程改 ACL 时手抖写了一条 deny,命令一回车,SSH 立刻断开,而且因为配置已进内存,重启也没用(前提是已经 save)。行业标准做法是改 ACL 前先配 undo 的 fallback,或者留一条 Console 备用通道,或者开两个 SSH 会话,一个专门备用。
⚠ 关于 display users 输出中 Idle 列的判断:Idle 是空闲时长,不是登录时长,别把 Idle 00:00:30 理解成刚登录 30 秒。
1.7 新手踩坑与注意事项
- 忘了
save——症状:配置完一切正常,第二天断电后全部配置消失;怎么避:每次改完配置立刻save,并在display startup里确认下次启动文件是刚保存的那个。华为save后要敲y,别以为卡住了。 - Console 缺省无密码——症状:谁物理接近设备都能提权 15 级;怎么避:新设备上线第一步就配
authentication-mode password+ 强密码。 - Telnet 一直开着——症状:被扫端口扫到,密码被爆破;怎么避:
protocol inbound ssh+ 关掉telnet server enable,或至少把 VTY 挂上源地址 ACL。 - 时区没配就同步 NTP——症状:NTP 同步成功,但日志时间差整 8 小时,事后追查时间线全乱;怎么避:
clock timezone CST add 08:00:00要先于 NTP 配置。 display current-configuration看不到你刚敲的命令——症状:以为命令没生效;怎么避:确认是否在undo状态、是否被其他视图覆盖,敲display this看当前视图配置。- 多台设备共用一个密码——症状:出事故查不到是谁改的;怎么避:一人一账号,账号与人员绑定,离职即删。
reset saved-configuration当成了「清空所有配置」——症状:以为清空了,重启后配置又回来了;怎么避:记住它只清下次启动文件,当前内存配置要重启且不保存才会消失。reboot前不考虑业务影响——症状:重启一台汇聚,下面接入全掉;怎么避:重启前display interface brief看清下联口有无流量,必要时先拔线。- SSH 能连但显示
The server's host key is not cached——症状:每次换设备后客户端报 host key 冲突;怎么避:客户端删除旧记录(ssh-keygen -R 主机)。 - 日志级别设成
debugging——症状:日志服务器磁盘一天写满;怎么避:外送级别用warning或informational,调试信息只开在本地。
1.8 本章小结
本章是全书的「开门第一课」。记住下面这几条,后面每一章的验证和排错都靠它们撑着:
- 视图决定权限上下文:
<>用户视图只能看,[]系统视图改全局,接口视图改局部;quit退一层,return直接回用户视图。 - 配置有两份:内存里的
current-configuration立刻生效但掉电即失,闪存里的saved-configuration才是重启后加载的;save是从前者拷贝到后者。 - 权限模型不同:华为是 0~15 用户级别 +
super提权,H3C V7 是 RBAC 角色(network-admin/network-operator),local-user必须带class manage。 - 管理通道三件套:Console 备用通道 + SSH 带内管理 + 管理网口带外管理,三者缺一不可。
- 时间是一切日志的前提:先配时区再配 NTP,
display ntp-service status显示synchronized才算通。 - H3C 与华为的最大差异在保存(
save force)、Console 视图(line aux 0)、密钥(public-key local create rsa)三处。 - 敏感操作前留后路:改 ACL、改 VTY 之前先开两个会话,或者确认 Console 可用。
自测题
- 华为设备上,
display current-configuration和display saved-configuration输出的内容不一致,可能是什么原因?怎么办? - 从 Console 能进设备并改配置,但从 SSH 进去只能执行
display命令、改不了配置,问题出在哪两层? - H3C V7 创建本地管理用户时,
class manage这个参数能不能省?为什么? - 一台设备 NTP 显示已同步,但日志里时间比北京时间晚 8 小时,最可能缺了哪条配置?
- 远程通过 SSH 修改 VTY 的 ACL,敲完回车后连接立刻断开且再也连不上,有哪些恢复手段?
- 说明内存里的配置没有保存到闪存(没
save或save失败)。用display saved-configuration对比确认后重新save;若 Flash 已满,先dir看空间、delete /unreserved删掉旧的备份文件再存。 - 认证层和授权层。认证层检查
local-user的service-type是否包含ssh、密码是否正确;授权层检查privilege level是否为 15(或命令是否被command-privilege单独放权)。如果级别是 0/1,用户只能跑低级别命令,正好就是只能display的现象。 - 不能省。Comware V7 把用户分成管理类(
class manage)和网络接入类(class network),管理类用户才能登录设备做配置;不写class manage创建的是缺省class network,无法用于 SSH 管理。 - 缺
clock timezone CST add 08:00:00。NTP 同步的是 UTC 时间,设备不知道本地时区就会以 UTC 显示,正好差 8 小时。 - 三种手段:一是如果有带外管理口(华为
MEth0/0/1、H3CM-GigabitEthernet0/0/0),从带外管理网登录;二是去现场用 Console 登录后undo掉 VTY 上的 ACL;三是在重启前先与同事约定,重启设备(如果保存的配置里没有那条错误 ACL,重启会回到旧配置——但这需要 ACL 是本次刚改且未保存)。根本上防范靠「改 ACL 前先开备用会话、先加 permit 再加 deny、Acl 里第一条永远 permit 自己的管理网段」。
关于本书:《华为 / H3C 网络设备典型功能配置详解》—— 面向国内高校/企业网络环境, 华为 VRP 与 H3C Comware 双厂商并排配置的实操教材,共 43 章。 全书所有命令尽量有官方出处,查不到的显式标注「待核实」。 返回系列目录
本人保留对侵权者及其全家发动因果律武器的权利
版权提醒
如无特殊申明,本站所有文章均是本人原创。转载请务必附上原文链接:https://www.elliot98.top/post/huawei-h3c-book/01/。
如有其它需要,请邮件联系!版权所有,违者必究!