dsh-ensp 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +18 -2
- package/README.md +18 -2
- package/docs/SCENARIOS.md +184 -0
- package/docs/plugin-detail.en.md +1 -2
- package/docs/plugin-detail.zh.md +1 -2
- package/locale/en.json +7 -0
- package/locale/zh.json +7 -0
- package/package.json +13 -5
- package/scripts/gen-curriculum.mjs +181 -0
- package/scripts/gen-knowledge.mjs +67 -32
- package/scripts/gen-scenarios-doc.mjs +11 -0
- package/src/cli/ensp.mjs +36 -2
- package/src/core/curriculum.json +1163 -0
- package/src/core/curriculum.mjs +70 -0
- package/src/core/index.mjs +8 -0
- package/src/core/knowledge.json +677 -130
- package/src/core/knowledge.mjs +7 -8
- package/src/dsh/index.mjs +30 -5
- package/src/mcp/server.mjs +17 -5
package/README.en.md
CHANGED
|
@@ -137,7 +137,22 @@ ensp preset ospf-lsa-types # the detail ends with a knowledge section
|
|
|
137
137
|
ensp preset --knowledge LSA # search the index by keyword
|
|
138
138
|
```
|
|
139
139
|
|
|
140
|
-
The points
|
|
140
|
+
The points are grouped by topic by hand: each one is a checkable statement rather than a copied entry. The index keeps only the stem and the correct option text; the source material is not shipped.
|
|
141
|
+
|
|
142
|
+
### Manual chapter index
|
|
143
|
+
|
|
144
|
+
`src/core/curriculum.json` records the chapter structure of the vendor lab manuals: the learning goals of each chapter, the `display` commands the manual uses to prove the result, and the built-in scenario that covers the same ground. A scenario detail lists the matching chapters, so you can compare your configuration against the official steps.
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
ensp preset ospf-lsa-types # the detail ends with a manual chapter section
|
|
148
|
+
ensp preset --syllabus MPLS # search the chapter index by keyword
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
The manual text is vendor documentation and is not shipped; the index keeps only the structured facts. The generator reads extracted chapter JSON:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
npm run curriculum -- <guides.json>
|
|
155
|
+
```
|
|
141
156
|
|
|
142
157
|
### Device image check
|
|
143
158
|
|
|
@@ -271,9 +286,10 @@ ensp status
|
|
|
271
286
|
|
|
272
287
|
| Item | Requirement |
|
|
273
288
|
|---|---|
|
|
274
|
-
| OS | Windows. eNSP has no other build |
|
|
289
|
+
| OS | Windows. eNSP has no other build, which is why the plugin declares `win32` only |
|
|
275
290
|
| eNSP | Installed and working |
|
|
276
291
|
| Node.js | 18 or newer |
|
|
292
|
+
| DSH | 0.2.0 up to but not including 0.3.0 (`engines.dsh` decides compatibility) |
|
|
277
293
|
| Privileges | Run both this tool and eNSP as administrator, at the same integrity level |
|
|
278
294
|
|
|
279
295
|
The eNSP and VirtualBox install locations are detected automatically: `--exe` / `--vbox` first, then the `DSH_ENSP_EXE` / `DSH_VBOX` environment variables, then the `HKLM\SOFTWARE\Huawei\eNSP` registry key, then the usual install roots and `PATH`. Nothing needs configuring when either is installed on another drive, and a failed lookup lists every location it tried together with where that location came from.
|
package/README.md
CHANGED
|
@@ -132,7 +132,22 @@ ensp preset ospf-lsa-types # 详情末尾带知识点小节
|
|
|
132
132
|
ensp preset --knowledge LSA # 按关键词检索知识点
|
|
133
133
|
```
|
|
134
134
|
|
|
135
|
-
|
|
135
|
+
知识点按主题人工归类:每条是一句可核对的事实,而不是照搬原始条目。索引只保留题干与正确选项文本,原始资料不随包分发。
|
|
136
|
+
|
|
137
|
+
### 教材章节索引
|
|
138
|
+
|
|
139
|
+
`src/core/curriculum.json` 记录厂商实验手册的章节结构:每章的学习目标、手册里用来证明结果的 `display` 命令,以及本章对应的内置场景。场景详情会附上对应章节,因此可以直接对照官方步骤检查自己的配置。
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
ensp preset ospf-lsa-types # 详情里带「官方教材对应章节」小节
|
|
143
|
+
ensp preset --syllabus MPLS # 按关键词检索章节索引
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
手册正文是厂商文档,不随包分发;索引只保留章名、目标与验证命令这些结构化事实。生成脚本读取抽取后的章节 JSON:
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
npm run curriculum -- <guides.json>
|
|
150
|
+
```
|
|
136
151
|
|
|
137
152
|
```bash
|
|
138
153
|
npm run docs # 重新生成 docs/SCENARIOS.md
|
|
@@ -271,9 +286,10 @@ ensp status
|
|
|
271
286
|
|
|
272
287
|
| 项 | 要求 |
|
|
273
288
|
|---|---|
|
|
274
|
-
| 操作系统 | Windows。eNSP 仅有 Windows
|
|
289
|
+
| 操作系统 | Windows。eNSP 仅有 Windows 版本,插件因此只声明 `win32` |
|
|
275
290
|
| eNSP | 已安装且可正常运行 |
|
|
276
291
|
| Node.js | 18 或更高版本 |
|
|
292
|
+
| DSH | 0.2.0 到 0.3.0 之前的版本(`engines.dsh` 决定兼容性) |
|
|
277
293
|
| 权限 | 以管理员身份运行本工具与 eNSP,两者需为同一权限级别 |
|
|
278
294
|
|
|
279
295
|
eNSP 与 VirtualBox 的安装位置自动探测:先看 `--exe` / `--vbox`,再看 `DSH_ENSP_EXE` / `DSH_VBOX` 环境变量,再看注册表 `HKLM\SOFTWARE\Huawei\eNSP`,最后看常见安装根目录与 `PATH`。装在非默认盘符时不必手工配置,探测失败会列出每一个尝试过的位置及其来源。
|
package/docs/SCENARIOS.md
CHANGED
|
@@ -41,6 +41,10 @@ ensp up ospf-single.topo
|
|
|
41
41
|
生成:`ensp preset vlan-access --topo vlan-access.topo`
|
|
42
42
|
- 验收:`ensp verify vlan-access --topology vlan-access.topo`(2 条断言)
|
|
43
43
|
|
|
44
|
+
**教材章节**
|
|
45
|
+
- HCIA · 华为网络设备基本操作(手册第 9 页)
|
|
46
|
+
- HCIA · VLAN 配置实验(手册第 21 页)
|
|
47
|
+
|
|
44
48
|
### trunk-interconnect — Trunk 互联与多 VLAN 透传
|
|
45
49
|
|
|
46
50
|
- **英文名**:Trunk interconnect
|
|
@@ -69,6 +73,10 @@ ensp up ospf-single.topo
|
|
|
69
73
|
生成:`ensp preset trunk-interconnect --topo trunk-interconnect.topo`
|
|
70
74
|
- 验收:`ensp verify trunk-interconnect --topology trunk-interconnect.topo`(1 条断言)
|
|
71
75
|
|
|
76
|
+
**教材章节**
|
|
77
|
+
- HCIA · 华为网络设备基本操作(手册第 9 页)
|
|
78
|
+
- HCIA · VLAN 配置实验(手册第 21 页)
|
|
79
|
+
|
|
72
80
|
### vlanif-routing — VLAN 间路由(三层交换机)
|
|
73
81
|
|
|
74
82
|
- **英文名**:Inter-VLAN routing with a layer-3 switch
|
|
@@ -103,6 +111,11 @@ ensp up ospf-single.topo
|
|
|
103
111
|
生成:`ensp preset vlanif-routing --topo vlanif-routing.topo`
|
|
104
112
|
- 验收:`ensp verify vlanif-routing --topology vlanif-routing.topo`(2 条断言)
|
|
105
113
|
|
|
114
|
+
**教材章节**
|
|
115
|
+
- HCIA · VLAN 配置实验(手册第 21 页)
|
|
116
|
+
- HCIA · 直连路由实验(手册第 65 页)
|
|
117
|
+
- HCIA · 园区网络综合实验(手册第 220 页)
|
|
118
|
+
|
|
106
119
|
### stp-rstp — STP / RSTP 生成树
|
|
107
120
|
|
|
108
121
|
- **英文名**:STP and RSTP
|
|
@@ -138,6 +151,10 @@ ensp up ospf-single.topo
|
|
|
138
151
|
生成:`ensp preset stp-rstp --topo stp-rstp.topo`
|
|
139
152
|
- 验收:`ensp verify stp-rstp --topology stp-rstp.topo`(2 条断言)
|
|
140
153
|
|
|
154
|
+
**教材章节**
|
|
155
|
+
- HCIA · 生成树配置实验(手册第 41 页)
|
|
156
|
+
- HCIP · RSTP 与MSTP 实验(手册第 167 页)
|
|
157
|
+
|
|
141
158
|
### link-aggregation — 链路聚合 Eth-Trunk
|
|
142
159
|
|
|
143
160
|
- **英文名**:Link aggregation
|
|
@@ -166,6 +183,9 @@ ensp up ospf-single.topo
|
|
|
166
183
|
生成:`ensp preset link-aggregation --topo link-aggregation.topo`
|
|
167
184
|
- 验收:`ensp verify link-aggregation --topology link-aggregation.topo`(1 条断言)
|
|
168
185
|
|
|
186
|
+
**教材章节**
|
|
187
|
+
- HCIA · 以太网链路聚合实验(手册第 54 页)
|
|
188
|
+
|
|
169
189
|
### port-security — 端口安全与 MAC 限制
|
|
170
190
|
|
|
171
191
|
- **英文名**:Port security and MAC limits
|
|
@@ -195,6 +215,10 @@ ensp up ospf-single.topo
|
|
|
195
215
|
生成:`ensp preset port-security --topo port-security.topo`
|
|
196
216
|
- 验收:`ensp verify port-security --topology port-security.topo`(1 条断言)
|
|
197
217
|
|
|
218
|
+
**教材章节**
|
|
219
|
+
- HCIP · 网络准入控制实验(手册第 11 页)
|
|
220
|
+
- HCIP · 以太网交换安全实验(手册第 91 页)
|
|
221
|
+
|
|
198
222
|
### port-isolation — 端口隔离与 MUX VLAN
|
|
199
223
|
|
|
200
224
|
- **英文名**:Port isolation and MUX VLAN
|
|
@@ -224,6 +248,9 @@ ensp up ospf-single.topo
|
|
|
224
248
|
生成:`ensp preset port-isolation --topo port-isolation.topo`
|
|
225
249
|
- 验收:`ensp verify port-isolation --topology port-isolation.topo`(无专门断言,逐条跑本场景的验证命令)
|
|
226
250
|
|
|
251
|
+
**教材章节**
|
|
252
|
+
- HCIP · VLAN 高级技术实验(手册第 79 页)
|
|
253
|
+
|
|
227
254
|
### super-vlan — VLAN 聚合(Super-VLAN)
|
|
228
255
|
|
|
229
256
|
- **英文名**:Super-VLAN and sub-VLANs
|
|
@@ -259,6 +286,10 @@ ensp up ospf-single.topo
|
|
|
259
286
|
生成:`ensp preset super-vlan --topo super-vlan.topo`
|
|
260
287
|
- 验收:`ensp verify super-vlan --topology super-vlan.topo`(1 条断言)
|
|
261
288
|
|
|
289
|
+
**教材章节**
|
|
290
|
+
- HCIA · VLAN 配置实验(手册第 21 页)
|
|
291
|
+
- HCIP · VLAN 高级技术实验(手册第 79 页)
|
|
292
|
+
|
|
262
293
|
### static-route — 静态路由与默认路由
|
|
263
294
|
|
|
264
295
|
- **英文名**:Static and default routes
|
|
@@ -296,6 +327,10 @@ ensp up ospf-single.topo
|
|
|
296
327
|
生成:`ensp preset static-route --topo static-route.topo`
|
|
297
328
|
- 验收:`ensp verify static-route --topology static-route.topo`(1 条断言)
|
|
298
329
|
|
|
330
|
+
**教材章节**
|
|
331
|
+
- HCIA · 静态路由实验(手册第 72 页)
|
|
332
|
+
- HCIA · 园区网络综合实验(手册第 220 页)
|
|
333
|
+
|
|
299
334
|
### rip — RIPv1 / RIPv2
|
|
300
335
|
|
|
301
336
|
- **英文名**:RIP versions 1 and 2
|
|
@@ -375,6 +410,10 @@ ensp up ospf-single.topo
|
|
|
375
410
|
生成:`ensp preset ospf-single --topo ospf-single.topo`
|
|
376
411
|
- 验收:`ensp verify ospf-single --topology ospf-single.topo`(2 条断言)
|
|
377
412
|
|
|
413
|
+
**教材章节**
|
|
414
|
+
- HCIA · OSPF 配置实验(手册第 101 页)
|
|
415
|
+
- HCIP · OSPF 基础实验(手册第 7 页)
|
|
416
|
+
|
|
378
417
|
### dhcp — DHCP 服务(含中继)
|
|
379
418
|
|
|
380
419
|
- **英文名**:DHCP server and relay
|
|
@@ -409,6 +448,10 @@ ensp up ospf-single.topo
|
|
|
409
448
|
生成:`ensp preset dhcp --topo dhcp.topo`
|
|
410
449
|
- 验收:`ensp verify dhcp --topology dhcp.topo`(1 条断言)
|
|
411
450
|
|
|
451
|
+
**教材章节**
|
|
452
|
+
- HCIA · IP 地址自动配置实验(手册第 88 页)
|
|
453
|
+
- HCIP · DHCP 实验(手册第 230 页)
|
|
454
|
+
|
|
412
455
|
### acl-filter — ACL 访问控制
|
|
413
456
|
|
|
414
457
|
- **英文名**:ACL filtering
|
|
@@ -442,6 +485,10 @@ ensp up ospf-single.topo
|
|
|
442
485
|
生成:`ensp preset acl-filter --topo acl-filter.topo`
|
|
443
486
|
- 验收:`ensp verify acl-filter --topology acl-filter.topo`(1 条断言)
|
|
444
487
|
|
|
488
|
+
**教材章节**
|
|
489
|
+
- HCIA · ACL 配置实验(手册第 129 页)
|
|
490
|
+
- HCIA · NAT 配置实验(手册第 156 页)
|
|
491
|
+
|
|
445
492
|
### aaa-local — 本地 AAA 与设备登录
|
|
446
493
|
|
|
447
494
|
- **英文名**:Local AAA and device login
|
|
@@ -475,6 +522,11 @@ ensp up ospf-single.topo
|
|
|
475
522
|
生成:`ensp preset aaa-local --topo aaa-local.topo`
|
|
476
523
|
- 验收:`ensp verify aaa-local --topology aaa-local.topo`(1 条断言)
|
|
477
524
|
|
|
525
|
+
**教材章节**
|
|
526
|
+
- HCIA · 文件管理实验(手册第 136 页)
|
|
527
|
+
- HCIA · 远程登录实验(手册第 144 页)
|
|
528
|
+
- HCIP · 网络准入控制实验(手册第 11 页)
|
|
529
|
+
|
|
478
530
|
### vrrp-basics — VRRP 网关冗余
|
|
479
531
|
|
|
480
532
|
- **英文名**:VRRP gateway redundancy
|
|
@@ -516,6 +568,10 @@ ensp up ospf-single.topo
|
|
|
516
568
|
生成:`ensp preset vrrp-basics --topo vrrp-basics.topo`
|
|
517
569
|
- 验收:`ensp verify vrrp-basics --topology vrrp-basics.topo`(2 条断言)
|
|
518
570
|
|
|
571
|
+
**教材章节**
|
|
572
|
+
- HCIP · RSTP 与MSTP 实验(手册第 167 页)
|
|
573
|
+
- HCIP · VRRP 实验(手册第 219 页)
|
|
574
|
+
|
|
519
575
|
### network-management — 网络管理(SNMP / NTP / Syslog)
|
|
520
576
|
|
|
521
577
|
- **英文名**:Network management with SNMP, NTP and syslog
|
|
@@ -554,6 +610,12 @@ ensp up ospf-single.topo
|
|
|
554
610
|
生成:`ensp preset network-management --topo network-management.topo`
|
|
555
611
|
- 验收:`ensp verify network-management --topology network-management.topo`(1 条断言)
|
|
556
612
|
|
|
613
|
+
**教材章节**
|
|
614
|
+
- HCIA · 文件管理实验(手册第 136 页)
|
|
615
|
+
- HCIA · 远程登录实验(手册第 144 页)
|
|
616
|
+
- HCIA · 网络编程自动化实验(可选)(手册第 179 页)
|
|
617
|
+
- HCIE · 网络开放可编程(手册第 441 页)
|
|
618
|
+
|
|
557
619
|
|
|
558
620
|
## 进阶
|
|
559
621
|
|
|
@@ -593,6 +655,10 @@ ensp up ospf-single.topo
|
|
|
593
655
|
生成:`ensp preset mstp-load-balance --topo mstp-load-balance.topo`
|
|
594
656
|
- 验收:`ensp verify mstp-load-balance --topology mstp-load-balance.topo`(无专门断言,逐条跑本场景的验证命令)
|
|
595
657
|
|
|
658
|
+
**教材章节**
|
|
659
|
+
- HCIA · 生成树配置实验(手册第 41 页)
|
|
660
|
+
- HCIP · RSTP 与MSTP 实验(手册第 167 页)
|
|
661
|
+
|
|
596
662
|
### ospf-multi-area — OSPF 多区域与 ABR
|
|
597
663
|
|
|
598
664
|
- **英文名**:OSPF multi-area and ABR
|
|
@@ -632,6 +698,9 @@ ensp up ospf-single.topo
|
|
|
632
698
|
生成:`ensp preset ospf-multi-area --topo ospf-multi-area.topo`
|
|
633
699
|
- 验收:`ensp verify ospf-multi-area --topology ospf-multi-area.topo`(2 条断言)
|
|
634
700
|
|
|
701
|
+
**教材章节**
|
|
702
|
+
- HCIP · OSPF 基础实验(手册第 7 页)
|
|
703
|
+
|
|
635
704
|
### ospf-stub-nssa — OSPF 特殊区域(Stub / NSSA)
|
|
636
705
|
|
|
637
706
|
- **英文名**:OSPF stub and NSSA
|
|
@@ -669,6 +738,9 @@ ensp up ospf-single.topo
|
|
|
669
738
|
生成:`ensp preset ospf-stub-nssa --topo ospf-stub-nssa.topo`
|
|
670
739
|
- 验收:`ensp verify ospf-stub-nssa --topology ospf-stub-nssa.topo`(2 条断言)
|
|
671
740
|
|
|
741
|
+
**教材章节**
|
|
742
|
+
- HCIP · OSPF 基础实验(手册第 7 页)
|
|
743
|
+
|
|
672
744
|
### ospf-lsa-types — OSPF LSA 类型与区域过滤
|
|
673
745
|
|
|
674
746
|
- **英文名**:OSPF LSA types and area filtering
|
|
@@ -717,6 +789,9 @@ ensp up ospf-single.topo
|
|
|
717
789
|
生成:`ensp preset ospf-lsa-types --topo ospf-lsa-types.topo`
|
|
718
790
|
- 验收:`ensp verify ospf-lsa-types --topology ospf-lsa-types.topo`(无专门断言,逐条跑本场景的验证命令)
|
|
719
791
|
|
|
792
|
+
**教材章节**
|
|
793
|
+
- HCIP · OSPF 基础实验(手册第 7 页)
|
|
794
|
+
|
|
720
795
|
### ospf-virtual-link — OSPF 虚连接
|
|
721
796
|
|
|
722
797
|
- **英文名**:OSPF virtual link
|
|
@@ -757,6 +832,9 @@ ensp up ospf-single.topo
|
|
|
757
832
|
生成:`ensp preset ospf-virtual-link --topo ospf-virtual-link.topo`
|
|
758
833
|
- 验收:`ensp verify ospf-virtual-link --topology ospf-virtual-link.topo`(无专门断言,逐条跑本场景的验证命令)
|
|
759
834
|
|
|
835
|
+
**教材章节**
|
|
836
|
+
- HCIP · OSPF 基础实验(手册第 7 页)
|
|
837
|
+
|
|
760
838
|
### ospf-troubleshooting — OSPF 邻居排障
|
|
761
839
|
|
|
762
840
|
- **英文名**:OSPF neighbour troubleshooting
|
|
@@ -800,6 +878,11 @@ ensp up ospf-single.topo
|
|
|
800
878
|
生成:`ensp preset ospf-troubleshooting --topo ospf-troubleshooting.topo`
|
|
801
879
|
- 验收:`ensp verify ospf-troubleshooting --topology ospf-troubleshooting.topo`(无专门断言,逐条跑本场景的验证命令)
|
|
802
880
|
|
|
881
|
+
**教材章节**
|
|
882
|
+
- HCIA · 网络故障排除实验(手册第 188 页)
|
|
883
|
+
- HCIP · IGP 高级特性实验(手册第 6 页)
|
|
884
|
+
- HCIE · IPv4 路由技术(手册第 10 页)
|
|
885
|
+
|
|
803
886
|
### nat — NAT(源 NAT / NAT Server)
|
|
804
887
|
|
|
805
888
|
- **英文名**:NAT source and server
|
|
@@ -836,6 +919,11 @@ ensp up ospf-single.topo
|
|
|
836
919
|
生成:`ensp preset nat --topo nat.topo`
|
|
837
920
|
- 验收:`ensp verify nat --topology nat.topo`(1 条断言)
|
|
838
921
|
|
|
922
|
+
**教材章节**
|
|
923
|
+
- HCIA · ACL 配置实验(手册第 129 页)
|
|
924
|
+
- HCIA · NAT 配置实验(手册第 156 页)
|
|
925
|
+
- HCIP · 防火墙技术实验(手册第 208 页)
|
|
926
|
+
|
|
839
927
|
### ppp-hdlc — HDLC 与 PPP(含 PPPoE)
|
|
840
928
|
|
|
841
929
|
- **英文名**:HDLC and PPP
|
|
@@ -907,6 +995,12 @@ ensp up ospf-single.topo
|
|
|
907
995
|
生成:`ensp preset ipv6 --topo ipv6.topo`
|
|
908
996
|
- 验收:`ensp verify ipv6 --topology ipv6.topo`(2 条断言)
|
|
909
997
|
|
|
998
|
+
**教材章节**
|
|
999
|
+
- HCIA · IPv6 地址配置实验(手册第 118 页)
|
|
1000
|
+
- HCIP · IPv6 实验(手册第 52 页)
|
|
1001
|
+
- HCIE · IPv6 路由技术(手册第 91 页)
|
|
1002
|
+
- HCIE · SRv6 实验(手册第 399 页)
|
|
1003
|
+
|
|
910
1004
|
### dhcp-snooping — DHCP Snooping 与 IPSG
|
|
911
1005
|
|
|
912
1006
|
- **英文名**:DHCP snooping and IPSG
|
|
@@ -943,6 +1037,12 @@ ensp up ospf-single.topo
|
|
|
943
1037
|
生成:`ensp preset dhcp-snooping --topo dhcp-snooping.topo`
|
|
944
1038
|
- 验收:`ensp verify dhcp-snooping --topology dhcp-snooping.topo`(1 条断言)
|
|
945
1039
|
|
|
1040
|
+
**教材章节**
|
|
1041
|
+
- HCIA · IP 地址自动配置实验(手册第 88 页)
|
|
1042
|
+
- HCIP · 网络准入控制实验(手册第 11 页)
|
|
1043
|
+
- HCIP · 以太网交换安全实验(手册第 91 页)
|
|
1044
|
+
- HCIP · DHCP 实验(手册第 230 页)
|
|
1045
|
+
|
|
946
1046
|
### arp-security — ARP 安全(防欺骗与防攻击)
|
|
947
1047
|
|
|
948
1048
|
- **英文名**:ARP security
|
|
@@ -978,6 +1078,9 @@ ensp up ospf-single.topo
|
|
|
978
1078
|
生成:`ensp preset arp-security --topo arp-security.topo`
|
|
979
1079
|
- 验收:`ensp verify arp-security --topology arp-security.topo`(无专门断言,逐条跑本场景的验证命令)
|
|
980
1080
|
|
|
1081
|
+
**教材章节**
|
|
1082
|
+
- HCIP · 以太网交换安全实验(手册第 91 页)
|
|
1083
|
+
|
|
981
1084
|
### qos-basics — QoS 分类标记与队列
|
|
982
1085
|
|
|
983
1086
|
- **英文名**:QoS classification, marking and queues
|
|
@@ -1051,6 +1154,10 @@ ensp up ospf-single.topo
|
|
|
1051
1154
|
生成:`ensp preset wlan-basic --topo wlan-basic.topo`
|
|
1052
1155
|
- 验收:`ensp verify wlan-basic --topology wlan-basic.topo`(无专门断言,逐条跑本场景的验证命令)
|
|
1053
1156
|
|
|
1157
|
+
**教材章节**
|
|
1158
|
+
- HCIA · WAC+FIT AP 组网实验(手册第 164 页)
|
|
1159
|
+
- HCIP · WLAN 实验(手册第 242 页)
|
|
1160
|
+
|
|
1054
1161
|
### ospfv3-ipv6 — OSPFv3 与 IPv6 双栈
|
|
1055
1162
|
|
|
1056
1163
|
- **英文名**:OSPFv3 and IPv6 dual stack
|
|
@@ -1092,6 +1199,12 @@ ensp up ospf-single.topo
|
|
|
1092
1199
|
生成:`ensp preset ospfv3-ipv6 --topo ospfv3-ipv6.topo`
|
|
1093
1200
|
- 验收:`ensp verify ospfv3-ipv6 --topology ospfv3-ipv6.topo`(1 条断言)
|
|
1094
1201
|
|
|
1202
|
+
**教材章节**
|
|
1203
|
+
- HCIA · IPv6 地址配置实验(手册第 118 页)
|
|
1204
|
+
- HCIP · IPv6 实验(手册第 52 页)
|
|
1205
|
+
- HCIE · IPv6 路由技术(手册第 91 页)
|
|
1206
|
+
- HCIE · SRv6 实验(手册第 399 页)
|
|
1207
|
+
|
|
1095
1208
|
### isis-multi-level — IS-IS 多级别与默认路由注入
|
|
1096
1209
|
|
|
1097
1210
|
- **英文名**:IS-IS levels and default-route injection
|
|
@@ -1136,6 +1249,11 @@ ensp up ospf-single.topo
|
|
|
1136
1249
|
生成:`ensp preset isis-multi-level --topo isis-multi-level.topo`
|
|
1137
1250
|
- 验收:`ensp verify isis-multi-level --topology isis-multi-level.topo`(2 条断言)
|
|
1138
1251
|
|
|
1252
|
+
**教材章节**
|
|
1253
|
+
- HCIP · IGP 高级特性实验(手册第 6 页)
|
|
1254
|
+
- HCIP · IS-IS 基础实验(手册第 75 页)
|
|
1255
|
+
- HCIE · IPv4 路由技术(手册第 10 页)
|
|
1256
|
+
|
|
1139
1257
|
|
|
1140
1258
|
## 高级
|
|
1141
1259
|
|
|
@@ -1178,6 +1296,9 @@ ensp up ospf-single.topo
|
|
|
1178
1296
|
生成:`ensp preset bgp-ebgp-ibgp --topo bgp-ebgp-ibgp.topo`
|
|
1179
1297
|
- 验收:`ensp verify bgp-ebgp-ibgp --topology bgp-ebgp-ibgp.topo`(2 条断言)
|
|
1180
1298
|
|
|
1299
|
+
**教材章节**
|
|
1300
|
+
- HCIP · BGP 实验(手册第 89 页)
|
|
1301
|
+
|
|
1181
1302
|
### bgp-attributes — BGP 选路属性
|
|
1182
1303
|
|
|
1183
1304
|
- **英文名**:BGP attributes and path selection
|
|
@@ -1221,6 +1342,10 @@ ensp up ospf-single.topo
|
|
|
1221
1342
|
生成:`ensp preset bgp-attributes --topo bgp-attributes.topo`
|
|
1222
1343
|
- 验收:`ensp verify bgp-attributes --topology bgp-attributes.topo`(无专门断言,逐条跑本场景的验证命令)
|
|
1223
1344
|
|
|
1345
|
+
**教材章节**
|
|
1346
|
+
- HCIP · BGP 高级特性实验(手册第 27 页)
|
|
1347
|
+
- HCIP · 路由策略与路由控制实验(手册第 154 页)
|
|
1348
|
+
|
|
1224
1349
|
### bgp-aggregation — BGP 路由聚合与团体属性
|
|
1225
1350
|
|
|
1226
1351
|
- **英文名**:BGP aggregation and communities
|
|
@@ -1264,6 +1389,10 @@ ensp up ospf-single.topo
|
|
|
1264
1389
|
生成:`ensp preset bgp-aggregation --topo bgp-aggregation.topo`
|
|
1265
1390
|
- 验收:`ensp verify bgp-aggregation --topology bgp-aggregation.topo`(无专门断言,逐条跑本场景的验证命令)
|
|
1266
1391
|
|
|
1392
|
+
**教材章节**
|
|
1393
|
+
- HCIP · BGP 高级特性实验(手册第 27 页)
|
|
1394
|
+
- HCIP · BGP 实验(手册第 89 页)
|
|
1395
|
+
|
|
1267
1396
|
### bgp-troubleshooting — BGP 邻居排障
|
|
1268
1397
|
|
|
1269
1398
|
- **英文名**:BGP neighbour troubleshooting
|
|
@@ -1306,6 +1435,11 @@ ensp up ospf-single.topo
|
|
|
1306
1435
|
生成:`ensp preset bgp-troubleshooting --topo bgp-troubleshooting.topo`
|
|
1307
1436
|
- 验收:`ensp verify bgp-troubleshooting --topology bgp-troubleshooting.topo`(无专门断言,逐条跑本场景的验证命令)
|
|
1308
1437
|
|
|
1438
|
+
**教材章节**
|
|
1439
|
+
- HCIA · 网络故障排除实验(手册第 188 页)
|
|
1440
|
+
- HCIP · BGP 高级特性实验(手册第 27 页)
|
|
1441
|
+
- HCIE · IPv4 路由技术(手册第 10 页)
|
|
1442
|
+
|
|
1309
1443
|
### stack-istack — 交换机堆叠与 iStack
|
|
1310
1444
|
|
|
1311
1445
|
- **英文名**:Switch stacking and iStack
|
|
@@ -1389,6 +1523,9 @@ ensp up ospf-single.topo
|
|
|
1389
1523
|
生成:`ensp preset route-policy-pbr --topo route-policy-pbr.topo`
|
|
1390
1524
|
- 验收:`ensp verify route-policy-pbr --topology route-policy-pbr.topo`(无专门断言,逐条跑本场景的验证命令)
|
|
1391
1525
|
|
|
1526
|
+
**教材章节**
|
|
1527
|
+
- HCIP · 路由策略与路由控制实验(手册第 154 页)
|
|
1528
|
+
|
|
1392
1529
|
### bgp-route-reflector — BGP 路由反射器与联盟
|
|
1393
1530
|
|
|
1394
1531
|
- **英文名**:BGP route reflector and confederation
|
|
@@ -1427,6 +1564,9 @@ ensp up ospf-single.topo
|
|
|
1427
1564
|
生成:`ensp preset bgp-route-reflector --topo bgp-route-reflector.topo`
|
|
1428
1565
|
- 验收:`ensp verify bgp-route-reflector --topology bgp-route-reflector.topo`(2 条断言)
|
|
1429
1566
|
|
|
1567
|
+
**教材章节**
|
|
1568
|
+
- HCIP · BGP 实验(手册第 89 页)
|
|
1569
|
+
|
|
1430
1570
|
### ipsec-vpn — IPsec VPN
|
|
1431
1571
|
|
|
1432
1572
|
- **英文名**:IPsec VPN
|
|
@@ -1510,6 +1650,9 @@ ensp up ospf-single.topo
|
|
|
1510
1650
|
生成:`ensp preset multicast-pim-sm --topo multicast-pim-sm.topo`
|
|
1511
1651
|
- 验收:`ensp verify multicast-pim-sm --topology multicast-pim-sm.topo`(2 条断言)
|
|
1512
1652
|
|
|
1653
|
+
**教材章节**
|
|
1654
|
+
- HCIP · 组播实验(手册第 179 页)
|
|
1655
|
+
|
|
1513
1656
|
### firewall-zones — 防火墙安全域与策略
|
|
1514
1657
|
|
|
1515
1658
|
- **英文名**:Firewall zones and security policies
|
|
@@ -1553,6 +1696,9 @@ ensp up ospf-single.topo
|
|
|
1553
1696
|
生成:`ensp preset firewall-zones --topo firewall-zones.topo`
|
|
1554
1697
|
- 验收:`ensp verify firewall-zones --topology firewall-zones.topo`(无专门断言,逐条跑本场景的验证命令)
|
|
1555
1698
|
|
|
1699
|
+
**教材章节**
|
|
1700
|
+
- HCIP · 防火墙技术实验(手册第 208 页)
|
|
1701
|
+
|
|
1556
1702
|
### bfd-fast-convergence — BFD 快速故障检测
|
|
1557
1703
|
|
|
1558
1704
|
- **英文名**:BFD fast failure detection
|
|
@@ -1596,6 +1742,10 @@ ensp up ospf-single.topo
|
|
|
1596
1742
|
生成:`ensp preset bfd-fast-convergence --topo bfd-fast-convergence.topo`
|
|
1597
1743
|
- 验收:`ensp verify bfd-fast-convergence --topology bfd-fast-convergence.topo`(无专门断言,逐条跑本场景的验证命令)
|
|
1598
1744
|
|
|
1745
|
+
**教材章节**
|
|
1746
|
+
- HCIP · IGP 高级特性实验(手册第 6 页)
|
|
1747
|
+
- HCIE · IPv4 路由技术(手册第 10 页)
|
|
1748
|
+
|
|
1599
1749
|
### mpls-basic — MPLS 标签转发
|
|
1600
1750
|
|
|
1601
1751
|
- **英文名**:MPLS label switching
|
|
@@ -1641,6 +1791,13 @@ ensp up ospf-single.topo
|
|
|
1641
1791
|
生成:`ensp preset mpls-basic --topo mpls-basic.topo`
|
|
1642
1792
|
- 验收:`ensp verify mpls-basic --topology mpls-basic.topo`(2 条断言)
|
|
1643
1793
|
|
|
1794
|
+
**教材章节**
|
|
1795
|
+
- HCIP · VXLAN 与EVPN 实验(手册第 38 页)
|
|
1796
|
+
- HCIP · BGP/MPLS IP VPN 实验(手册第 105 页)
|
|
1797
|
+
- HCIE · MPLS VPN(手册第 52 页)
|
|
1798
|
+
- HCIE · EVPN(手册第 71 页)
|
|
1799
|
+
- HCIE · SR-MPLS 实验(手册第 336 页)
|
|
1800
|
+
|
|
1644
1801
|
### mpls-l3vpn — BGP/MPLS L3VPN
|
|
1645
1802
|
|
|
1646
1803
|
- **英文名**:BGP/MPLS L3VPN
|
|
@@ -1688,6 +1845,12 @@ ensp up ospf-single.topo
|
|
|
1688
1845
|
生成:`ensp preset mpls-l3vpn --topo mpls-l3vpn.topo`
|
|
1689
1846
|
- 验收:`ensp verify mpls-l3vpn --topology mpls-l3vpn.topo`(2 条断言)
|
|
1690
1847
|
|
|
1848
|
+
**教材章节**
|
|
1849
|
+
- HCIP · BGP/MPLS IP VPN 实验(手册第 105 页)
|
|
1850
|
+
- HCIE · MPLS VPN(手册第 52 页)
|
|
1851
|
+
- HCIE · SR-MPLS 实验(手册第 336 页)
|
|
1852
|
+
- HCIE · SRv6 实验(手册第 399 页)
|
|
1853
|
+
|
|
1691
1854
|
### dual-homed-isp — 双出口多运营商选路
|
|
1692
1855
|
|
|
1693
1856
|
- **英文名**:Dual-homed ISP egress
|
|
@@ -1729,6 +1892,9 @@ ensp up ospf-single.topo
|
|
|
1729
1892
|
生成:`ensp preset dual-homed-isp --topo dual-homed-isp.topo`
|
|
1730
1893
|
- 验收:`ensp verify dual-homed-isp --topology dual-homed-isp.topo`(无专门断言,逐条跑本场景的验证命令)
|
|
1731
1894
|
|
|
1895
|
+
**教材章节**
|
|
1896
|
+
- HCIE · 广域互联网络部署(手册第 257 页)
|
|
1897
|
+
|
|
1732
1898
|
### firewall-hrp — 防火墙双机热备(HRP)
|
|
1733
1899
|
|
|
1734
1900
|
- **英文名**:Firewall HA with HRP
|
|
@@ -1819,6 +1985,12 @@ ensp up ospf-single.topo
|
|
|
1819
1985
|
生成:`ensp preset spine-leaf-vxlan --topo spine-leaf-vxlan.topo`
|
|
1820
1986
|
- 验收:`ensp verify spine-leaf-vxlan --topology spine-leaf-vxlan.topo`(无专门断言,逐条跑本场景的验证命令)
|
|
1821
1987
|
|
|
1988
|
+
**教材章节**
|
|
1989
|
+
- HCIP · VXLAN 与EVPN 实验(手册第 38 页)
|
|
1990
|
+
- HCIE · EVPN(手册第 71 页)
|
|
1991
|
+
- HCIE · VXLAN 实验(手册第 111 页)
|
|
1992
|
+
- HCIE · VXLAN 虚拟化园区部署(手册第 153 页)
|
|
1993
|
+
|
|
1822
1994
|
### ipsec-gre-tunnel — IPsec 与 GRE 隧道组合
|
|
1823
1995
|
|
|
1824
1996
|
- **英文名**:IPsec over GRE and tunnel backup
|
|
@@ -1861,6 +2033,10 @@ ensp up ospf-single.topo
|
|
|
1861
2033
|
生成:`ensp preset ipsec-gre-tunnel --topo ipsec-gre-tunnel.topo`
|
|
1862
2034
|
- 验收:`ensp verify ipsec-gre-tunnel --topology ipsec-gre-tunnel.topo`(无专门断言,逐条跑本场景的验证命令)
|
|
1863
2035
|
|
|
2036
|
+
**教材章节**
|
|
2037
|
+
- HCIE · MPLS VPN(手册第 52 页)
|
|
2038
|
+
- HCIE · 广域互联网络部署(手册第 257 页)
|
|
2039
|
+
|
|
1864
2040
|
### wlan-roaming — WLAN 漫游与 AC 高可用
|
|
1865
2041
|
|
|
1866
2042
|
- **英文名**:WLAN roaming and AC redundancy
|
|
@@ -1900,6 +2076,11 @@ ensp up ospf-single.topo
|
|
|
1900
2076
|
生成:`ensp preset wlan-roaming --topo wlan-roaming.topo`
|
|
1901
2077
|
- 验收:`ensp verify wlan-roaming --topology wlan-roaming.topo`(无专门断言,逐条跑本场景的验证命令)
|
|
1902
2078
|
|
|
2079
|
+
**教材章节**
|
|
2080
|
+
- HCIA · WAC+FIT AP 组网实验(手册第 164 页)
|
|
2081
|
+
- HCIP · WLAN 实验(手册第 242 页)
|
|
2082
|
+
- HCIE · VXLAN 虚拟化园区部署(手册第 153 页)
|
|
2083
|
+
|
|
1903
2084
|
### campus-network — 园区网综合(双核心 + 接入 + 出口)
|
|
1904
2085
|
|
|
1905
2086
|
- **英文名**:Campus network (dual core, access, edge)
|
|
@@ -1950,3 +2131,6 @@ ensp up ospf-single.topo
|
|
|
1950
2131
|
|
|
1951
2132
|
生成:`ensp preset campus-network --topo campus-network.topo`
|
|
1952
2133
|
- 验收:`ensp verify campus-network --topology campus-network.topo`(无专门断言,逐条跑本场景的验证命令)
|
|
2134
|
+
|
|
2135
|
+
**教材章节**
|
|
2136
|
+
- HCIA · 园区网络综合实验(手册第 220 页)
|
package/docs/plugin-detail.en.md
CHANGED
|
@@ -10,8 +10,7 @@ Automation for Huawei eNSP: generate topologies, boot devices, push configuratio
|
|
|
10
10
|
- Checks that every device image is installed before launching, and names the missing component instead of letting eNSP open the topology and quit silently
|
|
11
11
|
- Runs seven preflight checks (images, ports, memory, input injection), each with a stated fix, then verifies the scenario against what the devices actually report
|
|
12
12
|
- Must run elevated, with the eNSP window visible (see the run-permissions section in the repository documentation)
|
|
13
|
+
- Each scenario points at the vendor manual chapter that teaches it, with that chapter's goals and the display commands it uses to prove the result; the index is searchable
|
|
13
14
|
- Usable as a CLI, an MCP server, or a DeepSeek Harness plugin
|
|
14
15
|
|
|
15
|
-
Scroll down and open "dsh-ensp>" under the included components to reach its settings.
|
|
16
|
-
|
|
17
16
|
Full documentation: [repository](https://github.com/lizi600jin/dsh-ensp#readme).
|
package/docs/plugin-detail.zh.md
CHANGED
|
@@ -10,8 +10,7 @@
|
|
|
10
10
|
- 启动前检查机型镜像是否齐全,缺镜像时说明缺失组件,避免 eNSP 打开后静默退出
|
|
11
11
|
- 提供七项环境自检(镜像、端口、内存、输入注入能力),逐条给出结论与修法;配置下发后按场景断言验收
|
|
12
12
|
- 需要以管理员身份运行,并保持 eNSP 窗口可见(详见仓库文档“运行权限”)
|
|
13
|
+
- 场景附带厂商实验手册的章节索引:该章的学习目标与官方用来验证结果的 display 命令,可按关键词检索
|
|
13
14
|
- 提供 CLI、MCP Server 与 DeepSeek Harness 插件三种调用方式
|
|
14
15
|
|
|
15
|
-
向下翻页后点击“包含的组件”内的“dsh-ensp>”进入设置界面。
|
|
16
|
-
|
|
17
16
|
完整说明见 [仓库文档](https://github.com/lizi600jin/dsh-ensp#readme)。
|
package/locale/en.json
ADDED
package/locale/zh.json
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-ensp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Automate Huawei eNSP labs: generate .topo files, start and stop devices, and push configuration one command at a time with per-command error reporting.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"dsh",
|
|
@@ -27,7 +27,9 @@
|
|
|
27
27
|
"./provision": "./src/core/provision.mjs",
|
|
28
28
|
"./presets": "./src/core/presets.mjs",
|
|
29
29
|
"./calibrate": "./src/core/calibrate.mjs",
|
|
30
|
-
"./mcp": "./src/mcp/server.mjs"
|
|
30
|
+
"./mcp": "./src/mcp/server.mjs",
|
|
31
|
+
"./package.json": "./package.json",
|
|
32
|
+
"./locale/*.json": "./locale/*.json"
|
|
31
33
|
},
|
|
32
34
|
"bin": {
|
|
33
35
|
"ensp": "src/cli/ensp.mjs",
|
|
@@ -35,6 +37,7 @@
|
|
|
35
37
|
},
|
|
36
38
|
"files": [
|
|
37
39
|
"src",
|
|
40
|
+
"locale/*.json",
|
|
38
41
|
"docs",
|
|
39
42
|
"scripts",
|
|
40
43
|
"cordis.patch.yml",
|
|
@@ -48,14 +51,19 @@
|
|
|
48
51
|
"probe": "node src/cli/ensp.mjs probe",
|
|
49
52
|
"docs": "node scripts/gen-scenarios-doc.mjs",
|
|
50
53
|
"docs:check": "node scripts/gen-scenarios-doc.mjs --check",
|
|
51
|
-
"knowledge": "node scripts/gen-knowledge.mjs"
|
|
54
|
+
"knowledge": "node scripts/gen-knowledge.mjs",
|
|
55
|
+
"curriculum": "node scripts/gen-curriculum.mjs"
|
|
52
56
|
},
|
|
53
57
|
"engines": {
|
|
54
|
-
"node": ">=18"
|
|
58
|
+
"node": ">=18",
|
|
59
|
+
"dsh": ">=0.2.0 <0.3.0"
|
|
55
60
|
},
|
|
56
61
|
"dsh": {
|
|
57
62
|
"bundle": {
|
|
58
|
-
"patch": "./cordis.patch.yml"
|
|
63
|
+
"patch": "./cordis.patch.yml",
|
|
64
|
+
"platforms": [
|
|
65
|
+
"win32"
|
|
66
|
+
]
|
|
59
67
|
}
|
|
60
68
|
},
|
|
61
69
|
"author": {
|