简介:一份面向网络管理员和初学者的多厂商命令对照速查手册,聚焦华为、华三、思科、锐捷四大主流设备的常用配置场景。资源提供单个PDF文件,大小约107KB,共1个文件,内容按功能模块编排,轻量便携,适合日常查阅或打印后贴在工位。手册从基础命令切入,覆盖查看配置、进入配置模式、保存与删除配置,再延展到VLAN创建删除、Access/Trunk接口模式、批量端口配置、接口IP与速率调整等高频操作;同时也整理了STP快速生成树、端口聚合、ACL规则等进阶内容。每条命令都列出华为、华三、思科、锐捷四厂商的对应写法,并标注undo/no等取消方式,可帮助快速识别语法差异和排错要点。已有2130人学习下载,对需要跨厂商运维、备考网络认证或日常排错的工程师,能明显减少记忆负担,提升配置效率。
1. 四厂商网络设备命令混着用,你迟早要有一份对照字典
做过网络运维的都有过这种经历:上午刚在华为交换机上调完 VLAN,下午就得去机房改一台思科,到了晚上华三的设备又报故障,等你在三套命令体系里来回切换得头晕眼花时,才发现硬盘里躺着好几份从各处拼凑的"命令大全",不是缺胳膊少腿就是厂商混在一起没法用。这份《华为华三思科锐捷基础命令目前最全的》就是冲着这个痛点来的,它不是教材,而是一张能直接抄的四厂商命令对照表。它把日常配置和故障排查中用得最多的命令按动作分组,每一条都给出华为、H3C、思科、锐捷四种写法,让你从"背命令"切换到"查命令"的工作方式。适合刚入行的网络小白照着敲,也适合混迹多年的老运维在切换厂商时快速找回肌肉记忆——毕竟没人能把四套命令的细节全记在脑子里。
2. 先建立命令体系的坐标:视图层级、动词家族与"同义不同命"的坑
2.1 四级视图关系:为什么华为要 return,思科要 end
网络设备的命令行不像 Linux 的 shell,一条命令从头敲到尾。无论是华为、华三还是思科锐捷,命令都分布在不同的视图层级里,你在用户视图能执行的只有 Ping、Tracert 这种诊断命令,想改配置必须先进入系统视图或特权模式。但各家进入方式并不完全一致,这是很多新手第一次翻车的起点。
华为和华三的逻辑几乎相同,设备开机后默认在用户视图<Huawei>,用system-view进入系统视图[Huawei],配置完用return直接跳回用户视图。思科和锐捷则是先enable进入特权模式#,再configure terminal进入全局配置模式(config)#,退出时用end返回特权模式,exit只退一级。我在处理混合厂商机房时,最怕的就是在思科设备上习惯性敲return,设备不认,再一看自己还卡在接口视图里,要按 Tab 补全才想起来思科根本不认识这个命令。
另一个高频混淆点是保存配置。华为、华三统一用save,思科统一用write。锐捷比较特殊,两者都认,但老版本只能write。我给出的建议是:华为、华三设备只记save,思科设备只记write,锐捷设备无论敲哪个都不会报错。至于reset saved-configuration(华为)和erase startup-config(思科),这两条都是删除已保存配置的"后悔药",但注意它删的是下次启动时加载的配置,不会影响当前运行中的配置,执行完一定要重新加载系统。
还有一个容易忽略但极其实用的功能是 Tab 键补全。四厂商的 CLI 全部支持Tab补全,说明性文字是按前缀匹配的,进入配置模式后直接敲dis加 Tab 也不会被拒绝。实际切换厂商时,记不全的中间命令直接 Tab 就能带出来,前提是你要记得命令的首字母。我在给新人演示时经常说:命令背不下来不要紧,记清楚动作的首字母组合,剩下的交给 Tab。
2.2 显示命令的三大族:display、show 与 dir 的边界
华为和华三用display,思科和锐捷用show。这个差异不只是单词不同,显示格式差别也很大。比如查看接口状态,华为是display interface brief,思科是show interfaces status,两者输出的字段完全不同——华为会直接给你端口、协议、物理状态三列,思科则把 Vlan、Duplex、Speed、Type 分开列,做端口状态统计表时要人工对齐字段。
更常见的对比是查看当前启动配置,华为用display current-configuration,思科用show running-config,半斤八两。查看已保存配置则是display saved-configuration对show startup-config。查路由表,华为是display ip routing-table,思科是show ip route,命令不像但记忆难度不大。查 ARP、MAC 表同理,display arp/show ip arp,display mac-address/show mac address-table。
这里有一个我实测过的坑:部分模拟器版本和真机对show mac address-table的支持不一致,锐捷老版本要用show mac-address-table,带不带连字符取决于系统版本。遇到这种差异最好的办法就是show mac加 Tab,让设备帮你把剩余部分补全,而不是自己猜。在看命令大全时,这种"同一动作不同写法"的条目千万不要当作等价替换,每条命令都要在当前设备上实际验证一次,才敢写进你的个人速查笔记。
2.3 反操作开关:undo、no、shutdown 与 no shutdown 的方向感
网络设备几乎每个"开"都对应一个"关"。华为、华三用undo做反向操作,思科、锐捷用no,但接口的关闭和开启是两套独立的动词,这也是日常操作中翻车概率最高的地方。
关闭接口,四厂商全部统一用shutdown;开启接口就分裂了——华为、华三用undo shutdown,思科、锐捷用no shutdown。我在维护过的项目里见过不只一次:同事在思科设备上用华为习惯敲undo shutdown,结果系统提示无法识别,他以为接口坏了,又敲了一遍shutdown,接口更关不开了。这种方向感错乱的代价在线下操作时特别大,你以为自己在开接口,实际是又关了一次。处理思路其实很简单:记住关闭是动作,开启是这个动作的反操作,在华为上反向就是undo前缀,在思科上反向就是no前缀。
删除配置同理。华为用undo加原命令,思科用no加原命令,比如删除 VLAN:
华为/H3C:undo vlan 10 思科/锐捷:no vlan 10undo和no后面通常接原配置命令本身,不需要完整重输参数,只要设备能定位到那条配置即可。但要留意的是某些场景下使用undo时会报"命令不完整",这时只要把原命令核心参数带全就能通过,例如undo port link-type比undo port link-type access更容易在某些型号上被拒绝。
3. 交换机日常操作:VLAN 创建、批量放接口、Trunk 与 STP 的四厂商写法
3.1 VLAN 创建与删除:同一个 vlan 10,四种进入姿势
VLAN 是交换机配置的起点,几乎所有内网项目都要先规划 VLAN 再谈其他。华为、华三在系统视图下直接vlan 10创建并进入 VLAN 视图;思科稍有不同,全局配置模式下vlan 10也能创建,但视图名变成(config-vlan)#;锐捷老版本也是vlan 10,新版本兼容思科写法。查看 VLAN 的命令则是华为display vlan、思科show vlan,锐捷新旧版本对show vlan和display vlan都做过兼容,实测两遍都认。
删除 VLAN 时要注意,四厂商删除命令分别是undo vlan 10(华为/H3C)、no vlan 10(思科/锐捷)。但有个生产环境里很常见的边界情况:VLAN 下还存在 Access 口的成员时,思科和锐捷会拒绝删除,报"VLAN is still assigned to a port";华为会直接删掉 VLAN,接口配置里的port default vlan自动失效,但接口本身可能会有残留的风险。所以我在批量删除 VLAN 之前,一律先清理接口归属再删 VLAN,流程如下:
华为/H3C: interface GigabitEthernet0/0/1 undo port default vlan quit undo vlan 10 思科/锐捷: interface GigabitEthernet0/1 switchport access vlan 1 exit no vlan 103.2 接口进入与批量配置:int range、port-group 与连续的端口范围
单接口配置用interface命令,四厂商都能识别,但参数格式不一样。华为是interface GigabitEthernet0/0/1,思科是interface GigabitEthernet0/1,锐捷是interface GigabitEthernet0/1或interface fastEthernet 0/1,新手最容易踩的就是端口编号体系差异。华为的 G0/0/1 由"槽位/子卡/端口"三段组成,思科的两段是"槽位/端口",锐捷的 fastEthernet 写法要带空格,interface fastEthernet0/1和interface fastEthernet 0/1在不同版本上表现还不一样。
更麻烦的是批量接口。华为用port-group group-member GigabitEthernet0/0/1 to GigabitEthernet0/0/5创建临时端口组,思科用interface range GigabitEthernet0/1 - 5,锐捷用interface range fastEthernet0/1-5,H3C 的int range写法基本跟思科一致。对于非连续的端口,华为可以在这个端口组视图里继续port-group group-member追加成员,思科则要用逗号分隔interface range GigabitEthernet0/1 , GigabitEthernet0/5,注意逗号两边有空格,没空格会直接报错。这个细节我在教新人的时候会特意标出来。
批量配置接口时有一个隐藏风险:华为的port-group是一次性的,退出视图后就失效了,不像思科的interface range那样在会话内可重复进入。真机上有人quit后再敲一次port-group group-member ...才发现需要重新定义成员列表。我自己的习惯是,把常用的批量操作直接写成文本批量粘贴,用注释把端口范围写在命令上面,安全性和可变更性都比手工一条条敲强。
3.3 Access 与 Trunk:放接口进 VLAN 的四种说法
接口加入 VLAN 的动作四厂商描述完全不同。华为是port default vlan 10,H3C 是port access vlan 10,思科是switchport access vlan 10,锐捷与思科相同。而把接口设成 Trunk 是port link-type trunk(华为/H3C)和switchport mode trunk(思科/锐捷)。Trunk 允许指定 VLAN 通过的写法最乱:华为port trunk allow-pass vlan 10,H3Cport trunk permit vlan 10,思科switchport trunk allowed vlan 10,锐捷相同。这里建议直接抄资源里的对照表,不要凭记忆写,厂商间一个介词之差就会导致配置无效。
在实际项目和模拟器练习中,我推荐一条固定配置顺序:先设接口模式(Access/Trunk),再把接口放进 VLAN 或放行 VLAN。因为部分华为设备先配置port default vlan后,再切 Trunk 会清空 VLAN 配置。顺序反了很容易出现"配置看起来都对但 VLAN 不通"的玄学问题。用命令验证也很容易:华为display vlan 10,思科show vlan id 10,看接口是不是正确出现在成员列表里。
3.4 三层接口与 STP:undo portswitch、spanning-tree 的常见部署
交换机上给 VLAN 配 IP 做网关是三层交换的基本用法。华为、H3C 用interface vlan 10进入 VLANIF 接口,思科、锐捷同样用interface vlan 10,进入后四厂商都用ip address X.X.X.X Y.Y.Y.Y(华为/思科)或ip add X.X.X.X Y.Y.Y.Y(H3C/锐捷)配 IP。这里要额外注意华为和思科的默认差异:华为物理接口默认是二层模式,思科部分型号默认也是二层,要启用三层功能,华为需在接口视图下执行undo portswitch,思科执行no switchport,锐捷同思科。
生成树协议是另一个容易现场翻车的地方。华为默认不开启 STP,要用stp enable;H3C 用stp global enable;思科默认开启 PVST,锐捷默认开启 STP。改成快速生成树的命令分别是stp mode rstp(华为/H3C)、spanning-tree mode rapid-pvst(思科)、spanning-tree mode rstp(锐捷)。连接终端设备的端口建议全部配成边缘端口,华为stp edged-port enable,思科spanning-tree portfast,配置后可以避免终端接入时重新触发 STP 计算导致几十秒的网络中断。
STP 优先级配置本身不复杂,四厂商都在全局配置模式下操作,优先级只能取 0 或 4096 的倍数,思科还支持spanning-tree vlan XX priority这种按 VLAN 划分域优先级的写法。检查生成树状态时,华为用display stp brief,思科用show spanning-tree summary,锐捷兼容show spanning-tree summary。做核心设备选主时,直接把主根桥优先级改成 4096,次根桥改成 8192,这个套路在所有厂商上都通用。
3.5 链路聚合:手把手配置 Eth-Trunk / Port-Channel
链路聚合的做法在四厂商之间也有不小差别。华为用interface eth-trunk 1创建聚合口,H3C 用int Bridge-Aggregation 1,思科interface port-channel 1,锐捷interface aggregateport 1。创建后还需要设置 LACP 模式,华为mode lacp,H3Clink-aggregation mode dynamic,思科和锐捷在接口视图下用channel-group 1 mode active或port-group 1 mode active。把物理接口加入聚合组的方式也不同,华为是进入聚合口后再eth-trunk 1绑定接口,思科是在物理接口下执行channel-group 1 mode active,逻辑刚好反过来。锐捷的port-group 1 mode active下还有版本差异,老版本不支持mode active关键字。
聚合口配完 trunk 还是 access 取决于业务需求,但配置顺序要注意:先创建聚合口并配置好链路模式,再把物理口加入聚合组。华为在纯手工模式(manual)下把接口加进 eth-trunk 前如果接口本身没有配置,加进去会自动继承聚合口属性,但已存在的接口属性可能导致加入失败。检查聚合状态时,华为display eth-trunk 1,H3Cdisplay link-aggregation verbose,思科show etherchannel summary,锐捷show aggregatePort summary。
4. 路由、ACL 与 NAT:把上网策略和端口映射一次讲透
4.1 静态路由与默认路由:四厂商最统一的一组命令
相比于交换机的操作,路由器上的静态路由命令出奇地一致。四厂商配置默认路由都认得ip route-static 0.0.0.0 0.0.0.0 192.168.1.254(华为/H3C)和ip route 0.0.0.0 0.0.0.0 192.168.1.254(思科/锐捷)。配置目的路由时,华为用ip route-static 192.168.2.0 255.255.255.0 10.1.1.1,思科用ip route 192.168.2.0 255.255.255.0 10.1.1.1,注意思科的格式里目的网段掩码用的也是子网掩码,不是前缀长度。
这里有一个我反复强调的细节:华为支持在静态路由命令里加优先级参数,比如ip route-static 192.168.2.0 24 10.1.1.1 preference 60,而思科默认的管理距离是 1,如果你想做主备切换,思科要在ip route命令后面加distance参数,格式完全不同。在做双出口链路负载均衡时,这个差异几乎一定会遇到,建议提前在项目拓扑里把主备路由的管理距离规划好。查看路由表的命令是display ip routing-table(华为/H3C)和show ip route(思科/锐捷),两边输出的标志位含义也略有不同。
4.2 ACL 配置与接口应用:rule 5 permit 这种编号逻辑怎么理解
ACL 在四厂商之间差异不是一般地大。华为用acl 3000创建高级 ACL(3000-3999 表示基于源目 IP 和端口的高级控制),H3C 用acl advanced 3000,思科不区分高级和基本,直接access-list 100 permit tcp ...,锐捷与思科写法相同。资源里给了很长一串示例,我实际部署中最常用的其实就是这三行:
华为: acl 3000 rule 5 permit tcp source 192.168.1.0 0.0.0.255 destination 192.168.2.2 0.0.0.0 destination-port eq 80 quit interface GigabitEthernet0/0/1 traffic-filter inbound acl 3000 思科: access-list 100 permit tcp 192.168.1.0 0.0.0.255 192.168.2.2 0.0.0.0 eq 80 interface GigabitEthernet0/1 ip access-group 100 in华为的rule 5表示规则编号 5,编号越大优先级越低,规则匹配是从编号最小的开始逐条匹配,一旦命中不再匹配后续规则。思科的 ACL 编号也是同样逻辑,但不需要单独定义编号,100-199 是 IP 高级 ACL 的标准区间。H3C 比华为多一个关键字 advanced,创建时不用提前选编号区间,系统会自动分类。锐捷基本兼容思科,但部分新版本要求写ip access-list extended,检查 ACL 的命令是display acl all(华为/H3C)和show access-lists(思科/锐捷)。在做 ACL 放通时,建议末尾先加一条拒绝所有的兜底规则,但不要直接在思科上写deny ip any any,华为的 3000 系列默认拒绝所有未匹配流量,两手准备才不会在家里测试时通、上班真机上就断。
4.3 NAT 上网与端口映射:内部服务器发布出去的正确姿势
NAT 配置是整个项目里最容易写错的部分,因为四厂商的设计思路完全不同。华为用两行就完成出口 NAT:
acl 2000 rule 5 permit source 192.168.0.0 0.0.255.255 quit interface GigabitEthernet0/0/0 nat outbound 2000先定义一个基本 ACL 限定哪些内网网段能上网,再在外网口调用nat outbound 2000。H3C 与华为一致。思科是 NAT 一对多:
access-list 1 permit 192.168.0.0 0.0.255.255 ip nat inside source list 1 interface GigabitEthernet0/0/0 overload interface GigabitEthernet0/0 ip nat inside interface GigabitEthernet0/1 ip nat outside思科必须把接口分成 inside/outside 两部分,华为只需要在外网口调用。锐捷与思科相同。端口映射四厂商也是两条路线,华为在接口视图下直接发布内网服务器:
interface GigabitEthernet0/0/0 nat server protocol tcp global current-interface 8080 inside 172.16.1.1 80思科则用ip nat inside source static tcp 192.168.1.1 8080 120.1.1.1 80,注意思科这里的 120.1.1.1 是公网接口地址,必须写实际公网 IP,不能写current-interface。这个差异在远程维护时特别容易出问题,因为华为的写法在 IP 地址变化时无需改配置,思科就要跟着公网地址同步改。
4.4 DHCP 服务:四厂商配置地址池的完整步骤
DHCP 在企业内网里几乎是必配项,四厂商的配置逻辑相近,但命令名称差异明显。华为先dhcp enable,然后创建地址池:
dhcp enable ip pool vlan10 network 192.168.10.0 mask 255.255.255.0 gateway-list 192.168.10.254 dns-list 8.8.8.8 114.114.114.114 quit interface Vlanif10 dhcp select globalH3C 的地址池是dhcp server ip-pool vlan10,思科是ip dhcp pool vlan10,锐捷与思科相同。华为的dhcp select global用于指定接口从全局地址池分配地址,思科不需要这条,只要ip dhcp pool定义完成后接口上不需要再调用。H3C 的新版本支持dhcp select server指向外部服务器。在做 DHCP 排障时,查看地址池分配情况华为用display ip pool,思科用show ip dhcp binding,后者能直接看到 IP、MAC、租约剩余时间。
5. 避坑:五条来自真实运维现场的教训
5.1 Tab 键补全"失灵":不是设备坏了,是视图不对
现象:在思科设备上敲inter按 Tab,设备不补全,反而命令行直接报% Ambiguous command。原因:思科的interface和interfaces两条命令都匹配 "inter" 前缀,Tab 无法确认你想补哪条。解决:多敲几个字母,敲interf再加 Tab。华为没这个问题,因为命令前缀唯一性更高。遇到 Tab 不补全时,第一反应不是怀疑键盘坏了,而是看命令前缀是不是撞车了。
5.2 保存配置后重启"消失":save 和 write 都敲了但白搭
现象:配置完保存,设备重启后配置丢了。原因:四厂商保存配置命令都写了,但思科部分模拟器和真机在执行write前要求当前配置存在 NVRAM 空间,空间满了保存会静默失败。华为save保存的是下次启动配置,但如果你没敲y确认文件名就会直接退出。解决:保存完成后用display saved-configuration(华为)或show startup-config(思科)回读验证。核心设备做完配置,我习惯保存后必回读一次,确认关键条目在启动配置里。命令本身没错,但验证习惯必须有。
5.3 批量接口配置把网管口也带上了
现象:用华为批量接口配置 VLAN,写了一大段port-group group-member GigabitEthernet0/0/1 to GigabitEthernet0/0/24后,管理 IP 不通了。原因:端口范围把上联口和管理口也包进去了,业务口全配好,但管理 VLAN 被冲掉了。解决:批量配置前先display interface brief确认端口分布,把上联口和带内管理口先从批量范围里排除。如果条件允许,配置管理走带外口。从那以后我批量配置前都强制画一个端口表格,把要动的口圈出来再执行。
5.4 Trunk 放行后 VLAN 依然不通:allow-pass 和 permit 的语义陷阱
现象:华为到思科做对接,华为侧port trunk allow-pass vlan 10,思科侧switchport trunk allowed vlan 10,两边都配了,但 VLAN 10 不通。原因:华为的allow-pass vlan 10是在默认放行 VLAN 1 的基础上额外放行VLAN 10;思科的allowed vlan 10是只允许VLAN 10 通过,VLAN 1 被隐式去掉了。两边对"允许"的定义不同,VLAN 1 丢了,管理面直接断。解决:对接前先明确两边的放行策略是"追加"还是"覆盖"。华为侧直接写port trunk allow-pass vlan 10不用管默认,思科侧需要写switchport trunk allowed vlan add 10或者switchport trunk allowed vlan 1,10。跨厂商对接时,这个语义差异会引发大量排障时间,建议提前把两边的 VLAN 放行列表逐条对齐。
5.5 双工协商异常:speed 和 duplex 不同步导致丢包
现象:锐捷交换机和思科交换机互联,流量一大就丢包,小流量正常。原因:锐捷侧手动配置了speed 1000,思科侧用的是自适应auto。1000M 协商成功后,双工模式一边 Full,一边 Half,就会产生大量冲突丢包。解决:互联端口要么全部强制speed 1000 duplex full,要么全部undo duplex/no duplex恢复自适应。检查时用display interface/show interfaces看 Duplex 状态是否一致,不一致就强制双工后重新测试。这个案例我处理过三次,每次都是升速或者换备件后引发。
6. 把速查表变成你的终端脚本:一个多厂商命令对账工具
资源里的命令表覆盖了日常 80% 的配置量,但每次查表都要翻文件也不是办法。我的做法是把表格转成一个 Python 脚本,按动作分组,输入关键词直接返回四厂商命令。这里给一个最小实现:
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 多厂商命令速查脚本:用法 python netcmd.py 保存配置 import sys docs = { "保存配置": { "华为": "save", "H3C": "save", "思科": "write", "锐捷": "write", }, "创建VLAN": { "华为": "vlan 10", "H3C": "vlan 10", "思科": "vlan 10", "锐捷": "vlan 10", }, "接口加入VLAN": { "华为": "interface GigabitEthernet0/0/1\n port default vlan 10", "H3C": "interface GigabitEthernet0/0/1\n port access vlan 10", "思科": "interface GigabitEthernet0/1\n switchport access vlan 10", "锐捷": "interface GigabitEthernet0/1\n switchport access vlan 10", }, "进入系统视图": { "华为": "system-view", "H3C": "system-view", "思科": "enable\nconfigure terminal", "锐捷": "enable\nconfigure terminal", }, } if len(sys.argv) < 2: print("用法: python netcmd.py <动作关键词> 例如: python netcmd.py VLAN") sys.exit(1) keyword = sys.argv[1] for action, cmds in docs.items(): if keyword in action or keyword in " ".join(cmds.values()): print(f"动作: {action}") for vendor, cmd in cmds.items(): print(f" [{vendor}]") for line in cmd.split("\n"): print(f" {line}")脚本的逻辑是建立动作到命令的映射字典,匹配后按厂商分行输出。你可以把资源里的全部命令按这个格式补进去,再按场景打标签,比如"接口""路由""排障"。用的时候python netcmd.py 保存配置,终端直接返回四行命令,不用再翻 PDF。我一般还会把巡检命令单独做一个分组,输出结果直接对齐成表格样式,方便对着屏幕逐项核查。
脚本维护上有一个建议:每个季度结合现网设备验证一次命令,把设备升级后失效的条目标出来。比如思科新版 IOS 对部分老命令做了废弃处理,华为新版本对display的输出字段顺序有调整,这类变化不会体现在静态表格里,但脚本可以随时更新。从那以后我每次做项目变更,都强制走一遍这个脚本,把涉及的命令在模拟器上先跑通再上真机,这套流程帮我挡掉了至少三回现网翻车。希望帮到你。
本文还有配套的精品资源,点击获取