简介:面向网络运维与工程调试场景的华为/H3C交换机基础配置速查文档,适合刚接触命令行配置的初学者或需要快速查阅常用命令的工程师。文档以H3C常见命令行环境为例,系统梳理了管理IP地址设置、Telnet远程登录、本地用户创建与级别授权、VTY虚拟终端认证、VLAN创建与接口加入、Trunk链路允许VLAN通过等高频配置操作,每条命令均配有典型视图与执行效果说明;同时涵盖查看当前配置、中英文语言切换、接口开启与关闭、设备重启与配置清除、常用状态查询命令等实用技巧,并附带了路由器静态路由与默认路由配置示例、设备命名规则及端口表示方法。包内为单个docx文件,约211KB,篇幅精炼但覆盖完整,便于日常工作随手翻阅。目前已有352人学习下载,适合网络初学者按图索骥,也可作为运维人员配置交换机或路由器时的对照速查与排错参考。
- 交换机命令行与厂商差异
在两年前我刚接触企业网络项目的时候,面对一堆 H3C 和华为设备,最头疼的往往不是组网方案本身,而是怎么把命令敲对。后来带我的老师傅丢给我一份文档,标题就叫《路由器交换机配置基本命令.docx》,里面全是 H3C 和华为的常用命令对照。那一刻我才意识到,这个方向的入门门槛其实很低,卡住新手的只是命令记忆和厂商差异认知。尤其在企业网和园区网场景里,H3C 与华为设备几乎各占半壁江山,命令体系同为类 VR 风格,但细节差异极多:登录、查看、保存、VLAN、端口、链路聚合、OSPF、ACL,每一块都有两套写法。网上关于两者的对比资料不少,但大多是零散片段,真正能让我们这种实操人员直接落地照做的,反而少。这也就是为什么我会想趁这次整理一份面向 H3C 华为交换机配置基本命令的实战笔记。
正文会以 H3C 为主、华为为辅,逐条给出等价命令和参数差异,并在每节后补充我在现场踩过的坑和常用排查手段。不管你是刚转行做网络运维,还是被公司派去同时管理两个品牌设备,这篇笔记争取让照着敲就能跑通基础配置。
2. 登录与视图切换:两个品牌的命令骨架差异
2.1 首次登录的三种方式:Console、Telnet、SSH
我自己最常用的登录方式还是 Console 线,因为新设备开箱时没有任何网络配置,只有 Console 口能进。用 SecureCRT 或 Xshell 连接时,波特率两边都默认 9600,数据位 8,无校验,停止位 1,这是敲开设备的第一步。
H3C 设备的 Console 登录默认进入的是用户视图<H3C>,华为设备进入的是<Huawei>,提示符正好反映设备名。用户视图权限很低,只能看基础状态和做简单操作,真正能改配置的是系统视图。切换方式两家的命令几乎一样:
system-view [H3C] # H3C 进入系统视图后的提示符华为设备同样命令也是system-view,只是方括号里的名字变成当前设备名[Huawei]。这里有一个小坑:很多新手以为system-view是 H3C 专用,实际上华为完全通用;反过来,华为有些老型号还支持sys的简写,H3C 也支持,只是不推荐写简写,因为脚本里一旦被设备名干扰容易看错。
从系统视图退回用户视图,H3C 和华为都用quit逐级退出,或者用return直接回到用户视图。我习惯直接敲return,尤其在配置较长的时候可以少按几次 tab 补齐。退出登录用quit到用户视图后再quit,两品牌一致,没有歧义。
Telnet 与 SSH 是远程登录的核心。华为新设备默认开启 SSH 服务,H3C 则需要手动开启ssh server enable。如果你在现场发现新 H3C 设备打开 SSH 却连不上,优先检查这一条。无论哪家,远程管理都建议先配一个本地用户和认证方式,避免默认配置裸奔:
[H3C] local-user admin class manage [H3C-luser-manage-admin] password simple Admin@123 [H3C-luser-manage-admin] service-type telnet ssh [H3C-luser-manage-admin] authorization-attribute user-role network-admin华为的等价写法是:
[Huawei] local-user admin password irreversible-cipher Admin@123 [Huawei] local-user admin service-type telnet ssh [Huawei] local-user admin privilege level 15注意华为新版本里password simple被提示不推荐,建议用irreversible-cipher,虽然写法啰嗦一点,但安全性更高。H3C 也已支持password hash,在合规要求较高的政企项目里我会用 hash 方式,避免明文密码出现在配置文件里。
2.2 视图层级与命令查询的通用技巧
把视图层级搞清楚,后面配 VLAN、配路由才不会迷路。两家设备视图结构基本一致:用户视图、系统视图、接口视图、协议视图、VLAN 视图等。差异比较大的反而是命令补全和错误提示。
H3C 和华为都支持?补全,也支持 Tab 补全。但两家对拼写错误的提示风格不同:H3C 遇到错误命令会输出% Unrecognized command found at '^' position.,华为则是Error: Unrecognized command found at '^' position.。看到^指向的位置就说明错误就在那附近,不要整条命令都删掉重敲,直接改指针处即可。
查看配置的命令极高频,建议死记:
display current-configuration # 查看当前生效配置,华为和 H3C 通用 display ip interface brief # 查看三层接口 IP 与状态 display vlan # 查看 VLAN 存在情况 display port vlan # 查看接口放通的 VLAN display this # 在视图内查看当前配置块这里特别推荐display this。在接口视图里敲一下,就能看到这个接口的所有局部配置;在 OSPF 视图里敲display this,就能看到当前 OSPF 进程配置。排障时先敲display this确认自己所在视图的配置,再决定下一步改哪,是效率最高的习惯。很多网工一上来就display current-configuration然后翻半天,在接口很多的大设备上非常低效。
2.3 保存配置与重启回退:后悔药原理
配置改完后不保存,设备一旦重启就回到之前的状态。这个“不保存”特性在变更窗口其实是后悔药:改错了不用慌,重启即回滚。等全部验证通过,再手动保存。
H3C 的保存命令是save,会交互式询问是否保存到flash:/startup.cfg;华为的保存命令是save或save cfg.xml,老版本叫save config。为了脚本化批量操作,可以用非交互式写法:
save force # H3C 强制保存到默认配置文件 save config # 华为保存当前配置我个人的习惯是:变更前先display current-configuration | include sysname确认设备名,避免误操作到别的设备;配置完成后先验证业务,再保存。等批量交付时,再统一save force收尾。
如果想主动回退配置,华为 H3C 都有reset saved-configuration命令,用来删除下次启动加载的配置。危险程度极高,一旦执行并重启,设备会回到出厂状态。我只会用来交付前清空实验设备。生产环境如果配错了,优先选择重新加载备份配置:
startup saved-configuration flash:/backup.cfg # H3C 指定下次启动配置文件华为的等价方式是system-view下执行startup saved-configuration,需要先确认文件存在于 flash 中。所以平时养成“每次变更前手动备份一份配置文件”的习惯,比任何复杂回滚手段都稳。
3. VLAN 配置实战:从 Access、Trunk 到 Hybrid 的踩坑对照
3.1 创建 VLAN 与 Access 接口配置对比
VLAN 是园区网最基础的技术点。H3C 和华为在这个环节的命令几乎完全相同,但不代表不会翻车。
创建 VLAN:
[H3C] vlan 10 [H3C-vlan10] name IT华为写法完全一致,只是提示符变成[Huawei-vlan10]。批量创建 VLAN 也通用:
[H3C] vlan batch 10 to 20 100华为同样支持。这里强调一下,vlan batch在两家都是把 VLAN 一次性创建出来,中间不要加多余参数。如果你看到vlan batch 10 20 30这种写法,那在华为设备上是全部创建,在 H3C 上老版本也支持,但建议测试后再用于脚本。
Access 接口的配置,是我见过新手最容易忽略端口的默认链路类型的地方。华为和 H3C 多数型号的交换机接口默认都是 Hybrid 模式,不是 Access,也不是 Trunk。这就导致你只想把接口划入 VLAN 10,敲了port access vlan 10却报错。原因就是没先改接口类型。
H3C 的写法:
[H3C] interface GigabitEthernet1/0/1 [H3C-GigabitEthernet1/0/1] port link-type access [H3C-GigabitEthernet1/0/1] port access vlan 10华为的写法:
[Huawei] interface GigabitEthernet0/0/1 [Huawei-GigabitEthernet0/0/1] port link-type access [Huawei-GigabitEthernet0/0/1] port default vlan 10注意差异点:H3C 是port access vlan 10,华为是port default vlan 10。这个差异很多人会记混,导致把 H3C 命令敲到华为设备上报错。我在混合品牌项目里会把两条命令抄在便利贴上贴在显示器边框,基本可以消灭这类错误。
3.2 Trunk 配置的两处参数边界
Trunk 常用于交换机之间的级联或接路由器子接口。H3C 和华为的 Trunk 配置大体相同,关键在 PVID 和允许通过的 VLAN 列表。
H3C:
[H3C-GigabitEthernet1/0/2] port link-type trunk [H3C-GigabitEthernet1/0/2] port trunk permit vlan all [H3C-GigabitEthernet1/0/2] port trunk pvid vlan 10华为:
[Huawei-GigabitEthernet0/0/2] port link-type trunk [Huawei-GigabitEthernet0/0/2] port trunk allow-pass vlan all [Huawei-GigabitEthernet0/0/2] port trunk pvid vlan 10两处必改:一是permit vlan与allow-pass vlan的区别,二是默认 Trunk 只放行 VLAN 1,没写允许列表时只有 VLAN 1 能跨交换机互通。我遇到过一个现象:接入交换机上建了 VLAN 10,终端能获取到 IP,但跨交换机 ping 网关不通,查了半天发现汇聚交换机 Trunk 口没放行 VLAN 10。所以配置 Trunk 后,务必用display port vlan或display trunk核实放行列表。
PVID 的概念也容易糊:Trunk 口的 PVID 决定收到无标签帧时归到哪个 VLAN,H3C 和华为都支持pvid命令。如果 PVID 没有包含在 permit/allow-pass 列表里,很多设备会默认放行,但最好显式写全,避免厂商实现差异导致行为不一致。
3.3 Hybrid 模式:华为默认模式下的常用配置
为什么单独把 Hybrid 拎出来写?因为华为交换机接口默认就是 Hybrid,而 H3C 大部分接口默认也是 Hybrid,导致很多人配完 VLAN 后始终不通,一看接口配置才发现模式不对。
Hybrid 的作用是同时具备 Access 和 Trunk 的特性:可以指定多个 VLAN 通过,也可以对特定 VLAN 不打标签。比如接终端的接口需要放行 VLAN 10 和 VLAN 20,但只希望 VLAN 10 的流量不打标签,用 Hybrid 比用 Trunk 更合适。
华为配置:
[Huawei-GigabitEthernet0/0/3] port link-type hybrid [Huawei-GigabitEthernet0/0/3] port hybrid pvid vlan 10 [Huawei-GigabitEthernet0/0/3] port hybrid untagged vlan 10 [Huawei-GigabitEthernet0/0/3] port hybrid tagged vlan 20H3C 的写法:
[H3C-GigabitEthernet1/0/3] port link-type hybrid [H3C-GigabitEthernet1/0/3] port hybrid vlan 10 untagged [H3C-GigabitEthernet1/0/3] port hybrid vlan 20 tagged两者区别非常明显:华为把 untagged 和 tagged 分开两条命令,H3C 用一条命令加关键字实现。如果你在华为设备上敲port hybrid vlan 10 untagged会报错,在 H3C 上敲port hybrid untagged vlan 10同样报错。命令顺序和关键字顺序都不能省。
我的建议是:终端接入尽量不用 Hybrid,统一 Access 最直观;只有做语音 VLAN、多 VLAN 接入、或兼容特殊终端时才用 Hybrid。Hybrid 越复杂越容易埋雷,交付时排障成本会指数上升。
3.4 VLAN 排障的常用三板斧
VLAN 不同,直接现象就是终端 ping 不通网关,或者 DHCP 拿不到地址。排查顺序建议固定下来,不要跳步。
一板斧:接口状态。display interface brief看物理和协议状态是否 Up,如果 Down 就看网线、光模块和对端接口。
二板斧:VLAN 与端口绑定。display port vlan查看接口当前 PVID、允许通过的 VLAN 以及 tagged/untagged 状态。这里能同时看出 H3C 和华为的差异,只是输出格式略有不同。
三板斧:MAC 地址表。display mac-address查看终端 MAC 是否在预期接口下学习到。如果学习到的接口不对,说明二层转发路径有问题,通常是 Vlanif 没建、Trunk 没放行、或者交换机间的 STP 把端口阻塞了。
另外,跨厂商交换机对接时,不建议用 Trunk 的pvid vlan all或permit vlan all一把梭。有些厂商对 VLAN 1 的默认处理不同,导致广播域异常。我一般把放行列表写成显式条目,虽然命令多几行,但在生产环境更可控。
4. 三层接口与 VLANIF:打通网关的必配路径
4.1 创建 VLANIF 的等价命令
VLAN 只是二层隔离,终端要上网必须配三层网关。最常见的方式是 VLANIF 接口,也就是逻辑三层口。
H3C 配置:
[H3C] interface Vlan-interface 10 [H3C-Vlan-interface10] ip address 192.168.10.1 255.255.255.0华为配置:
[Huawei] interface Vlanif 10 [Huawei-Vlanif10] ip address 192.168.10.1 255.255.255.0注意命名的微小差别:H3C 是Vlan-interface,华为是Vlanif。我见过有人把Vlanif写到 H3C 上直接报错,把Vlan-interface写到华为上同样报错。解决办法是两种记忆锚点:H3C 与“interface”完整单词相关,华为则用缩写惯例,把关键字藏在设备记忆里。
VLANIF 创建后默认是 Down 状态,必须至少有一个物理接口属于该 VLAN 且物理状态 Up,VLANIF 才会 Up。这个逻辑很多人不懂,以为 IP 配上就完事。如果display ip interface brief看到 VLANIF 是 down,优先去查对应 VLAN 下的 Access 口或 Trunk 口通没通。
4.2 三层路由口的切换:undo portswitch
如果是两台交换机之间跑路由协议,或者直接接防火墙、路由器,可能需要物理接口放弃二层交换功能,变成三层路由口。
华为的接口默认是二层口,切三层需要执行:
[Huawei] interface GigabitEthernet0/0/24 [Huawei-GigabitEthernet0/0/24] undo portswitch [Huawei-GigabitEthernet0/0/24] ip address 10.0.0.1 255.255.255.252H3C 部分盒式设备同理,但有些框式设备接口原生支持三层,不需要undo portswitch。所以配置前先看型号,不要盲目套命令。
H3C 的写法:
[H3C] interface GigabitEthernet1/0/24 [H3C-GigabitEthernet1/0/24] port link-mode route [H3C] ip address 10.0.0.1 255.255.255.252注意 H3C 的port link-mode route与华为的undo portswitch是等价操作,但两家对这个功能的叫法和命令完全不同。而且 H3C 里port link-mode可能不支持在部分接口上切换,如果报错就说明该接口本身已是三层口,不用再切。
4.3 配置网关后仍 ping 不通:DNS 与系统路由的双重排查
终端配好 IP 和网关后,ping 不通外网,很多人直接怀疑交换机。其实先自查终端的网关连通性比较高效:终端 ping 网关,网关通,再 ping 远端服务器;网关不通,才回来查交换机 VLANIF 和上行链路。
交换机侧需要检查这几项:
display ip interface brief display ip routing-table display arp常见情况是 VLANIF 已配,终端也能拿到 IP,但 ping 外部网络不通,查看路由表发现没有默认路由:
[H3C] ip route-static 0.0.0.0 0 10.0.0.254 [Huawei] ip route-static 0.0.0.0 0.0.0.0 10.0.0.254H3C 和华为默认路由写法几乎一致,但华为要求掩码可以用0代替0.0.0.0,两种写法都接受,不过我习惯写完整掩码,减少阅读歧义。
还有一个容易被忽略的点:终端 ping 不通时,看 ARP 是否正常。如果 VLANIF 下有 ARP 表项但终端就是不通,考虑交换机是否开了端口安全、DHCP snooping 的绑定过滤、或者全局下发了 ACL。H3C 和华为都有类似的安全特性,命令不同但坑一样。我遇到过的是开了 DHCP snooping 后,终端静态 IP 一直不通,因为绑定表里没有该终端的 IP-MAC 记录。解决方式是给终端配静态绑定或临时关闭该功能验证。
4.4 直连路由与静态路由:最少必要配置
当网络规模小到不需要跑 OSPF 时,静态路由足够。但静态路由的坑在于下一跳地址写错或接口写错,导致路由黑洞。H3C 和华为都支持两种写法,我推荐统一写下一跳 IP,而不是写出接口,因为出接口方式在多厂商设备上行为差异明显。
H3C:
[H3C] ip route-static 192.168.20.0 24 192.168.10.254华为:
[Huawei] ip route-static 192.168.20.0 255.255.255.0 192.168.10.254H3C 用前缀长度24,华为用点分十进制掩码255.255.255.0。两者命令行格式不同,我经常在这翻车,尤其是从一台设备复制命令到另一台的时候,粘上后直接报错。批量交付脚本时,务必按品牌分开维护,不要共用同一份配置文件。
5. 生成树与链路聚合:两条让网络稳定落地的关键配置
5.1 STP 模式选择与边缘端口
VLAN 配好、网关通,网络可以跑,但一旦出现环路,广播风暴会瞬间打垮整台交换机。所以生成树是必须正视的配置项。H3C 和华为默认都开启了 STP 或是 RSTP/MSTP,但模式可能不一致,跨厂商对接时如果模式不匹配,可能出现收敛慢或阻塞错误端口的问题。
查看当前 STP 模式:
display stp display stp mode display stp brief修改为 RSTP:
[H3C] stp mode rstp [Huawei] stp mode rstp一条命令两边通用,但要注意如果网络里有老款设备不支持 RSTP,需要降到 STP。我混合组网时一般统一用 MSTP,因为大型网络多 VLAN 场景下 MSTP 能基于实例做负载分担。不过 MSTP 的 region name 和 revision level 如果两边不一致,会导致整个二层网络重新收敛,这是相当隐蔽的故障点。跨厂商对接时先确认 region 配置相同,再启用 MSTP 模式。
边缘端口也是必改项:终端口不应该参与生成树计算,否则终端插拔网线会让交换机 STP 重新收敛,造成几十秒的断网。华为和 H3C 配置边缘端口的命令不同:
H3C:
[H3C-GigabitEthernet1/0/10] stp edged-port enable华为:
[Huawei-GigabitEthernet0/0/10] stp edged-port enable本质上一致,都是把接口标记为边缘端口。但我个人不太建议单纯依赖边缘端口,最好配合 BPDU 保护:
[H3C] stp bpdu-protection [Huawei] stp bpdu-protection这条命令两边也几乎一样。开了 BPDU 保护后,如果边缘端口收到 BPDU,交换机会把端口关闭,避免有人私接交换机造成环路。现场教训很深:一台接入交换机下挂了一个家用路由器,家用路由器开启了 STP,结果上联接口反复震荡。最后用 BPDU 保护把端口 shutdown 并告警,才定位到原因。
5.2 链路聚合:手工模式与 LACP 模式的参数差异
交换机之间多根线想同时用起来,就需要链路聚合。很多人图省事直接插两根线不配置聚合,结果其中一根被 STP 阻塞,带宽没提升,还埋下环路隐患。链路聚合的正确姿势是先把物理口加入聚合口,再在聚合口上配置二层或三层参数。
H3C 手工聚合:
[H3C] interface Bridge-Aggregation 1 [H3C-GigabitEthernet1/0/23] port link-aggregation group 1 [H3C-GigabitEthernet1/0/24] port link-aggregation group 1华为手工聚合:
[Huawei] interface Eth-Trunk 1 [Huawei-GigabitEthernet0/0/23] eth-trunk 1 [Huawei-GigabitEthernet0/0/24] eth-trunk 1注意:H3C 聚合接口名是Bridge-Aggregation,华为是Eth-Trunk;成员接口加入方式的命令也不同。配置链路聚合时最容易犯的错是先在成员口上配置了 VLAN 或 Trunk,再加入聚合组,导致配置冲突。正确顺序是先把成员口清空、加入聚合组,再在聚合口上统一做二层配置。
LACP 模式在两家的配置:
H3C:
[H3C] interface Bridge-Aggregation 1 [H3C-Bridge-Aggregation1] link-aggregation mode dynamic [H3C-GigabitEthernet1/0/23] port link-aggregation group 1华为:
[Huawei] interface Eth-Trunk 1 [Huawei-Eth-Trunk1] mode lacp-static [Huawei-GigabitEthernet0/0/23] eth-trunk 1H3C 用link-aggregation mode dynamic,华为用mode lacp-static,虽然名字都不一样,但本质上都是基于 LACP 的动态聚合。这里有一个“伪动态”误区:很多情况下我们把 H3C 的 dynamic 理解为完全自动协商,实际上成员口仍需手动加入聚合组,LACP 只是动态检测对端的能力和协商状态,并不会自动把任意万兆口捆绑。华为同样如此。所以别指望两端配置后物理口随便插就自动聚合。
跨厂商做链路聚合时,我一般建议用手工模式,因为 LACP 的协商参数、系统优先级和端口优先级如果两端默认不一致,极容易产生一边聚合一边丢弃的诡异问题。如果能统一品牌,LACP 自然最优。
5.3 链路聚合排障:光口到底该聚合还是该主备
热搜词里有一条“交换机光口是做链路聚合还是主备”,这也是现场高频问题。如果两个光口分别接两台设备,只能做主备或策略路由,不能做链路聚合,因为聚合要求两端是同一台设备。如果两个光口接的是同一台设备的不同板卡,可以聚合,但要确认板卡之间是否有跨板带宽瓶颈。
聚合排障时重点看三点:
display link-aggregation summary display eth-trunk 1 # 华为 display bridge-aggregation 1 # H3C第一看成员口是否都 Selected;第二看对端是否也 Selected;第三看两端的速率、双工和 VLAN 配置是否一致。如果出现 Unselected,优先查物理口是否被 shutdown、是否配置了不同 PVID、是否 STP 把成员口阻塞。
一个血泪经验:聚合两端一端是 H3C 手工模式,另一端是华为静态 LACP,两端协商不起来。手工模式不会主动发 LACP 报文,而 LACP 模式要求收到报文才会把端口置为 Selected,结果两个端口全 Down。跨品牌对接时,手工 + 手工 或者 LACP + LACP 才能跑通。这条排查路径我写在笔记本扉页,防止自己再犯。
6. ACL、OSPF、远程运维与常见排查手册
6.1 ACL 配置差异与单向访问问题
ACL 在 H3C 和华为上写法基本逻辑一致,但细节不同。基本 ACL 编号范围都是 2000-2999,高级 ACL 是 3000-3999。区别在于匹配关键字的支持范围和命令格式。
H3C 基本 ACL:
[H3C] acl basic 2001 [H3C-acl-ipv4-basic-2001] rule 5 permit source 192.168.10.0 0.0.0.255华为基本 ACL:
[Huawei] acl 2001 [Huawei-acl-basic-2001] rule 5 permit source 192.168.10.0 0.0.0.255注意 H3C 需要acl basic 2001,华为直接acl 2001。老版本华为还能省略 basic,但新版本都建议显式声明。实际使用时先display acl all或display acl 2001查看当前编号是否被占用。
热搜里有一条“ensp 交换机 acl 单向访问不管用”,这类问题多半是只配了入方向或出方向。ACL 应用在两个方向上的语义不同:在接口入方向应用时,对从外部进入该接口的流量生效;在出方向应用时,对该接口向外发送的流量生效。很多人下意识把 ACL 只挂在服务器所在交换机的下行口入方向,结果服务器访问终端受限,终端访问服务器没限制,就出现“单向访问”。
华为接口应用 ACL:
[Huawei-GigabitEthernet0/0/24] traffic-filter inbound acl 3001H3C 接口应用 ACL:
[H3C-GigabitEthernet1/0/24] packet-filter 3001 inbound命令差异明显:华为用traffic-filter,H3C 用packet-filter。如果你把华为的写法粘到 H3C 上会直接报错。ACL 做完之后,用display acl 3001查看匹配计数,如果计数是 0,说明流量根本没走到这个接口的 ACL 上,要去查接口方向和应用位置。
6.2 OSPF 基础配置与网络类型对邻居关系的影响
OSPF 是园区网和城域网里最常见的动态路由协议,H3C 和华为的命令非常接近,甚至可以直接对照记忆。
H3C:
[H3C] ospf 1 router-id 1.1.1.1 [H3C-ospf-1] area 0.0.0.0 [H3C-ospf-1-area-0.0.0.0] network 192.168.10.0 0.0.0.255华为:
[Huawei] ospf 1 router-id 1.1.1.1 [Huawei-ospf-1] area 0.0.0.0 [Huawei-ospf-1-area-0.0.0.0] network 192.168.10.0 0.0.0.255几乎完全一致,只有提示符不同。OSPF 的问题大多不出在命令,而出在网络类型、hello 间隔、区域匹配和接口状态。比如两边都在 area 0,但一台接口是 broadcast,另一台是 p2p,邻居状态可能会卡在 EXSTART 或 EXCHANGE。此时用display ospf peer和display ospf interface排查,比反复敲配置更直接。
如果 H3C 对接华为时 OSPF 邻居起不来,先看两端接口 MTU 是否一致。华为默认接口 MTU 1500,H3C 也通常 1500,但有些三层口被改过 MTU,就会导致数据库同步失败。我在现场遇到过 MTU 1492 对接 1500,OSPF 邻居反复 Down,后来统一改成 1500 后稳定。这类问题用display ospf error能看到具体的错误计数,比如“邻居状态变化”和“DD 报文长度错误”,定位速度会快很多。
OSPF 配置完成后验证命令:
display ospf peer brief display ospf routing display ip routing-table protocol ospf6.3 远程运维与带外管理的坑
远程运维是网络工程师的日常,但也是翻车高发区。很多人直接在业务接口上开启 SSH 和 Telnet,一但业务 VLAN 故障或配置错误,设备就再也连不上了。所以我坚持给交换机配独立的带外管理地址,通常是管理 VLAN + 单独的三层接口,并限制管理源地址范围。
华为 SSH 配置:
[Huawei] stelnet server enable [Huawei] ssh user admin authentication-type passwordH3C SSH 配置:
[H3C] ssh server enable [H3C] ssh user admin service-type all authentication-type password命令细节差很多:华为是stelnet server enable,H3C 是ssh server enable,别记反。而且华为的 SSH 服务默认开启,H3C 默认关闭,所以很多第一次用 H3C 的人远程连不上,第一反应是防火墙问题,其实只是没开服务。
远程运维还有一个常见坑:交换机 CPU 使用率过高导致 SSH 响应极慢或假死。先看display cpu,再看display process cpu找到占用高的进程。最常见的是 SNMP 轮询过于频繁、日志刷屏或者环路导致广播风暴。热搜里提到“h3c nqa 状态 snmp”,NQA 是 H3C 的网络质量分析功能,如果开启后对端无响应,会周期性探测并产生日志,进而推高 CPU。遇到这种问题先检查 NQA 配置和探测间隔,不要一味加设备性能。
6.4 死机、假死与配置回滚的应急处置
交换机“死机”是相对的,真正硬件死机极少,大多是 CPU 满载、内存耗尽或转发芯片异常导致业务中断。遇到设备 Telnet/SSH 没反应,优先通过 Console 登录查看:
display cpu-usage display memory display logbuffer如果 Console 也进不去,大概率是设备硬件或系统级故障,需要重启设备。现场重启前先断电观察状态灯,再上电。如果设备还能进系统视图,可以执行保存前先导出配置:
display current-configuration将输出复制保存到本地。这一步是应急恢复的关键,很多新手在慌乱中直接重启,结果配置全丢,只能一张张截图或凭记忆恢复。配置备份的常规做法是 FTP/TFTP 上传配置文件,但很多内网环境不开放 FTP,我一般用终端软件的日志功能直接落盘,简单有效。
H3C 导出配置文件:
tftp 192.168.1.100 put flash:/startup.cfg startup-backup.cfg华为导出配置:
tftp 192.168.1.100 put flash:/vrpcfg.zip vrpcfg-backup.zip注意华为配置文件压缩包是vrpcfg.zip,H3C 是startup.cfg,不要搞混。没有 TFTP 服务器的场景,也可以直接用display current-configuration全量复制到本地,只是效率低一点。
7. 用 Python 脚本批量巡检:把 H3C 和华为配置命令变成自动化巡检
这一章写给已经能独立配交换机、想提升效率的读者。手工敲命令能解决问题,但批量巡检几十台设备时,Python 加 Netmiko 能把“逐一登录、敲命令、看结果”变成一条命令完成。而且 Netmiko 对 H3C 和华为都有现成驱动,不用自己拼 SSH 交互。
先装依赖:
pip install netmiko最小巡检脚本:批量登录设备,执行display version和display cpu-usage,把结果写入文本文件。
from netmiko import ConnectHandler devices = [ { "device_type": "hp_comware", "host": "192.168.100.1", "username": "admin", "password": "Admin@123", "secret": "Admin@123", # enable 密码,H3C 一般不需要 }, ] for dev in devices: conn = ConnectHandler(**dev) version = conn.send_command("display version") cpu = conn.send_command("display cpu-usage") with open(f"{dev['host']}_check.txt", "w", encoding="utf-8") as f: f.write(version + "\n" + cpu + "\n") conn.disconnect()这段脚本的逻辑是:Netmiko 根据device_type选择设备驱动,H3C 用hp_comware,华为 VRP 用huawei。登录后执行send_command把命令发到设备并等待返回,最后关闭连接。采集结果写入以 IP 命名的文件里,后续可以交给数据分析脚本做告警判断。
如果同时巡检 H3C 和华为,只需在devices列表里添加不同device_type的字典。Netmiko 会自动处理登录提示符差异,不用自己写 expect 交互。
参数说明:device_type必须精确匹配,H3C 是hp_comware,华为是huawei;secret是 enable 密码字段,如果没有可以不填。Netmiko 连接超时默认 10 秒,生产环境建议显式设置conn_timeout和timeout,避免某台设备无响应时脚本卡死很久。
{ "device_type": "huawei", "host": "192.168.100.2", "username": "admin", "password": "Admin@123", "timeout": 20, "conn_timeout": 10, }巡检输出里最需要关注的是display cpu-usage的数值,华为 H3C 都会给出 5 秒内的 CPU 占用率,超过 60% 就要留意,超过 80% 建议登录设备看display process cpu定位高占用进程。
加一个简单的异常保护,避免某一台设备密码错、网络不通导致脚本中断:
from netmiko import NetmikoTimeoutException, NetmikoAuthenticationException for dev in devices: try: conn = ConnectHandler(**dev) conn.enable() version = conn.send_command("display version") cpu = conn.send_command("display cpu-usage") print(f"=== {dev['host']} done ===") conn.disconnect() except NetmikoTimeoutException: print(f"{dev['host']} timeout") except NetmikoAuthenticationException: print(f"{dev['host']} auth fail")这个异常处理的思路是把失败设备单独打印出来,不影响后续设备继续巡检。几十台设备的场景下,这种“跳过失败、保留结果”的写法比单个脚本中断重跑高效得多。
自动化巡检最容易翻车的不是代码,而是命令。H3C 的display cpu-usage和华为一致,可以直接复用,但display version的输出格式不同,正则匹配就得分厂商写。更稳妥的做法是先采集原始输出,再做二次解析,不要一上来就写死正则。如果只是巡检设备是否在线、配置是否变化,采集display current-configuration后做哈希对比就够了。
另外提醒一句:批量脚本务必先在测试环境跑通,再上生产。我见过有人把巡检脚本里的display current-configuration错写成reset saved-configuration,一旦批量执行,后果是全部设备配置清空。这种“手滑删库”级别的教训,最有效规避方式就是脚本里只放只读命令,不写任何配置类命令,并在脚本头部用注释标明命令白名单。
希望这篇命令对照和排障笔记能帮你在 H3C 和华为设备之间少走一点弯路。每个网络项目都有它的偶发玄学,但配置和排障本身可以尽量稳定,至少让不确定的变量少一个。 ## 1. 从一份文档标题说起:H3C 与华为交换机配置命令到底该怎么学
两年前我第一次独立去客户现场调试一台 H3C 交换机,手边只有一份标题叫《H3C华为交换机配置基本命令.docx》的文档。当时我以为把文档里的命令背下来就能搞定,结果真到了设备前一敲,发现 H3C 的命令和华为的写法有大量细节差异:port access vlan和port default vlan、Bridge-Aggregation和Eth-Trunk、packet-filter和traffic-filter,这些“看起来一样、敲起来报错”的坑几乎遍布每一条常用配置。后来我才明白,所谓“基本命令”恰恰是最需要理清厂商差异的地方。
这篇笔记面向的是已经接触过交换机、或者正准备从华为过渡到 H3C 的从业者,目标是拿着命令行直接落地。全文会围绕 H3C 与华为的登录管理、VLAN、三层接口、生成树、链路聚合、ACL、OSPF 与远程运维展开,每一条都给出等价命令和参数边界,最后附上我用 Python 做批量巡检的脚本思路。如果你还在被“命令记混”和“配置完不通”困扰,这篇笔记能让你把时间花在真正的排障上,而不是在语法报错里反复折腾。
本文还有配套的精品资源,点击获取