dsh-ensp 0.1.6 → 0.1.8
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.md +56 -4
- package/docs/SCENARIOS.md +1410 -2
- package/docs/UI-ANCHORS.md +52 -0
- package/docs/plugin-detail.en.md +3 -2
- package/docs/plugin-detail.zh.md +3 -2
- package/package.json +70 -68
- package/scripts/gen-scenarios-doc.mjs +173 -0
- package/src/cli/ensp.mjs +462 -410
- package/src/core/build.mjs +218 -299
- package/src/core/compat.mjs +226 -0
- package/src/core/index.mjs +35 -3
- package/src/core/labs.mjs +1019 -0
- package/src/core/launcher.mjs +884 -725
- package/src/core/models.mjs +212 -0
- package/src/core/presets.mjs +583 -0
- package/src/core/topology.mjs +259 -333
- package/src/core/version.mjs +22 -0
- package/src/dsh/index.mjs +625 -595
- package/src/mcp/server.mjs +438 -406
package/docs/SCENARIOS.md
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
# 场景预设(
|
|
1
|
+
# 场景预设(50 个)
|
|
2
2
|
|
|
3
|
-
由 `src/core/presets.mjs` 生成,勿手改。
|
|
3
|
+
由 `scripts/gen-scenarios-doc.mjs` 从 `src/core/presets.mjs` 与 `src/core/labs.mjs` 生成,勿手改。
|
|
4
4
|
|
|
5
5
|
每个场景只给**方向、顺序、验证命令**,不给成品命令块。
|
|
6
6
|
|
|
7
|
+
其中 50 个带拓扑蓝图,可直接生成 `.topo`:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
ensp preset ospf-single --topo ospf-single.topo
|
|
11
|
+
ensp up ospf-single.topo
|
|
12
|
+
```
|
|
13
|
+
|
|
7
14
|
## 基础
|
|
8
15
|
|
|
9
16
|
### vlan-access — VLAN 与 Access 端口
|
|
@@ -26,6 +33,13 @@
|
|
|
26
33
|
- 端口默认是 hybrid,直接设 PVID 不会让 VLAN 生效,必须先改 access
|
|
27
34
|
- trunk 口不要设 access,否则会把上行打断
|
|
28
35
|
|
|
36
|
+
**拓扑蓝图**
|
|
37
|
+
|
|
38
|
+
- 设备:SW1 (S5700)、PC1 (PC)、PC2 (PC)、PC3 (PC)
|
|
39
|
+
- 链路:3 条
|
|
40
|
+
|
|
41
|
+
生成:`ensp preset vlan-access --topo vlan-access.topo`
|
|
42
|
+
|
|
29
43
|
### trunk-interconnect — Trunk 互联与多 VLAN 透传
|
|
30
44
|
|
|
31
45
|
- **英文名**:Trunk interconnect
|
|
@@ -46,6 +60,13 @@
|
|
|
46
60
|
- trunk 未放行目标 VLAN 时静默丢帧,无报错
|
|
47
61
|
- PVID 与 access VLAN 混淆会导致本征 VLAN 错乱
|
|
48
62
|
|
|
63
|
+
**拓扑蓝图**
|
|
64
|
+
|
|
65
|
+
- 设备:SW1 (S5700)、SW2 (S5700)、PC1 (PC)、PC2 (PC)
|
|
66
|
+
- 链路:3 条
|
|
67
|
+
|
|
68
|
+
生成:`ensp preset trunk-interconnect --topo trunk-interconnect.topo`
|
|
69
|
+
|
|
49
70
|
### vlanif-routing — VLAN 间路由(三层交换机)
|
|
50
71
|
|
|
51
72
|
- **英文名**:Inter-VLAN routing with a layer-3 switch
|
|
@@ -65,6 +86,20 @@
|
|
|
65
86
|
- Vlanif 的 up 依赖该 VLAN 下至少一个 up 的端口
|
|
66
87
|
- 忘记给 PC 配网关则跨网段必然不通
|
|
67
88
|
|
|
89
|
+
**拓扑蓝图**
|
|
90
|
+
|
|
91
|
+
- 设备:SW1 (S5700)、SW2 (S5700)、PC1 (PC)、PC2 (PC)
|
|
92
|
+
- 链路:3 条
|
|
93
|
+
|
|
94
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
95
|
+
| --- | --- | --- | --- |
|
|
96
|
+
| SW1 | Vlanif10 | 192.168.10.254/24 | VLAN10 网关 |
|
|
97
|
+
| SW2 | Vlanif20 | 192.168.20.254/24 | VLAN20 网关 |
|
|
98
|
+
| SW1 | Vlanif200 | 10.0.12.1/24 | 互联 VLAN200 |
|
|
99
|
+
| SW2 | Vlanif200 | 10.0.12.2/24 | 互联 VLAN200 |
|
|
100
|
+
|
|
101
|
+
生成:`ensp preset vlanif-routing --topo vlanif-routing.topo`
|
|
102
|
+
|
|
68
103
|
### stp-rstp — STP / RSTP 生成树
|
|
69
104
|
|
|
70
105
|
- **英文名**:STP and RSTP
|
|
@@ -86,6 +121,19 @@
|
|
|
86
121
|
- 所有交换机优先级相同则靠 MAC 选根桥,结果不可控
|
|
87
122
|
- 边缘端口未开 edged-port 会让接终端时反复重收敛
|
|
88
123
|
|
|
124
|
+
**拓扑蓝图**
|
|
125
|
+
|
|
126
|
+
- 设备:SW1 (S5700)、SW2 (S5700)、SW3 (S5700)、PC1 (PC)、PC2 (PC)
|
|
127
|
+
- 链路:5 条
|
|
128
|
+
|
|
129
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
130
|
+
| --- | --- | --- | --- |
|
|
131
|
+
| SW1 | Vlanif10 | 192.168.10.251/24 | 管理地址 |
|
|
132
|
+
| SW2 | Vlanif10 | 192.168.10.252/24 | 管理地址 |
|
|
133
|
+
| SW3 | Vlanif10 | 192.168.10.253/24 | 管理地址 |
|
|
134
|
+
|
|
135
|
+
生成:`ensp preset stp-rstp --topo stp-rstp.topo`
|
|
136
|
+
|
|
89
137
|
### link-aggregation — 链路聚合 Eth-Trunk
|
|
90
138
|
|
|
91
139
|
- **英文名**:Link aggregation
|
|
@@ -106,6 +154,103 @@
|
|
|
106
154
|
- 两端模式不一致(lacp-static vs manual)聚合不 up
|
|
107
155
|
- 成员口速率/双工不一致会只有部分成员 Selected
|
|
108
156
|
|
|
157
|
+
**拓扑蓝图**
|
|
158
|
+
|
|
159
|
+
- 设备:SW1 (S5700)、SW2 (S5700)、PC1 (PC)、PC2 (PC)
|
|
160
|
+
- 链路:4 条
|
|
161
|
+
|
|
162
|
+
生成:`ensp preset link-aggregation --topo link-aggregation.topo`
|
|
163
|
+
|
|
164
|
+
### port-security — 端口安全与 MAC 限制
|
|
165
|
+
|
|
166
|
+
- **英文名**:Port security and MAC limits
|
|
167
|
+
- **来源**:eNSP 常规实验
|
|
168
|
+
- **设备**:1 台交换机 + 2 PC + 1 台非法终端
|
|
169
|
+
- **目标**:限制端口可学习的 MAC 数量,非法接入时丢包、告警或关闭端口
|
|
170
|
+
|
|
171
|
+
**配置顺序**
|
|
172
|
+
|
|
173
|
+
1. **开启端口安全** — 接口下 port-security enable,默认只允许 1 个 MAC
|
|
174
|
+
- 验证:`display port-security`
|
|
175
|
+
2. **选择学习方式** — sticky 粘滞学习自动转成静态表项;或手工 mac-address static 绑定
|
|
176
|
+
3. **设违规动作** — protect 只丢包、restrict 丢包并告警、shutdown 直接关闭端口
|
|
177
|
+
4. **验证** — 换一台 PC 接入,观察丢包/告警/端口 down 是否符合预期
|
|
178
|
+
|
|
179
|
+
**易错点**
|
|
180
|
+
|
|
181
|
+
- 默认动作是 protect,只丢包不告警,容易误判为没生效
|
|
182
|
+
- 粘滞 MAC 已写入配置后换设备接入会学不到新 MAC,需先清 port-security mac-address sticky
|
|
183
|
+
- shutdown 动作需 error-down auto-recovery 或手工 undo shutdown 才能恢复
|
|
184
|
+
|
|
185
|
+
**拓扑蓝图**
|
|
186
|
+
|
|
187
|
+
- 设备:SW1 (S5700)、PC1 (PC)、PC2 (PC)
|
|
188
|
+
- 链路:2 条
|
|
189
|
+
|
|
190
|
+
生成:`ensp preset port-security --topo port-security.topo`
|
|
191
|
+
|
|
192
|
+
### port-isolation — 端口隔离与 MUX VLAN
|
|
193
|
+
|
|
194
|
+
- **英文名**:Port isolation and MUX VLAN
|
|
195
|
+
- **来源**:eNSP 常规实验
|
|
196
|
+
- **设备**:1 台交换机 + 3 PC
|
|
197
|
+
- **目标**:同一 VLAN 内用户互不通信,但都能访问网关与服务器
|
|
198
|
+
|
|
199
|
+
**配置顺序**
|
|
200
|
+
|
|
201
|
+
1. **配端口隔离组** — 接入端口加入 port-isolate group,同组之间二层不通
|
|
202
|
+
- 验证:`display port-isolate group`
|
|
203
|
+
2. **上行口与服务器口不入组** — 隔离只作用于同组端口,未入组的口仍可双向访问
|
|
204
|
+
3. **需要跨设备隔离时用 MUX VLAN** — principal VLAN 对接上行,separate VLAN 完全隔离,group VLAN 内互通
|
|
205
|
+
4. **验证** — 同组 PC 互 ping 不通,各自都能 ping 网关
|
|
206
|
+
|
|
207
|
+
**易错点**
|
|
208
|
+
|
|
209
|
+
- 端口隔离只在单台交换机内生效,跨设备要靠 VLAN 划分或 MUX VLAN
|
|
210
|
+
- MUX VLAN 中 separate 与 group 的语义容易配反,导致该通的通不了、该隔离的没隔离
|
|
211
|
+
- 把上行口也加进隔离组会切断所有人的网关访问
|
|
212
|
+
|
|
213
|
+
**拓扑蓝图**
|
|
214
|
+
|
|
215
|
+
- 设备:SW1 (S5700)、PC1 (PC)、PC2 (PC)、PC3 (PC)
|
|
216
|
+
- 链路:3 条
|
|
217
|
+
|
|
218
|
+
生成:`ensp preset port-isolation --topo port-isolation.topo`
|
|
219
|
+
|
|
220
|
+
### super-vlan — VLAN 聚合(Super-VLAN)
|
|
221
|
+
|
|
222
|
+
- **英文名**:Super-VLAN and sub-VLANs
|
|
223
|
+
- **来源**:eNSP 常规实验
|
|
224
|
+
- **设备**:1 台三层交换机 + PC
|
|
225
|
+
- **目标**:多个子 VLAN 共用一个网关地址,节省 IP 网段
|
|
226
|
+
|
|
227
|
+
**配置顺序**
|
|
228
|
+
|
|
229
|
+
1. **建子 VLAN** — 子 VLAN 只作二层划分,不建 Vlanif
|
|
230
|
+
2. **建 Super-VLAN 并关联子 VLAN** — aggregate-vlan 指定主 VLAN,access-vlan 列出子 VLAN
|
|
231
|
+
- 验证:`display vlan`
|
|
232
|
+
3. **只在 Super-VLAN 上建 Vlanif** — 该地址同时是所有子 VLAN 的网关
|
|
233
|
+
4. **验证** — 不同子 VLAN 的主机同网段,可直接互通
|
|
234
|
+
|
|
235
|
+
**易错点**
|
|
236
|
+
|
|
237
|
+
- Super-VLAN 的 Vlanif 上不能再挂物理 access 口,否则冲突
|
|
238
|
+
- 给子 VLAN 也建 Vlanif 会直接报错或造成地址冲突
|
|
239
|
+
- Super-VLAN 本身不做隔离,需要隔离要再配合端口隔离
|
|
240
|
+
|
|
241
|
+
**拓扑蓝图**
|
|
242
|
+
|
|
243
|
+
- 设备:SW1 (S5700)、PC1 (PC)、PC2 (PC)、PC3 (PC)
|
|
244
|
+
- 链路:3 条
|
|
245
|
+
|
|
246
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
247
|
+
| --- | --- | --- | --- |
|
|
248
|
+
| SW1 | Vlanif10 | 192.168.10.254/24 | super-VLAN 网关 |
|
|
249
|
+
| SW1 | Vlanif20 | 192.168.20.254/24 | sub-VLAN 20 |
|
|
250
|
+
| SW1 | Vlanif30 | 192.168.30.254/24 | sub-VLAN 30 |
|
|
251
|
+
|
|
252
|
+
生成:`ensp preset super-vlan --topo super-vlan.topo`
|
|
253
|
+
|
|
109
254
|
### static-route — 静态路由与默认路由
|
|
110
255
|
|
|
111
256
|
- **英文名**:Static and default routes
|
|
@@ -128,6 +273,20 @@
|
|
|
128
273
|
- 下一跳必须直连可达,否则路由不进路由表(inactive)
|
|
129
274
|
- 掩码写错会让目的网段归一化成别的网段,形成意外覆盖或冲突
|
|
130
275
|
|
|
276
|
+
**拓扑蓝图**
|
|
277
|
+
|
|
278
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、PC1 (PC)、PC2 (PC)
|
|
279
|
+
- 链路:3 条
|
|
280
|
+
|
|
281
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
282
|
+
| --- | --- | --- | --- |
|
|
283
|
+
| R1 | GigabitEthernet0/0/1 | 192.168.1.254/24 | PC1 网关 |
|
|
284
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | 互联 |
|
|
285
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/24 | 互联 |
|
|
286
|
+
| R2 | GigabitEthernet0/0/1 | 192.168.2.254/24 | PC2 网关 |
|
|
287
|
+
|
|
288
|
+
生成:`ensp preset static-route --topo static-route.topo`
|
|
289
|
+
|
|
131
290
|
### rip — RIPv1 / RIPv2
|
|
132
291
|
|
|
133
292
|
- **英文名**:RIP versions 1 and 2
|
|
@@ -148,6 +307,22 @@
|
|
|
148
307
|
- v1 不做子网掩码,遇到不连续子网会出错
|
|
149
308
|
- network 写错网段则接口不参与,邻居起不来
|
|
150
309
|
|
|
310
|
+
**拓扑蓝图**
|
|
311
|
+
|
|
312
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、R3 (AR2220)、PC1 (PC)、PC2 (PC)
|
|
313
|
+
- 链路:4 条
|
|
314
|
+
|
|
315
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
316
|
+
| --- | --- | --- | --- |
|
|
317
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | 互联 R2 |
|
|
318
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/24 | |
|
|
319
|
+
| R2 | GigabitEthernet0/0/1 | 10.0.23.2/24 | 互联 R3 |
|
|
320
|
+
| R3 | GigabitEthernet0/0/0 | 10.0.23.3/24 | |
|
|
321
|
+
| R1 | GigabitEthernet0/0/1 | 192.168.1.254/24 | PC1 网关 |
|
|
322
|
+
| R3 | GigabitEthernet0/0/1 | 192.168.3.254/24 | PC2 网关 |
|
|
323
|
+
|
|
324
|
+
生成:`ensp preset rip --topo rip.topo`
|
|
325
|
+
|
|
151
326
|
### ospf-single — OSPF 单区域
|
|
152
327
|
|
|
153
328
|
- **英文名**:OSPF single area
|
|
@@ -170,6 +345,25 @@
|
|
|
170
345
|
- 反掩符写错(写成子网掩码)会宣告错网段
|
|
171
346
|
- 邻居卡在 2-Way 通常是 DR 选举正常但网络类型不匹配
|
|
172
347
|
|
|
348
|
+
**拓扑蓝图**
|
|
349
|
+
|
|
350
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、R3 (AR2220)
|
|
351
|
+
- 链路:3 条
|
|
352
|
+
|
|
353
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
354
|
+
| --- | --- | --- | --- |
|
|
355
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | 互联 R2 |
|
|
356
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/24 | |
|
|
357
|
+
| R2 | GigabitEthernet0/0/1 | 10.0.23.2/24 | 互联 R3 |
|
|
358
|
+
| R3 | GigabitEthernet0/0/0 | 10.0.23.3/24 | |
|
|
359
|
+
| R1 | GigabitEthernet0/0/1 | 10.0.13.1/24 | 互联 R3 |
|
|
360
|
+
| R3 | GigabitEthernet0/0/1 | 10.0.13.3/24 | |
|
|
361
|
+
| R1 | LoopBack0 | 1.1.1.1/32 | router-id 与业务网段 |
|
|
362
|
+
| R2 | LoopBack0 | 2.2.2.2/32 | |
|
|
363
|
+
| R3 | LoopBack0 | 3.3.3.3/32 | |
|
|
364
|
+
|
|
365
|
+
生成:`ensp preset ospf-single --topo ospf-single.topo`
|
|
366
|
+
|
|
173
367
|
### dhcp — DHCP 服务(含中继)
|
|
174
368
|
|
|
175
369
|
- **英文名**:DHCP server and relay
|
|
@@ -191,6 +385,18 @@
|
|
|
191
385
|
- 地址池建了但接口没绑 dhcp select,客户端拿不到地址(静默失败)
|
|
192
386
|
- 中继场景下 DHCP 服务器必须有回程路由到客户端网段
|
|
193
387
|
|
|
388
|
+
**拓扑蓝图**
|
|
389
|
+
|
|
390
|
+
- 设备:R1 (AR2220)、SW1 (S5700)、PC1 (PC)、PC2 (PC)
|
|
391
|
+
- 链路:3 条
|
|
392
|
+
|
|
393
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
394
|
+
| --- | --- | --- | --- |
|
|
395
|
+
| R1 | GigabitEthernet0/0/0 | 192.168.10.254/24 | 地址池网关 |
|
|
396
|
+
| R1 | LoopBack0 | 1.1.1.1/32 | router-id |
|
|
397
|
+
|
|
398
|
+
生成:`ensp preset dhcp --topo dhcp.topo`
|
|
399
|
+
|
|
194
400
|
### acl-filter — ACL 访问控制
|
|
195
401
|
|
|
196
402
|
- **英文名**:ACL filtering
|
|
@@ -211,6 +417,18 @@
|
|
|
211
417
|
- 反掩码(通配符)写错会连带放行/拒绝相邻网段
|
|
212
418
|
- 方向选反是静默失效,接口计数不增长
|
|
213
419
|
|
|
420
|
+
**拓扑蓝图**
|
|
421
|
+
|
|
422
|
+
- 设备:R1 (AR2220)、SW1 (S5700)、PC1 (PC)、PC2 (PC)
|
|
423
|
+
- 链路:3 条
|
|
424
|
+
|
|
425
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
426
|
+
| --- | --- | --- | --- |
|
|
427
|
+
| R1 | GigabitEthernet0/0/0 | 192.168.10.254/24 | PC1 网关,ACL 挂这里 |
|
|
428
|
+
| R1 | GigabitEthernet0/0/0 | 192.168.20.253/24 | 同接口从地址 |
|
|
429
|
+
|
|
430
|
+
生成:`ensp preset acl-filter --topo acl-filter.topo`
|
|
431
|
+
|
|
214
432
|
### aaa-local — 本地 AAA 与设备登录
|
|
215
433
|
|
|
216
434
|
- **英文名**:Local AAA and device login
|
|
@@ -232,6 +450,95 @@
|
|
|
232
450
|
- protocol inbound 未改 ssh 时 telnet 仍可登录
|
|
233
451
|
- ACL 把管理网段自己挡掉会锁死远程登录
|
|
234
452
|
|
|
453
|
+
**拓扑蓝图**
|
|
454
|
+
|
|
455
|
+
- 设备:R1 (AR2220)、ADMIN (PC)
|
|
456
|
+
- 链路:1 条
|
|
457
|
+
|
|
458
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
459
|
+
| --- | --- | --- | --- |
|
|
460
|
+
| R1 | GigabitEthernet0/0/1 | 192.168.1.254/24 | 管理网段 |
|
|
461
|
+
|
|
462
|
+
生成:`ensp preset aaa-local --topo aaa-local.topo`
|
|
463
|
+
|
|
464
|
+
### vrrp-basics — VRRP 网关冗余
|
|
465
|
+
|
|
466
|
+
- **英文名**:VRRP gateway redundancy
|
|
467
|
+
- **来源**:eNSP 常规实验
|
|
468
|
+
- **设备**:2 台三层交换机/路由器 + PC
|
|
469
|
+
- **目标**:两台设备共用一个虚拟网关,主设备故障时秒级切换
|
|
470
|
+
|
|
471
|
+
**配置顺序**
|
|
472
|
+
|
|
473
|
+
1. **两台设备同网段同 Vlanif** — 虚拟网关地址在同一个二层域内才有效
|
|
474
|
+
- 验证:`display ip interface brief`
|
|
475
|
+
2. **建 VRRP 组** — 两端 vrid 必须一致;虚拟 IP 不能与任何真实接口地址冲突
|
|
476
|
+
- 验证:`display vrrp`
|
|
477
|
+
3. **定主备** — 优先级大者为主(默认 100,最大 254);地址拥有者优先级 255
|
|
478
|
+
4. **加认证** — 两端 authentication-mode 与密钥必须一致,否则报文被丢弃、双主
|
|
479
|
+
- 验证:`display vrrp verbose`
|
|
480
|
+
5. **加 track 上行** — track interface 上行口,主设备上行断则主动降优先级让备接管
|
|
481
|
+
- 验证:`display vrrp`
|
|
482
|
+
|
|
483
|
+
**易错点**
|
|
484
|
+
|
|
485
|
+
- 两端 vrid 或认证不一致会各自成为 Master,形成双主且无任何报错
|
|
486
|
+
- 只配优先级不配 track,主设备上行断了仍占着虚拟 MAC,业务全断
|
|
487
|
+
- track 的 reduced 值太大会让备设备比主还低,切换后无法回切
|
|
488
|
+
- 虚拟 IP 配成某台设备的真实接口地址会报错
|
|
489
|
+
|
|
490
|
+
**拓扑蓝图**
|
|
491
|
+
|
|
492
|
+
- 设备:SW1 (S5700)、SW2 (S5700)、ACC (S5700)、PC1 (PC)
|
|
493
|
+
- 链路:3 条
|
|
494
|
+
|
|
495
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
496
|
+
| --- | --- | --- | --- |
|
|
497
|
+
| SW1 | Vlanif10 | 192.168.10.252/24 | VRRP 主,虚拟地址 .254 |
|
|
498
|
+
| SW2 | Vlanif10 | 192.168.10.253/24 | VRRP 备 |
|
|
499
|
+
| SW1 | Vlanif100 | 10.0.100.1/24 | 上行互联 |
|
|
500
|
+
| SW2 | Vlanif100 | 10.0.100.2/24 | 上行互联 |
|
|
501
|
+
|
|
502
|
+
生成:`ensp preset vrrp-basics --topo vrrp-basics.topo`
|
|
503
|
+
|
|
504
|
+
### network-management — 网络管理(SNMP / NTP / Syslog)
|
|
505
|
+
|
|
506
|
+
- **英文名**:Network management with SNMP, NTP and syslog
|
|
507
|
+
- **来源**:eNSP 常规实验
|
|
508
|
+
- **设备**:2~3 台设备 + 1 台管理服务器
|
|
509
|
+
- **目标**:设备可被网管平台监控、时间同步、日志集中收集
|
|
510
|
+
|
|
511
|
+
**配置顺序**
|
|
512
|
+
|
|
513
|
+
1. **SNMP** — snmp-agent 开团本,配 v2c community 或 v3 用户,ACL 限源
|
|
514
|
+
- 验证:`display snmp-agent sys-info`
|
|
515
|
+
2. **NTP** — 客户端 ntp-service unicast-server 指向时钟源;层级用 stratum 区分
|
|
516
|
+
- 验证:`display ntp status`
|
|
517
|
+
3. **Syslog** — info-center loghost 指定日志服务器,别把 info-center 整体关掉
|
|
518
|
+
- 验证:`display info-center`
|
|
519
|
+
4. **验证** — 网管能取到接口流量;设备时间与服务器一致;服务器收到日志
|
|
520
|
+
|
|
521
|
+
**易错点**
|
|
522
|
+
|
|
523
|
+
- undo info-center enable 是关掉整个日志系统,连本地缓存都没了,与日志审计要求直接冲突
|
|
524
|
+
- SNMP community 用 public/private 且不限源,等于把设备交出去
|
|
525
|
+
- NTP 单向可达(服务器回包被 ACL 挡)时同步不上,display ntp status 显示 unsynchronized
|
|
526
|
+
- 日志服务器地址不可达时设备只在本地缓冲,缓冲满了就丢,没有任何提示
|
|
527
|
+
|
|
528
|
+
**拓扑蓝图**
|
|
529
|
+
|
|
530
|
+
- 设备:R1 (AR2220)、SW1 (S5700)、NMS (PC)
|
|
531
|
+
- 链路:2 条
|
|
532
|
+
|
|
533
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
534
|
+
| --- | --- | --- | --- |
|
|
535
|
+
| R1 | GigabitEthernet0/0/0 | 10.1.30.254/24 | NMS 网段 |
|
|
536
|
+
| R1 | LoopBack0 | 1.1.1.1/32 | 设备管理地址 |
|
|
537
|
+
| SW1 | Vlanif30 | 10.1.30.2/24 | 设备管理地址 |
|
|
538
|
+
|
|
539
|
+
生成:`ensp preset network-management --topo network-management.topo`
|
|
540
|
+
|
|
541
|
+
|
|
235
542
|
## 进阶
|
|
236
543
|
|
|
237
544
|
### mstp-load-balance — MSTP 多实例负载分担
|
|
@@ -255,6 +562,20 @@
|
|
|
255
562
|
- 域参数不一致会退化成单实例,负载分担失效且无明显报错
|
|
256
563
|
- 只配实例 1/2 而忽略实例 0,管理 VLAN 可能二层割裂
|
|
257
564
|
|
|
565
|
+
**拓扑蓝图**
|
|
566
|
+
|
|
567
|
+
- 设备:CORE1 (S5700)、CORE2 (S5700)、ACC1 (S5700)、ACC2 (S5700)、PC1 (PC)、PC2 (PC)
|
|
568
|
+
- 链路:6 条
|
|
569
|
+
|
|
570
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
571
|
+
| --- | --- | --- | --- |
|
|
572
|
+
| CORE1 | Vlanif10 | 192.168.10.252/24 | VLAN10 网关(实例1 主) |
|
|
573
|
+
| CORE1 | Vlanif20 | 192.168.20.253/24 | VLAN20 网关(实例2 备) |
|
|
574
|
+
| CORE2 | Vlanif10 | 192.168.10.253/24 | VLAN10 网关(实例1 备) |
|
|
575
|
+
| CORE2 | Vlanif20 | 192.168.20.252/24 | VLAN20 网关(实例2 主) |
|
|
576
|
+
|
|
577
|
+
生成:`ensp preset mstp-load-balance --topo mstp-load-balance.topo`
|
|
578
|
+
|
|
258
579
|
### ospf-multi-area — OSPF 多区域与 ABR
|
|
259
580
|
|
|
260
581
|
- **英文名**:OSPF multi-area and ABR
|
|
@@ -276,6 +597,23 @@
|
|
|
276
597
|
- 非骨干区域未连接 area 0 会导致路由不计算(需 virtual-link)
|
|
277
598
|
- 汇总掩码写错会连带屏蔽不该屏蔽的网段
|
|
278
599
|
|
|
600
|
+
**拓扑蓝图**
|
|
601
|
+
|
|
602
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、R3 (AR2220)、R4 (AR2220)
|
|
603
|
+
- 链路:3 条
|
|
604
|
+
|
|
605
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
606
|
+
| --- | --- | --- | --- |
|
|
607
|
+
| R1 | LoopBack0 | 1.1.1.1/32 | 在 area 0 |
|
|
608
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | area 0 |
|
|
609
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/24 | area 0 |
|
|
610
|
+
| R1 | GigabitEthernet0/0/1 | 10.0.13.1/24 | area 1(R1 为 ABR) |
|
|
611
|
+
| R3 | GigabitEthernet0/0/0 | 10.0.13.3/24 | area 1 |
|
|
612
|
+
| R2 | GigabitEthernet0/0/1 | 10.0.24.2/24 | area 2(R2 为 ABR) |
|
|
613
|
+
| R4 | GigabitEthernet0/0/0 | 10.0.24.4/24 | area 2 |
|
|
614
|
+
|
|
615
|
+
生成:`ensp preset ospf-multi-area --topo ospf-multi-area.topo`
|
|
616
|
+
|
|
279
617
|
### ospf-stub-nssa — OSPF 特殊区域(Stub / NSSA)
|
|
280
618
|
|
|
281
619
|
- **英文名**:OSPF stub and NSSA
|
|
@@ -296,6 +634,150 @@
|
|
|
296
634
|
- 区域类型不一致会导致邻居无法建立
|
|
297
635
|
- stub 区域不能有 ASBR;需要引入时只能用 NSSA
|
|
298
636
|
|
|
637
|
+
**拓扑蓝图**
|
|
638
|
+
|
|
639
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、R3 (AR2220)、R4 (AR2220)
|
|
640
|
+
- 链路:3 条
|
|
641
|
+
|
|
642
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
643
|
+
| --- | --- | --- | --- |
|
|
644
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | area 0 |
|
|
645
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/24 | area 0 |
|
|
646
|
+
| R1 | GigabitEthernet0/0/1 | 10.0.13.1/24 | area 1 → stub |
|
|
647
|
+
| R3 | GigabitEthernet0/0/0 | 10.0.13.3/24 | area 1 |
|
|
648
|
+
| R1 | GigabitEthernet0/0/2 | 10.0.14.1/24 | area 2 → nssa |
|
|
649
|
+
| R4 | GigabitEthernet0/0/0 | 10.0.14.4/24 | area 2 |
|
|
650
|
+
|
|
651
|
+
生成:`ensp preset ospf-stub-nssa --topo ospf-stub-nssa.topo`
|
|
652
|
+
|
|
653
|
+
### ospf-lsa-types — OSPF LSA 类型与区域过滤
|
|
654
|
+
|
|
655
|
+
- **英文名**:OSPF LSA types and area filtering
|
|
656
|
+
- **来源**:eNSP 2-3 OSPF Adjacency Relationships and Various Types of LSAs
|
|
657
|
+
- **设备**:4 台路由器(骨干 + 两个非骨干区域)
|
|
658
|
+
- **目标**:观察 Type-1/2/3/4/5/7 的产生位置与泛洪范围,并在 ABR 上过滤区域间路由
|
|
659
|
+
|
|
660
|
+
**配置顺序**
|
|
661
|
+
|
|
662
|
+
1. **建立多区域拓扑** — 两台 ABR 各挂一个非骨干区域,其中一侧引入外部路由
|
|
663
|
+
- 验证:`display ospf brief`
|
|
664
|
+
2. **逐个区域看 LSDB** — 区域内看 Type-1/2;ABR 上额外有 Type-3;ASBR 所在区域有 Type-5
|
|
665
|
+
- 验证:`display ospf lsdb`
|
|
666
|
+
3. **观察 ASBR 与外部路由** — Type-4 描述 ASBR 位置,由 ABR 产生;Type-5 携带外部网段
|
|
667
|
+
- 验证:`display ospf lsdb ase`
|
|
668
|
+
4. **NSSA 场景看 Type-7** — NSSA 内引入的外部路由先以 Type-7 存在,由 ABR 转换成 Type-5
|
|
669
|
+
- 验证:`display ospf lsdb nssa`
|
|
670
|
+
5. **在 ABR 上过滤 Type-3** — filter import/export 配合 ACL 或 ip-prefix,只影响区域间路由
|
|
671
|
+
- 验证:`display ospf lsdb summary`
|
|
672
|
+
|
|
673
|
+
**易错点**
|
|
674
|
+
|
|
675
|
+
- Type-3 只有 ABR 会产生,普通区域内的路由器看不到也不会转发
|
|
676
|
+
- Type-5 不进 stub 区域,这是 stub 的本意;想带外部路由只能用 NSSA
|
|
677
|
+
- filter 只过滤区域间(Type-3),对区域内和外部路由无效
|
|
678
|
+
- abr-summary not-advertise 与 filter deny 效果相似但粒度不同,混用会互相抵消
|
|
679
|
+
|
|
680
|
+
**拓扑蓝图**
|
|
681
|
+
|
|
682
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、R3 (AR2220)、R4 (AR2220)
|
|
683
|
+
- 链路:3 条
|
|
684
|
+
|
|
685
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
686
|
+
| --- | --- | --- | --- |
|
|
687
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | area 1 |
|
|
688
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/24 | |
|
|
689
|
+
| R2 | GigabitEthernet0/0/1 | 10.0.23.2/24 | area 0 |
|
|
690
|
+
| R3 | GigabitEthernet0/0/0 | 10.0.23.3/24 | |
|
|
691
|
+
| R3 | GigabitEthernet0/0/1 | 10.0.34.3/24 | area 2 / stub |
|
|
692
|
+
| R4 | GigabitEthernet0/0/0 | 10.0.34.4/24 | |
|
|
693
|
+
| R1 | LoopBack0 | 1.1.1.1/32 | Type-1 观察点 |
|
|
694
|
+
| R2 | LoopBack0 | 2.2.2.2/32 | ABR |
|
|
695
|
+
| R3 | LoopBack0 | 3.3.3.3/32 | ABR |
|
|
696
|
+
| R4 | LoopBack0 | 4.4.4.4/32 | ASBR 外部路由 |
|
|
697
|
+
|
|
698
|
+
生成:`ensp preset ospf-lsa-types --topo ospf-lsa-types.topo`
|
|
699
|
+
|
|
700
|
+
### ospf-virtual-link — OSPF 虚连接
|
|
701
|
+
|
|
702
|
+
- **英文名**:OSPF virtual link
|
|
703
|
+
- **来源**:eNSP 2-5 OSPF VCs and Inter-Area Route Filtering
|
|
704
|
+
- **设备**:4 台路由器(一个区域被割裂)
|
|
705
|
+
- **目标**:让未直连骨干区域的区域通过 transit 区域接入 area 0
|
|
706
|
+
|
|
707
|
+
**配置顺序**
|
|
708
|
+
|
|
709
|
+
1. **确认割裂点** — 非骨干区域两侧都没有物理接口在 area 0 内
|
|
710
|
+
- 验证:`display ospf brief`
|
|
711
|
+
2. **两端 ABR 配 vlink-peer** — 指向对端 router-id,不是接口地址;两端都要配
|
|
712
|
+
- 验证:`display ospf vlink`
|
|
713
|
+
3. **确认 transit 区域是普通区域** — 虚连接只能穿过普通区域,不能穿 stub 或 NSSA
|
|
714
|
+
4. **验证区域间路由恢复** — 割裂侧应重新学到 Type-3 路由
|
|
715
|
+
- 验证:`display ip routing-table protocol ospf`
|
|
716
|
+
|
|
717
|
+
**易错点**
|
|
718
|
+
|
|
719
|
+
- vlink-peer 填成接口 IP 而不是 router-id,虚连接起不来
|
|
720
|
+
- 只配一端:状态会停在 INIT 或 DOWN
|
|
721
|
+
- 用 stub 区域当 transit 会直接报错,特殊区域不能承载虚连接
|
|
722
|
+
- 虚连接是过渡手段,物理上补齐 area 0 直连才是正规做法
|
|
723
|
+
|
|
724
|
+
**拓扑蓝图**
|
|
725
|
+
|
|
726
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、R3 (AR2220)
|
|
727
|
+
- 链路:2 条
|
|
728
|
+
|
|
729
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
730
|
+
| --- | --- | --- | --- |
|
|
731
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | area 0 |
|
|
732
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/24 | area 0 |
|
|
733
|
+
| R2 | GigabitEthernet0/0/1 | 10.0.23.2/24 | area 1(transit) |
|
|
734
|
+
| R3 | GigabitEthernet0/0/0 | 10.0.23.3/24 | area 1 |
|
|
735
|
+
| R3 | LoopBack0 | 3.3.3.3/32 | 虚拟链路的两端 router-id |
|
|
736
|
+
|
|
737
|
+
生成:`ensp preset ospf-virtual-link --topo ospf-virtual-link.topo`
|
|
738
|
+
|
|
739
|
+
### ospf-troubleshooting — OSPF 邻居排障
|
|
740
|
+
|
|
741
|
+
- **英文名**:OSPF neighbour troubleshooting
|
|
742
|
+
- **来源**:eNSP 2-6 OSPF Troubleshooting / 本项目实测
|
|
743
|
+
- **设备**:2~3 台路由器
|
|
744
|
+
- **目标**:按状态机逐层定位邻居建立失败的原因
|
|
745
|
+
|
|
746
|
+
**配置顺序**
|
|
747
|
+
|
|
748
|
+
1. **先读状态** — Down 无 Hello;Init 单向收到;2-Way 正常但不是 DR/BDR;ExStart 卡在 DD 交换
|
|
749
|
+
- 验证:`display ospf peer`
|
|
750
|
+
2. **查 Hello 参数** — 区域号、hello/dead 定时器、认证、网络类型、掩码(broadcast 下要求同掩码)必须一致
|
|
751
|
+
- 验证:`display ospf interface`
|
|
752
|
+
3. **查报文层错误** — MTU 不一致会让 DD 交换卡在 ExStart;ACL 挡 224.0.0.5/224.0.0.6 会让邻居根本起不来
|
|
753
|
+
- 验证:`display ospf error`
|
|
754
|
+
4. **确认接口 MTU** — 两侧 MTU 必须相等;也可用 ospf mtu-enable 让 DD 携带 MTU 并显式报错
|
|
755
|
+
- 验证:`display interface GigabitEthernet0/0/0 | include MTU`
|
|
756
|
+
5. **确认直连可达** — ping 对端接口地址通不通,不通则先解决二层或地址问题
|
|
757
|
+
|
|
758
|
+
**易错点**
|
|
759
|
+
|
|
760
|
+
- ExStart 卡住最常见原因是 MTU 不一致,但 display ospf peer 不会直接告诉你是 MTU
|
|
761
|
+
- 2-Way 在点到点场景可能正常,在 broadcast 场景说明双方都是 DR-Other,需要看 DR 是否已选出
|
|
762
|
+
- 改完参数邻居不会立刻重建,undo 掉进程或 shutdown 接口再开更快
|
|
763
|
+
- 掩码不一致在 broadcast 网络会直接导致邻居关系无法建立,且报错信息很含糊
|
|
764
|
+
|
|
765
|
+
**拓扑蓝图**
|
|
766
|
+
|
|
767
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、R3 (AR2220)
|
|
768
|
+
- 链路:2 条
|
|
769
|
+
|
|
770
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
771
|
+
| --- | --- | --- | --- |
|
|
772
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | 故意配错 area 做排障 |
|
|
773
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/24 | |
|
|
774
|
+
| R2 | GigabitEthernet0/0/1 | 10.0.23.2/24 | |
|
|
775
|
+
| R3 | GigabitEthernet0/0/0 | 10.0.23.3/24 | |
|
|
776
|
+
| R2 | LoopBack0 | 2.2.2.2/32 | router-id 冲突观察点 |
|
|
777
|
+
| R3 | LoopBack0 | 2.2.2.2/32 | |
|
|
778
|
+
|
|
779
|
+
生成:`ensp preset ospf-troubleshooting --topo ospf-troubleshooting.topo`
|
|
780
|
+
|
|
299
781
|
### nat — NAT(源 NAT / NAT Server)
|
|
300
782
|
|
|
301
783
|
- **英文名**:NAT source and server
|
|
@@ -317,6 +799,20 @@
|
|
|
317
799
|
- ACL 未命中则不做转换,且无报错
|
|
318
800
|
- NAT Server 后仍需要放行安全策略/ACL
|
|
319
801
|
|
|
802
|
+
**拓扑蓝图**
|
|
803
|
+
|
|
804
|
+
- 设备:R1 (AR2220)、ISP (AR2220)、PC1 (PC)
|
|
805
|
+
- 链路:2 条
|
|
806
|
+
|
|
807
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
808
|
+
| --- | --- | --- | --- |
|
|
809
|
+
| R1 | GigabitEthernet0/0/1 | 192.168.1.254/24 | 内网网关 |
|
|
810
|
+
| R1 | GigabitEthernet0/0/0 | 200.1.1.1/30 | 公网侧(NAT outside) |
|
|
811
|
+
| ISP | GigabitEthernet0/0/0 | 200.1.1.2/30 | 模拟运营商 |
|
|
812
|
+
| ISP | LoopBack0 | 8.8.8.8/32 | 模拟 Internet 目的地址 |
|
|
813
|
+
|
|
814
|
+
生成:`ensp preset nat --topo nat.topo`
|
|
815
|
+
|
|
320
816
|
### ppp-hdlc — HDLC 与 PPP(含 PPPoE)
|
|
321
817
|
|
|
322
818
|
- **英文名**:HDLC and PPP
|
|
@@ -338,6 +834,20 @@
|
|
|
338
834
|
- PPP 认证两端 pap/chap 不一致会反复协商失败
|
|
339
835
|
- 串口需先确认物理 up 且时钟配置正确
|
|
340
836
|
|
|
837
|
+
**拓扑蓝图**
|
|
838
|
+
|
|
839
|
+
- 设备:R1 (AR2220)、R2 (AR2220)
|
|
840
|
+
- 链路:2 条
|
|
841
|
+
|
|
842
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
843
|
+
| --- | --- | --- | --- |
|
|
844
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/30 | link-protocol ppp + CHAP |
|
|
845
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/30 | |
|
|
846
|
+
| R1 | GigabitEthernet0/0/1 | 10.0.13.1/30 | link-protocol hdlc 对照 |
|
|
847
|
+
| R2 | GigabitEthernet0/0/1 | 10.0.13.2/30 | |
|
|
848
|
+
|
|
849
|
+
生成:`ensp preset ppp-hdlc --topo ppp-hdlc.topo`
|
|
850
|
+
|
|
341
851
|
### ipv6 — IPv6 基础与路由
|
|
342
852
|
|
|
343
853
|
- **英文名**:IPv6 basics and routing
|
|
@@ -358,6 +868,127 @@
|
|
|
358
868
|
- 只配 global 未在接口 enable ipv6,邻居发现不工作
|
|
359
869
|
- IPv6 无 ARP,ND 未通则 ping 不通
|
|
360
870
|
|
|
871
|
+
**拓扑蓝图**
|
|
872
|
+
|
|
873
|
+
- 设备:R1 (AR2220)、R2 (AR2220)
|
|
874
|
+
- 链路:1 条
|
|
875
|
+
|
|
876
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
877
|
+
| --- | --- | --- | --- |
|
|
878
|
+
| R1 | GigabitEthernet0/0/0 | 2001:db8:12::1/64 | IPv6 互联 |
|
|
879
|
+
| R2 | GigabitEthernet0/0/0 | 2001:db8:12::2/64 | |
|
|
880
|
+
| R1 | LoopBack0 | 2001:db8:1::1/128 | |
|
|
881
|
+
| R2 | LoopBack0 | 2001:db8:2::2/128 | |
|
|
882
|
+
|
|
883
|
+
生成:`ensp preset ipv6 --topo ipv6.topo`
|
|
884
|
+
|
|
885
|
+
### dhcp-snooping — DHCP Snooping 与 IPSG
|
|
886
|
+
|
|
887
|
+
- **英文名**:DHCP snooping and IPSG
|
|
888
|
+
- **来源**:eNSP 常规实验
|
|
889
|
+
- **设备**:1 台三层交换机 + 1 台接入交换机 + PC
|
|
890
|
+
- **目标**:阻断私接 DHCP 服务器,绑定合法地址防止 IP 冒用
|
|
891
|
+
|
|
892
|
+
**配置顺序**
|
|
893
|
+
|
|
894
|
+
1. **全局开 DHCP Snooping** — dhcp snooping enable,再按 VLAN 开 dhcp snooping enable
|
|
895
|
+
- 验证:`display dhcp snooping`
|
|
896
|
+
2. **上行口设 trusted** — 接合法 DHCP 服务器的口必须 dhcp snooping trusted,否则所有 DHCP 报文被丢
|
|
897
|
+
3. **接入口保持 untrusted** — 用户口默认 untrusted,收到 DHCP Offer 直接丢弃
|
|
898
|
+
- 验证:`display dhcp snooping user-info`
|
|
899
|
+
4. **开 IPSG** — ip source check user-bind enable,基于 snooping 表项校验源 IP+MAC
|
|
900
|
+
5. **验证** — 私接 DHCP 服务器后 PC 拿不到错误地址;手工改 IP 后无法上网
|
|
901
|
+
|
|
902
|
+
**易错点**
|
|
903
|
+
|
|
904
|
+
- 上行口忘记 trusted 是黑白名单反了,表现为全网 DHCP 都拿不到地址
|
|
905
|
+
- trusted 配在不存在的接口上不会报错,等于没配
|
|
906
|
+
- IPSG 依赖 snooping 表项,静态 IP 用户需要手工绑定静态表项
|
|
907
|
+
|
|
908
|
+
**拓扑蓝图**
|
|
909
|
+
|
|
910
|
+
- 设备:SW1 (S5700)、R1 (AR2220)、PC1 (PC)
|
|
911
|
+
- 链路:2 条
|
|
912
|
+
|
|
913
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
914
|
+
| --- | --- | --- | --- |
|
|
915
|
+
| R1 | GigabitEthernet0/0/0 | 192.168.10.254/24 | DHCP 服务器 |
|
|
916
|
+
| SW1 | Vlanif10 | 192.168.10.253/24 | 管理地址 |
|
|
917
|
+
|
|
918
|
+
生成:`ensp preset dhcp-snooping --topo dhcp-snooping.topo`
|
|
919
|
+
|
|
920
|
+
### arp-security — ARP 安全(防欺骗与防攻击)
|
|
921
|
+
|
|
922
|
+
- **英文名**:ARP security
|
|
923
|
+
- **来源**:eNSP 常规实验
|
|
924
|
+
- **设备**:1 台交换机 + 3 PC
|
|
925
|
+
- **目标**:防御 ARP 欺骗、ARP 泛洪,保证网关 MAC 不被冒充
|
|
926
|
+
|
|
927
|
+
**配置顺序**
|
|
928
|
+
|
|
929
|
+
1. **静态绑定网关** — 用户侧手工 arp static 或交换机侧 arp static,锁定网关 MAC
|
|
930
|
+
- 验证:`display arp`
|
|
931
|
+
2. **开 ARP 检测** — arp anti-attack check user-bind enable,丢弃 MAC/IP 不匹配的 ARP
|
|
932
|
+
- 验证:`display arp anti-attack`
|
|
933
|
+
3. **限速防泛洪** — arp anti-attack rate-limit 限制单位时间 ARP 报文数
|
|
934
|
+
4. **DAI 类方案** — 基于 DHCP Snooping 表项的动态 ARP 检测,比纯静态更适合终端多的场景
|
|
935
|
+
5. **验证** — 在攻击机上伪造网关 MAC 发 ARP,受害机 ARP 表不应被改写
|
|
936
|
+
|
|
937
|
+
**易错点**
|
|
938
|
+
|
|
939
|
+
- 只做静态绑定而不开检测,攻击者仍可伪造其他主机的 ARP
|
|
940
|
+
- ARP 检测依赖 DHCP Snooping 表项,纯静态 IP 环境要先造表
|
|
941
|
+
- 限速值设太小会把正常 ARP 也丢掉,表现为间歇性断网
|
|
942
|
+
|
|
943
|
+
**拓扑蓝图**
|
|
944
|
+
|
|
945
|
+
- 设备:SW1 (S5700)、PC1 (PC)、PC2 (PC)、PC3 (PC)
|
|
946
|
+
- 链路:3 条
|
|
947
|
+
|
|
948
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
949
|
+
| --- | --- | --- | --- |
|
|
950
|
+
| SW1 | Vlanif10 | 192.168.10.254/24 | 网关兼 DHCP Snooping 设备 |
|
|
951
|
+
|
|
952
|
+
生成:`ensp preset arp-security --topo arp-security.topo`
|
|
953
|
+
|
|
954
|
+
### qos-basics — QoS 分类标记与队列
|
|
955
|
+
|
|
956
|
+
- **英文名**:QoS classification, marking and queues
|
|
957
|
+
- **来源**:eNSP 常规实验
|
|
958
|
+
- **设备**:2 台交换机 + PC + 打流工具
|
|
959
|
+
- **目标**:给语音/视频打高优先级,拥塞时优先转发、限制普通流量带宽
|
|
960
|
+
|
|
961
|
+
**配置顺序**
|
|
962
|
+
|
|
963
|
+
1. **分类** — traffic classifier 匹配 ACL 或 VLAN,指定 operator or/and
|
|
964
|
+
- 验证:`display traffic classifier`
|
|
965
|
+
2. **标记** — traffic behavior 里 remark dscp 或 remark 8021p;标记要尽量靠近源端
|
|
966
|
+
3. **队列调度** — 接口下 qos schedule 或 diffserv domain,给高优先级队列加权
|
|
967
|
+
4. **限速与整形** — car 做入向限速,traffic shaping 做出向整形
|
|
968
|
+
- 验证:`display qos car`
|
|
969
|
+
5. **绑定并验证** — traffic policy 绑到接口;打流观察高优先级丢包率
|
|
970
|
+
- 验证:`display traffic policy statistics`
|
|
971
|
+
|
|
972
|
+
**易错点**
|
|
973
|
+
|
|
974
|
+
- 只标记不调度:标记完没人看,拥塞时仍是先到先服务
|
|
975
|
+
- 队列数超过接口支持数量会配不上,需先查接口默认队列模板
|
|
976
|
+
- 入向限速与出向整形混淆,用错方向限不住目标流量
|
|
977
|
+
- DSCP 与 802.1p 映射关系不一致会导致跨设备优先级丢失
|
|
978
|
+
|
|
979
|
+
**拓扑蓝图**
|
|
980
|
+
|
|
981
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、PC1 (PC)
|
|
982
|
+
- 链路:2 条
|
|
983
|
+
|
|
984
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
985
|
+
| --- | --- | --- | --- |
|
|
986
|
+
| R1 | GigabitEthernet0/0/1 | 192.168.1.254/24 | 入方向做流分类 |
|
|
987
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | 出方向做限速 |
|
|
988
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/24 | |
|
|
989
|
+
|
|
990
|
+
生成:`ensp preset qos-basics --topo qos-basics.topo`
|
|
991
|
+
|
|
361
992
|
### wlan-basic — WLAN(AC + FIT AP)
|
|
362
993
|
|
|
363
994
|
- **英文名**:WLAN with AC and FIT AP
|
|
@@ -378,6 +1009,59 @@
|
|
|
378
1009
|
- AP 未上线通常是 DHCP option 43 或 CAPWAP 源地址未指定
|
|
379
1010
|
- AC 与 AP 之间放行 CAPWAP(UDP 5246/5247)
|
|
380
1011
|
|
|
1012
|
+
**拓扑蓝图**
|
|
1013
|
+
|
|
1014
|
+
- 设备:AC (AC6005)、AP1 (AP6050)、SW1 (S5700)、PC1 (PC)
|
|
1015
|
+
- 链路:3 条
|
|
1016
|
+
|
|
1017
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1018
|
+
| --- | --- | --- | --- |
|
|
1019
|
+
| AC | Vlanif100 | 192.168.100.1/24 | CAPWAP 源与管理 |
|
|
1020
|
+
| AC | Vlanif50 | 192.168.50.254/24 | 业务网关 |
|
|
1021
|
+
| SW1 | Vlanif100 | 192.168.100.254/24 | AP 管理网段 |
|
|
1022
|
+
|
|
1023
|
+
生成:`ensp preset wlan-basic --topo wlan-basic.topo`
|
|
1024
|
+
|
|
1025
|
+
### ospfv3-ipv6 — OSPFv3 与 IPv6 双栈
|
|
1026
|
+
|
|
1027
|
+
- **英文名**:OSPFv3 and IPv6 dual stack
|
|
1028
|
+
- **来源**:eNSP HCNA Lab 5-1 延伸
|
|
1029
|
+
- **设备**:3~4 台路由器
|
|
1030
|
+
- **目标**:在 IPv6 网络上跑 OSPFv3,与 IPv4 并存互不干扰
|
|
1031
|
+
|
|
1032
|
+
**配置顺序**
|
|
1033
|
+
|
|
1034
|
+
1. **全局与接口双开 IPv6** — ipv6 全局开启,接口 ipv6 enable 并配地址
|
|
1035
|
+
- 验证:`display ipv6 interface brief`
|
|
1036
|
+
2. **建 OSPFv3 进程** — ospfv3 1 需指定 router-id(用 IPv4 地址形式),再在接口 ospfv3 1 area 0
|
|
1037
|
+
- 验证:`display ospfv3 peer`
|
|
1038
|
+
3. **观察链路本地地址** — OSPFv3 邻居用 fe80:: 建立,接口必须有链路本地地址
|
|
1039
|
+
- 验证:`display ospfv3 interface`
|
|
1040
|
+
4. **验证路由** — IPv6 路由表出现对端网段,双栈下 IPv4 路由不受影响
|
|
1041
|
+
- 验证:`display ipv6 routing-table`
|
|
1042
|
+
|
|
1043
|
+
**易错点**
|
|
1044
|
+
|
|
1045
|
+
- 只开全局 ipv6 未在接口 ipv6 enable,接口没有链路本地地址,OSPFv3 邻居起不来
|
|
1046
|
+
- OSPFv3 的 router-id 仍是 32 位点分十进制,不是 IPv6 地址
|
|
1047
|
+
- OSPFv3 用链路本地地址泛洪,跨网段邻居需要额外的全局地址配置
|
|
1048
|
+
- IPv6 没有 ARP,ND 未通时 ping 不通但接口是 up 的
|
|
1049
|
+
|
|
1050
|
+
**拓扑蓝图**
|
|
1051
|
+
|
|
1052
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、R3 (AR2220)
|
|
1053
|
+
- 链路:2 条
|
|
1054
|
+
|
|
1055
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1056
|
+
| --- | --- | --- | --- |
|
|
1057
|
+
| R1 | GigabitEthernet0/0/0 | 2001:db8:12::1/64 | OSPFv3 area 0 |
|
|
1058
|
+
| R2 | GigabitEthernet0/0/0 | 2001:db8:12::2/64 | |
|
|
1059
|
+
| R2 | GigabitEthernet0/0/1 | 2001:db8:23::2/64 | |
|
|
1060
|
+
| R3 | GigabitEthernet0/0/0 | 2001:db8:23::3/64 | |
|
|
1061
|
+
| R3 | LoopBack0 | 2001:db8:3::3/128 | router-id 用 IPv4 地址 |
|
|
1062
|
+
|
|
1063
|
+
生成:`ensp preset ospfv3-ipv6 --topo ospfv3-ipv6.topo`
|
|
1064
|
+
|
|
381
1065
|
### isis-multi-level — IS-IS 多级别与默认路由注入
|
|
382
1066
|
|
|
383
1067
|
- **英文名**:IS-IS levels and default-route injection
|
|
@@ -402,6 +1086,26 @@
|
|
|
402
1086
|
- 接口未 isis enable 时进程起来了但无邻居,且不报错
|
|
403
1087
|
- 默认路由注入不带 level-1 限定会污染 L2
|
|
404
1088
|
|
|
1089
|
+
**拓扑蓝图**
|
|
1090
|
+
|
|
1091
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、R3 (AR2220)、R4 (AR2220)
|
|
1092
|
+
- 链路:3 条
|
|
1093
|
+
|
|
1094
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1095
|
+
| --- | --- | --- | --- |
|
|
1096
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | level-1 |
|
|
1097
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/24 | level-1-2 |
|
|
1098
|
+
| R2 | GigabitEthernet0/0/1 | 10.0.23.2/24 | level-1 |
|
|
1099
|
+
| R3 | GigabitEthernet0/0/0 | 10.0.23.3/24 | level-1 |
|
|
1100
|
+
| R2 | GigabitEthernet0/0/2 | 10.0.24.2/24 | level-2 |
|
|
1101
|
+
| R4 | GigabitEthernet0/0/0 | 10.0.24.4/24 | level-2 |
|
|
1102
|
+
| R1 | LoopBack0 | 1.1.1.1/32 | |
|
|
1103
|
+
| R3 | LoopBack0 | 3.3.3.3/32 | |
|
|
1104
|
+
| R4 | LoopBack0 | 4.4.4.4/32 | |
|
|
1105
|
+
|
|
1106
|
+
生成:`ensp preset isis-multi-level --topo isis-multi-level.topo`
|
|
1107
|
+
|
|
1108
|
+
|
|
405
1109
|
## 高级
|
|
406
1110
|
|
|
407
1111
|
### bgp-ebgp-ibgp — BGP EBGP / IBGP
|
|
@@ -426,6 +1130,228 @@
|
|
|
426
1130
|
- IBGP 邻居未 update-source 到 loopback 时,源地址不匹配会卡在 Connect
|
|
427
1131
|
- network 宣告的网段路由表里不存在则不会发布,且无提示
|
|
428
1132
|
|
|
1133
|
+
**拓扑蓝图**
|
|
1134
|
+
|
|
1135
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、R3 (AR2220)
|
|
1136
|
+
- 链路:2 条
|
|
1137
|
+
|
|
1138
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1139
|
+
| --- | --- | --- | --- |
|
|
1140
|
+
| R1 | LoopBack0 | 1.1.1.1/32 | AS 100 |
|
|
1141
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | AS 100 |
|
|
1142
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/24 | AS 100 |
|
|
1143
|
+
| R2 | GigabitEthernet0/0/1 | 10.0.23.2/24 | AS 100 → EBGP |
|
|
1144
|
+
| R3 | GigabitEthernet0/0/0 | 10.0.23.3/24 | AS 200 |
|
|
1145
|
+
| R3 | LoopBack0 | 3.3.3.3/32 | AS 200 业务网段 |
|
|
1146
|
+
|
|
1147
|
+
生成:`ensp preset bgp-ebgp-ibgp --topo bgp-ebgp-ibgp.topo`
|
|
1148
|
+
|
|
1149
|
+
### bgp-attributes — BGP 选路属性
|
|
1150
|
+
|
|
1151
|
+
- **英文名**:BGP attributes and path selection
|
|
1152
|
+
- **来源**:eNSP 3-3 / 3-4 BGP Attributes and Path Selection
|
|
1153
|
+
- **设备**:4 台路由器(两个 AS,含一台双出口路由器)
|
|
1154
|
+
- **目标**:用 local-preference、AS_PATH、MED 分别影响入向和出向选路
|
|
1155
|
+
|
|
1156
|
+
**配置顺序**
|
|
1157
|
+
|
|
1158
|
+
1. **造出多条等价路径** — 同一前缀从两个方向学到,先确认 BGP 表里有多条 candidate
|
|
1159
|
+
- 验证:`display bgp routing-table`
|
|
1160
|
+
2. **影响入向:local-preference** — 值大优先,只在 IBGP 内传递,用于让本 AS 偏好某个入口
|
|
1161
|
+
3. **影响出向:AS_PATH prepend** — 在不想被选中的方向重复本 AS 号,让对端觉得这条更长
|
|
1162
|
+
4. **影响出向:MED** — 值小优先,可跨 EBGP 传递,但对端不一定采纳
|
|
1163
|
+
5. **看清比较顺序** — weight > local-preference > 本地始发 > AS_PATH 长度 > origin > MED > EBGP 优于 IBGP > IGP cost > router-id
|
|
1164
|
+
- 验证:`display bgp routing-table 10.0.0.0`
|
|
1165
|
+
|
|
1166
|
+
**易错点**
|
|
1167
|
+
|
|
1168
|
+
- weight 是本机私有属性,不传递,配错方向时完全没效果
|
|
1169
|
+
- local-preference 默认 100,只在 IBGP 内传递,跨 EBGP 会被重置
|
|
1170
|
+
- MED 只在同一对 AS 之间比较,且对端可用 always-compare-med 改变行为
|
|
1171
|
+
- 只看 BGP 表不看出方向,容易误判成属性没生效
|
|
1172
|
+
|
|
1173
|
+
**拓扑蓝图**
|
|
1174
|
+
|
|
1175
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、R3 (AR2220)、R4 (AR2220)
|
|
1176
|
+
- 链路:4 条
|
|
1177
|
+
|
|
1178
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1179
|
+
| --- | --- | --- | --- |
|
|
1180
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | AS 100 双出口 |
|
|
1181
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/24 | AS 200 |
|
|
1182
|
+
| R1 | GigabitEthernet0/0/1 | 10.0.13.1/24 | |
|
|
1183
|
+
| R3 | GigabitEthernet0/0/0 | 10.0.13.3/24 | AS 300 |
|
|
1184
|
+
| R2 | GigabitEthernet0/0/1 | 10.0.24.2/24 | |
|
|
1185
|
+
| R4 | GigabitEthernet0/0/0 | 10.0.24.4/24 | AS 400 选路观察点 |
|
|
1186
|
+
| R3 | GigabitEthernet0/0/1 | 10.0.34.3/24 | |
|
|
1187
|
+
| R4 | GigabitEthernet0/0/1 | 10.0.34.4/24 | |
|
|
1188
|
+
|
|
1189
|
+
生成:`ensp preset bgp-attributes --topo bgp-attributes.topo`
|
|
1190
|
+
|
|
1191
|
+
### bgp-aggregation — BGP 路由聚合与团体属性
|
|
1192
|
+
|
|
1193
|
+
- **英文名**:BGP aggregation and communities
|
|
1194
|
+
- **来源**:eNSP 3-2 BGP Route Aggregation
|
|
1195
|
+
- **设备**:3~4 台路由器
|
|
1196
|
+
- **目标**:把明细路由聚合成一条,并控制聚合后是否保留明细与 AS_PATH 信息
|
|
1197
|
+
|
|
1198
|
+
**配置顺序**
|
|
1199
|
+
|
|
1200
|
+
1. **先有可聚合的明细** — 至少两条同前缀长度的明细路由在 BGP 表中
|
|
1201
|
+
- 验证:`display bgp routing-table`
|
|
1202
|
+
2. **配 aggregate** — 指定聚合网段与掩码,默认同时发布聚合与明细
|
|
1203
|
+
- 验证:`display bgp routing-table`
|
|
1204
|
+
3. **抑制明细** — detail-suppressed 只发聚合;suppress-policy 按策略选择性抑制
|
|
1205
|
+
4. **保留 AS_PATH 信息** — as-set 让聚合路由携带明细的 AS 集合,避免被对端当成更优路径
|
|
1206
|
+
5. **团体属性** — apply community 打标记,对端用 community-filter 做策略
|
|
1207
|
+
- 验证:`display bgp routing-table community`
|
|
1208
|
+
|
|
1209
|
+
**易错点**
|
|
1210
|
+
|
|
1211
|
+
- 聚合路由默认不继承明细的 AS_PATH,可能造成环路或选路异常,需要 as-set
|
|
1212
|
+
- 只配聚合不抑制明细,路由条目数并不会减少
|
|
1213
|
+
- 聚合网段必须覆盖所有明细,否则会产生黑洞
|
|
1214
|
+
- 团体属性默认不传递,需显式 peer advertise-community
|
|
1215
|
+
|
|
1216
|
+
**拓扑蓝图**
|
|
1217
|
+
|
|
1218
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、R3 (AR2220)
|
|
1219
|
+
- 链路:2 条
|
|
1220
|
+
|
|
1221
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1222
|
+
| --- | --- | --- | --- |
|
|
1223
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | AS 100,发布明细 |
|
|
1224
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/24 | AS 200,做聚合 |
|
|
1225
|
+
| R2 | GigabitEthernet0/0/1 | 10.0.23.2/24 | |
|
|
1226
|
+
| R3 | GigabitEthernet0/0/0 | 10.0.23.3/24 | AS 300,验证 AS_PATH |
|
|
1227
|
+
| R1 | LoopBack0 | 10.10.1.1/24 | 聚合前明细 1 |
|
|
1228
|
+
| R1 | LoopBack1 | 10.10.2.1/24 | 聚合前明细 2 |
|
|
1229
|
+
| R1 | LoopBack2 | 10.10.3.1/24 | 聚合前明细 3 |
|
|
1230
|
+
|
|
1231
|
+
生成:`ensp preset bgp-aggregation --topo bgp-aggregation.topo`
|
|
1232
|
+
|
|
1233
|
+
### bgp-troubleshooting — BGP 邻居排障
|
|
1234
|
+
|
|
1235
|
+
- **英文名**:BGP neighbour troubleshooting
|
|
1236
|
+
- **来源**:eNSP 3-6 BGP Troubleshooting
|
|
1237
|
+
- **设备**:3 台路由器
|
|
1238
|
+
- **目标**:按邻居状态机定位 BGP 建立失败的原因
|
|
1239
|
+
|
|
1240
|
+
**配置顺序**
|
|
1241
|
+
|
|
1242
|
+
1. **读状态** — Idle 未发起;Connect/Active 在尝试 TCP;OpenSent/OpenConfirm 在协商;Established 才算成功
|
|
1243
|
+
- 验证:`display bgp peer`
|
|
1244
|
+
2. **查 TCP 179** — 先确认到对端 179 端口可连,路由不可达时永远停在 Connect
|
|
1245
|
+
- 验证:`display tcp status`
|
|
1246
|
+
3. **查对端配置** — AS 号、peer 地址、router-id 唯一性;IBGP 是否 update-source 到 loopback
|
|
1247
|
+
- 验证:`display bgp peer verbose`
|
|
1248
|
+
4. **查策略拦截** — ACL 或防火墙是否放行 179;EBGP 是否配了 ebgp-max-hop(非直连时)
|
|
1249
|
+
5. **看具体错误码** — verbose 输出里的 last error 与 notification 码直接指向原因
|
|
1250
|
+
|
|
1251
|
+
**易错点**
|
|
1252
|
+
|
|
1253
|
+
- 两个邻居用相同 router-id 会互相踢下线,表现为 Established 反复抖动
|
|
1254
|
+
- IBGP 用 loopback 建邻居但没配 update-source,源地址不匹配永远连不上
|
|
1255
|
+
- EBGP 非直连建邻必须 ebgp-max-hop,否则报文 TTL 为 1 被丢弃
|
|
1256
|
+
- hold timer 不一致会协商成较小值,网络抖动时容易误判断开
|
|
1257
|
+
|
|
1258
|
+
**拓扑蓝图**
|
|
1259
|
+
|
|
1260
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、R3 (AR2220)
|
|
1261
|
+
- 链路:2 条
|
|
1262
|
+
|
|
1263
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1264
|
+
| --- | --- | --- | --- |
|
|
1265
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | AS 100 |
|
|
1266
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/24 | AS 200 |
|
|
1267
|
+
| R2 | GigabitEthernet0/0/1 | 10.0.23.2/24 | |
|
|
1268
|
+
| R3 | GigabitEthernet0/0/0 | 10.0.23.3/24 | AS 300 |
|
|
1269
|
+
| R1 | LoopBack0 | 1.1.1.1/32 | TCP 179 源地址 |
|
|
1270
|
+
| R3 | LoopBack0 | 3.3.3.3/32 | |
|
|
1271
|
+
|
|
1272
|
+
生成:`ensp preset bgp-troubleshooting --topo bgp-troubleshooting.topo`
|
|
1273
|
+
|
|
1274
|
+
### stack-istack — 交换机堆叠与 iStack
|
|
1275
|
+
|
|
1276
|
+
- **英文名**:Switch stacking and iStack
|
|
1277
|
+
- **来源**:eNSP 常规实验
|
|
1278
|
+
- **设备**:2~4 台同型号交换机 + 1 台上行设备
|
|
1279
|
+
- **目标**:多台物理交换机合成一台逻辑设备,跨成员链路聚合、单一管理地址
|
|
1280
|
+
|
|
1281
|
+
**配置顺序**
|
|
1282
|
+
|
|
1283
|
+
1. **规划主备与成员编号** — 先定主交换机(priority 高)、再定成员 ID,编号必须唯一
|
|
1284
|
+
- 验证:`display stack`
|
|
1285
|
+
2. **配堆叠端口** — 用专用堆叠卡口或业务口做 stack-port,两台设备互联成环更可靠
|
|
1286
|
+
- 验证:`display stack configuration`
|
|
1287
|
+
3. **上电合并** — 先配好再同时重启,成员加入后堆叠 ID 生效
|
|
1288
|
+
4. **跨成员聚合** — Eth-Trunk 成员口分布在不同成员上,单成员故障链路仍可用
|
|
1289
|
+
- 验证:`display eth-trunk`
|
|
1290
|
+
5. **管理面验证** — 整机只有一个管理 IP,成员口统一编号(如 GigabitEthernet1/0/1 与 2/0/1)
|
|
1291
|
+
- 验证:`display interface brief`
|
|
1292
|
+
|
|
1293
|
+
**易错点**
|
|
1294
|
+
|
|
1295
|
+
- 两台设备都用默认优先级 100 时主备由 MAC 决定,换设备后主备关系会变
|
|
1296
|
+
- 堆叠 ID 重复会导致成员无法加入,且报错信息很简短
|
|
1297
|
+
- 堆叠线接成单链而非环,一条线断就分裂成两台独立设备(双主)
|
|
1298
|
+
- 分裂后两台都认为自己为主,若没配双主检测会导致地址冲突
|
|
1299
|
+
|
|
1300
|
+
**拓扑蓝图**
|
|
1301
|
+
|
|
1302
|
+
- 设备:SW1 (S5700)、SW2 (S5700)、SW3 (S5700)、PC1 (PC)、PC2 (PC)
|
|
1303
|
+
- 链路:4 条
|
|
1304
|
+
|
|
1305
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1306
|
+
| --- | --- | --- | --- |
|
|
1307
|
+
| SW1 | Vlanif10 | 192.168.10.251/24 | 堆叠主,唯一管理地址 |
|
|
1308
|
+
| SW2 | Vlanif10 | 192.168.10.252/24 | 堆叠备 |
|
|
1309
|
+
| SW3 | Vlanif10 | 192.168.10.253/24 | 接入设备 |
|
|
1310
|
+
|
|
1311
|
+
生成:`ensp preset stack-istack --topo stack-istack.topo`
|
|
1312
|
+
|
|
1313
|
+
### route-policy-pbr — 路由策略与策略路由
|
|
1314
|
+
|
|
1315
|
+
- **英文名**:Route policy and policy-based routing
|
|
1316
|
+
- **来源**:eNSP 常规实验
|
|
1317
|
+
- **设备**:3 台路由器(双出口)
|
|
1318
|
+
- **目标**:用 route-policy 过滤/修改路由,用 PBR 让特定流量走指定出口
|
|
1319
|
+
|
|
1320
|
+
**配置顺序**
|
|
1321
|
+
|
|
1322
|
+
1. **先写匹配条件** — ip-prefix 或 ACL 描述网段,community-filter 描述团体
|
|
1323
|
+
- 验证:`display ip ip-prefix`
|
|
1324
|
+
2. **写 route-policy 节点** — if-match 匹配,apply 修改 cost/tag/preference;节点号小的先匹配
|
|
1325
|
+
- 验证:`display route-policy`
|
|
1326
|
+
3. **挂到协议上** — import-route 时引用,或 BGP peer 的 route-policy import/export
|
|
1327
|
+
4. **策略路由另行处理** — traffic classifier + behavior(redirect ip-nexthop)+ traffic policy,绑到接口 inbound
|
|
1328
|
+
- 验证:`display traffic policy`
|
|
1329
|
+
5. **验证分流** — 用 tracert 看不同源/目的的流量是否走了不同下一跳
|
|
1330
|
+
|
|
1331
|
+
**易错点**
|
|
1332
|
+
|
|
1333
|
+
- route-policy 末尾隐含 deny,没被任何节点匹配上的路由会被丢弃
|
|
1334
|
+
- 只写 if-match 不写 apply 也能命中,但行为是 permit 且不修改属性
|
|
1335
|
+
- PBR 优先级高于路由表,配错会绕过正常转发路径且很难排查
|
|
1336
|
+
- 策略路由只能匹配接口入方向,出方向需要换方案
|
|
1337
|
+
|
|
1338
|
+
**拓扑蓝图**
|
|
1339
|
+
|
|
1340
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、R3 (AR2220)、PC1 (PC)
|
|
1341
|
+
- 链路:3 条
|
|
1342
|
+
|
|
1343
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1344
|
+
| --- | --- | --- | --- |
|
|
1345
|
+
| R1 | GigabitEthernet0/0/2 | 192.168.1.254/24 | PC1 网关 |
|
|
1346
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | 出口 1 |
|
|
1347
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/24 | |
|
|
1348
|
+
| R1 | GigabitEthernet0/0/1 | 10.0.13.1/24 | 出口 2 |
|
|
1349
|
+
| R3 | GigabitEthernet0/0/0 | 10.0.13.3/24 | |
|
|
1350
|
+
| R2 | LoopBack0 | 2.2.2.2/32 | 同一目的网段的两个出口 |
|
|
1351
|
+
| R3 | LoopBack0 | 2.2.2.2/32 | 与出口 1 相同的地址,用于观察选路 |
|
|
1352
|
+
|
|
1353
|
+
生成:`ensp preset route-policy-pbr --topo route-policy-pbr.topo`
|
|
1354
|
+
|
|
429
1355
|
### bgp-route-reflector — BGP 路由反射器与联盟
|
|
430
1356
|
|
|
431
1357
|
- **英文名**:BGP route reflector and confederation
|
|
@@ -446,6 +1372,23 @@
|
|
|
446
1372
|
- RR 的 cluster-id 冲突会造成环路防护误判
|
|
447
1373
|
- 客户端配置遗漏则路由不会反射
|
|
448
1374
|
|
|
1375
|
+
**拓扑蓝图**
|
|
1376
|
+
|
|
1377
|
+
- 设备:RR (AR2220)、R2 (AR2220)、R3 (AR2220)、EXT (AR2220)
|
|
1378
|
+
- 链路:3 条
|
|
1379
|
+
|
|
1380
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1381
|
+
| --- | --- | --- | --- |
|
|
1382
|
+
| RR | LoopBack0 | 10.1.1.1/32 | AS 100 内 reflector |
|
|
1383
|
+
| RR | GigabitEthernet0/0/0 | 10.1.12.1/24 | AS 100 |
|
|
1384
|
+
| R2 | GigabitEthernet0/0/0 | 10.1.12.2/24 | AS 100 client |
|
|
1385
|
+
| RR | GigabitEthernet0/0/1 | 10.1.13.1/24 | AS 100 |
|
|
1386
|
+
| R3 | GigabitEthernet0/0/0 | 10.1.13.3/24 | AS 100 client |
|
|
1387
|
+
| R2 | GigabitEthernet0/0/1 | 10.1.24.2/24 | AS 100 → EBGP |
|
|
1388
|
+
| EXT | GigabitEthernet0/0/0 | 10.1.24.4/24 | AS 200 |
|
|
1389
|
+
|
|
1390
|
+
生成:`ensp preset bgp-route-reflector --topo bgp-route-reflector.topo`
|
|
1391
|
+
|
|
449
1392
|
### ipsec-vpn — IPsec VPN
|
|
450
1393
|
|
|
451
1394
|
- **英文名**:IPsec VPN
|
|
@@ -468,6 +1411,446 @@
|
|
|
468
1411
|
- 两端提议任一参数不一致则 IKE 阶段就失败
|
|
469
1412
|
- ACL 匹配范围不对会导致部分流量不走隧道
|
|
470
1413
|
|
|
1414
|
+
**拓扑蓝图**
|
|
1415
|
+
|
|
1416
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、PC1 (PC)、PC2 (PC)
|
|
1417
|
+
- 链路:3 条
|
|
1418
|
+
|
|
1419
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1420
|
+
| --- | --- | --- | --- |
|
|
1421
|
+
| R1 | GigabitEthernet0/0/1 | 192.168.1.254/24 | 私网侧 |
|
|
1422
|
+
| R1 | GigabitEthernet0/0/0 | 200.1.1.1/24 | 公网侧 |
|
|
1423
|
+
| R2 | GigabitEthernet0/0/0 | 200.1.1.2/24 | 公网侧 |
|
|
1424
|
+
| R2 | GigabitEthernet0/0/1 | 192.168.2.254/24 | 私网侧 |
|
|
1425
|
+
|
|
1426
|
+
生成:`ensp preset ipsec-vpn --topo ipsec-vpn.topo`
|
|
1427
|
+
|
|
1428
|
+
### multicast-pim-sm — 组播 PIM-SM 与 IGMP
|
|
1429
|
+
|
|
1430
|
+
- **英文名**:Multicast with PIM-SM and IGMP
|
|
1431
|
+
- **来源**:eNSP 5-2 PIM-SM and Dynamic RP / multicast
|
|
1432
|
+
- **设备**:4~5 台路由器 + 组播服务器 + 接收者
|
|
1433
|
+
- **目标**:用 PIM-SM 建立共享树与最短路径树,接收者按需加入组播组
|
|
1434
|
+
|
|
1435
|
+
**配置顺序**
|
|
1436
|
+
|
|
1437
|
+
1. **全局开组播** — multicast routing-enable 必须在所有组播路由器上开
|
|
1438
|
+
- 验证:`display pim`
|
|
1439
|
+
2. **配 IGMP** — 面向接收者的接口开 igmp enable,指定版本(默认 v2)
|
|
1440
|
+
- 验证:`display igmp group`
|
|
1441
|
+
3. **配 PIM-SM** — 所有三层接口开 pim sm,形成 RPF 邻居
|
|
1442
|
+
- 验证:`display pim neighbor`
|
|
1443
|
+
4. **配 RP** — 静态 RP pim static-rp,或动态 BSR/C-RP;所有路由器 RP 信息必须一致
|
|
1444
|
+
- 验证:`display pim rp-info`
|
|
1445
|
+
5. **验证树形** — 初始为共享树(*,G),源出现后切到 SPT(S,G)
|
|
1446
|
+
- 验证:`display pim routing-table`
|
|
1447
|
+
|
|
1448
|
+
**易错点**
|
|
1449
|
+
|
|
1450
|
+
- 未开 multicast routing-enable 时接口 pim 命令根本挂不上
|
|
1451
|
+
- RPF 检查看的是单播路由,单播回程不对会导致组播流量被丢弃
|
|
1452
|
+
- RP 地址不一致会导致不同路由器算出不同共享树,组播时通时不通
|
|
1453
|
+
- 接收者侧接口没开 IGMP,PIM 邻居正常但流量下不来
|
|
1454
|
+
- eNSP 组播需要设备支持组播转发,部分低端型号不可用
|
|
1455
|
+
|
|
1456
|
+
**拓扑蓝图**
|
|
1457
|
+
|
|
1458
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、R3 (AR2220)、SRC (PC)、RCV (PC)
|
|
1459
|
+
- 链路:4 条
|
|
1460
|
+
|
|
1461
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1462
|
+
| --- | --- | --- | --- |
|
|
1463
|
+
| R1 | LoopBack0 | 1.1.1.1/32 | 候选 RP(静态 RP 时指向它) |
|
|
1464
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | |
|
|
1465
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/24 | |
|
|
1466
|
+
| R1 | GigabitEthernet0/0/1 | 10.0.13.1/24 | |
|
|
1467
|
+
| R3 | GigabitEthernet0/0/0 | 10.0.13.3/24 | |
|
|
1468
|
+
| R2 | GigabitEthernet0/0/1 | 192.168.2.254/24 | 组播源网段 |
|
|
1469
|
+
| R3 | GigabitEthernet0/0/1 | 192.168.3.254/24 | 接收者网段 |
|
|
1470
|
+
|
|
1471
|
+
生成:`ensp preset multicast-pim-sm --topo multicast-pim-sm.topo`
|
|
1472
|
+
|
|
1473
|
+
### firewall-zones — 防火墙安全域与策略
|
|
1474
|
+
|
|
1475
|
+
- **英文名**:Firewall zones and security policies
|
|
1476
|
+
- **来源**:eNSP Security Authentication 延伸
|
|
1477
|
+
- **设备**:USG 防火墙 + 内外网路由器
|
|
1478
|
+
- **目标**:按安全域划分接口,用安全策略控制域间流量,配置 NAT 与服务器映射
|
|
1479
|
+
|
|
1480
|
+
**配置顺序**
|
|
1481
|
+
|
|
1482
|
+
1. **划分安全域** — 把接口加入 trust/untrust/dmz 域,接口必须先 firewall zone 再配策略
|
|
1483
|
+
- 验证:`display zone`
|
|
1484
|
+
2. **写安全策略** — security-policy 按源/目的域 + 地址 + 服务放行;默认动作是 deny
|
|
1485
|
+
- 验证:`display security-policy`
|
|
1486
|
+
3. **配 NAT** — trust 到 untrust 用 nat-policy 做源 NAT;服务器发布用 nat server
|
|
1487
|
+
- 验证:`display nat-policy`
|
|
1488
|
+
4. **验证域间** — trust 到 untrust 通、untrust 到 trust 默认不通;策略计数应增长
|
|
1489
|
+
- 验证:`display security-policy statistics`
|
|
1490
|
+
|
|
1491
|
+
**易错点**
|
|
1492
|
+
|
|
1493
|
+
- 同域内(intra-zone)流量不匹配域间安全策略,用策略做同域隔离不会生效
|
|
1494
|
+
- 接口没加进域时所有流量都被丢弃,且日志里只显示无匹配域
|
|
1495
|
+
- 策略顺序从上到下匹配,宽泛规则放前面会让后面的精确规则永远不命中
|
|
1496
|
+
- NAT 与安全策略是两套独立匹配,NAT 放行了不等于策略放行
|
|
1497
|
+
|
|
1498
|
+
**拓扑蓝图**
|
|
1499
|
+
|
|
1500
|
+
- 设备:FW1 (USG6000V)、R-TRUST (AR2220)、R-UNTRUST (AR2220)、SRV1 (Server)
|
|
1501
|
+
- 链路:3 条
|
|
1502
|
+
|
|
1503
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1504
|
+
| --- | --- | --- | --- |
|
|
1505
|
+
| R-TRUST | GigabitEthernet0/0/0 | 10.1.1.254/24 | trust 侧(接防火墙) |
|
|
1506
|
+
| FW1 | GigabitEthernet1/0/0 | 10.1.1.1/24 | trust 区域 |
|
|
1507
|
+
| FW1 | GigabitEthernet1/0/1 | 200.1.1.1/24 | untrust 区域 |
|
|
1508
|
+
| R-UNTRUST | GigabitEthernet0/0/0 | 200.1.1.2/24 | 外网侧 |
|
|
1509
|
+
| FW1 | GigabitEthernet1/0/2 | 10.1.40.1/24 | dmz 区域 |
|
|
1510
|
+
| SRV1 | Ethernet0/0/1 | 10.1.40.10/24 | 对外发布的服务器 |
|
|
1511
|
+
|
|
1512
|
+
生成:`ensp preset firewall-zones --topo firewall-zones.topo`
|
|
1513
|
+
- 设备镜像:USG6000V 需要 eNSP 安装时勾选 USG6000V 组件(NGFW 镜像,约 1 GB)。缺镜像时 eNSP 会打开拓扑后自行退出,`ensp up` 会在启动前直接报错说明缺什么。
|
|
1514
|
+
|
|
1515
|
+
### bfd-fast-convergence — BFD 快速故障检测
|
|
1516
|
+
|
|
1517
|
+
- **英文名**:BFD fast failure detection
|
|
1518
|
+
- **来源**:eNSP 常规实验
|
|
1519
|
+
- **设备**:2~3 台路由器
|
|
1520
|
+
- **目标**:用毫秒级 BFD 会话替代秒级的协议 Hello 超时,缩短收敛时间
|
|
1521
|
+
|
|
1522
|
+
**配置顺序**
|
|
1523
|
+
|
|
1524
|
+
1. **先建底层可达** — BFD 只做检测,不负责转发;直连或已有路由必须先通
|
|
1525
|
+
2. **配 BFD 会话** — bfd 全局开启后,单跳用 bfd bind peer-ip;多跳需 bfd multi-hop
|
|
1526
|
+
- 验证:`display bfd session all`
|
|
1527
|
+
3. **调检测参数** — min-tx-interval / min-rx-interval / detect-multiplier,两端取大值协商
|
|
1528
|
+
4. **挂到协议上** — 静态路由 bfd enable,或 OSPF/VRRP 的 bfd 联动
|
|
1529
|
+
- 验证:`display bfd session all verbose`
|
|
1530
|
+
5. **验证收敛** — 断开链路后 BFD 应在百毫秒级 Up→Down,路由表随之切换
|
|
1531
|
+
|
|
1532
|
+
**易错点**
|
|
1533
|
+
|
|
1534
|
+
- 检测间隔设得过小(如 3.3ms)在 eNSP 里会因调度抖动误报 Down
|
|
1535
|
+
- 两端参数不一致时按较大值协商,实际收敛比预期慢
|
|
1536
|
+
- BFD 会话 Up 但协议没联动,等于白配
|
|
1537
|
+
- 多跳 BFD 要显式指定 multi-hop,否则默认单跳会话起不来
|
|
1538
|
+
|
|
1539
|
+
**拓扑蓝图**
|
|
1540
|
+
|
|
1541
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、R3 (AR2220)
|
|
1542
|
+
- 链路:3 条
|
|
1543
|
+
|
|
1544
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1545
|
+
| --- | --- | --- | --- |
|
|
1546
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | |
|
|
1547
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/24 | |
|
|
1548
|
+
| R2 | GigabitEthernet0/0/1 | 10.0.23.2/24 | |
|
|
1549
|
+
| R3 | GigabitEthernet0/0/0 | 10.0.23.3/24 | |
|
|
1550
|
+
| R1 | GigabitEthernet0/0/1 | 10.0.13.1/24 | |
|
|
1551
|
+
| R3 | GigabitEthernet0/0/1 | 10.0.13.3/24 | |
|
|
1552
|
+
| R1 | LoopBack0 | 1.1.1.1/32 | |
|
|
1553
|
+
| R3 | LoopBack0 | 3.3.3.3/32 | |
|
|
1554
|
+
|
|
1555
|
+
生成:`ensp preset bfd-fast-convergence --topo bfd-fast-convergence.topo`
|
|
1556
|
+
|
|
1557
|
+
### mpls-basic — MPLS 标签转发
|
|
1558
|
+
|
|
1559
|
+
- **英文名**:MPLS label switching
|
|
1560
|
+
- **来源**:eNSP 常规实验
|
|
1561
|
+
- **设备**:3~4 台路由器
|
|
1562
|
+
- **目标**:建立 LSP,观察标签分配、压入、交换与弹出
|
|
1563
|
+
|
|
1564
|
+
**配置顺序**
|
|
1565
|
+
|
|
1566
|
+
1. **开 MPLS 与 LSR-ID** — 全局 mpls lsr-id 唯一,接口下 mpls 与 mpls ldp
|
|
1567
|
+
- 验证:`display mpls ldp peer`
|
|
1568
|
+
2. **建 LDP 会话** — 两端接口都要开 mpls,LDP 用 UDP 646 建会话、TCP 646 传标签
|
|
1569
|
+
- 验证:`display mpls ldp session`
|
|
1570
|
+
3. **看标签分配** — 每条 IGP 路由被分配一个入标签与出标签
|
|
1571
|
+
- 验证:`display mpls lsp`
|
|
1572
|
+
4. **验证转发** — tracert 或 display mpls lsp 确认报文按标签而非 IP 逐跳转发
|
|
1573
|
+
|
|
1574
|
+
**易错点**
|
|
1575
|
+
|
|
1576
|
+
- 接口未开 mpls 时 LDP 邻居起不来,且路由本身照常工作,容易误判 MPLS 已生效
|
|
1577
|
+
- LSR-ID 重复会导致 LDP 会话反复建立又断开
|
|
1578
|
+
- 标签只在 LSP 上有效,LSP 断裂后回退到 IP 转发,现象是“能通但标签没了”
|
|
1579
|
+
- eNSP 部分低端型号不支持 MPLS,配命令时会直接报错
|
|
1580
|
+
|
|
1581
|
+
**拓扑蓝图**
|
|
1582
|
+
|
|
1583
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、R3 (AR2220)、R4 (AR2220)
|
|
1584
|
+
- 链路:3 条
|
|
1585
|
+
|
|
1586
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1587
|
+
| --- | --- | --- | --- |
|
|
1588
|
+
| R1 | LoopBack0 | 1.1.1.1/32 | LSR-ID |
|
|
1589
|
+
| R2 | LoopBack0 | 2.2.2.2/32 | |
|
|
1590
|
+
| R3 | LoopBack0 | 3.3.3.3/32 | |
|
|
1591
|
+
| R4 | LoopBack0 | 4.4.4.4/32 | |
|
|
1592
|
+
| R1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | |
|
|
1593
|
+
| R2 | GigabitEthernet0/0/0 | 10.0.12.2/24 | |
|
|
1594
|
+
| R2 | GigabitEthernet0/0/1 | 10.0.23.2/24 | |
|
|
1595
|
+
| R3 | GigabitEthernet0/0/0 | 10.0.23.3/24 | |
|
|
1596
|
+
| R3 | GigabitEthernet0/0/1 | 10.0.34.3/24 | |
|
|
1597
|
+
| R4 | GigabitEthernet0/0/0 | 10.0.34.4/24 | |
|
|
1598
|
+
|
|
1599
|
+
生成:`ensp preset mpls-basic --topo mpls-basic.topo`
|
|
1600
|
+
|
|
1601
|
+
### mpls-l3vpn — BGP/MPLS L3VPN
|
|
1602
|
+
|
|
1603
|
+
- **英文名**:BGP/MPLS L3VPN
|
|
1604
|
+
- **来源**:eNSP 常规实验(HCIP 范围)
|
|
1605
|
+
- **设备**:5~6 台路由器(PE/P/CE)
|
|
1606
|
+
- **目标**:两个站点私网通过运营商 MPLS 骨干互通,地址可重叠
|
|
1607
|
+
|
|
1608
|
+
**配置顺序**
|
|
1609
|
+
|
|
1610
|
+
1. **骨干先通** — P 与 PE 之间 IGP + MPLS LDP 全部就绪
|
|
1611
|
+
- 验证:`display mpls ldp session`
|
|
1612
|
+
2. **PE 上建 VRF** — ip vpn-instance 绑定 RD 与 RT,接口划入 VRF
|
|
1613
|
+
- 验证:`display ip vpn-instance`
|
|
1614
|
+
3. **PE-CE 路由** — 静态或 OSPF 把站点路由引入 VRF
|
|
1615
|
+
4. **MP-BGP 传 VPNv4** — PE 间建 IBGP 并开 vpnv4 地址族,配 VPN target 控制导入导出
|
|
1616
|
+
- 验证:`display bgp vpnv4 all routing-table`
|
|
1617
|
+
5. **验证隔离与互通** — 同 VPN 站点互通;不同 VPN 即使地址相同也互不可见
|
|
1618
|
+
|
|
1619
|
+
**易错点**
|
|
1620
|
+
|
|
1621
|
+
- RD 只保证唯一性不影响选路,真正控制导入导出的是 RT
|
|
1622
|
+
- PE 间 IBGP 未开 vpnv4 地址族时 VPN 路由根本不传递
|
|
1623
|
+
- VRF 接口没绑定 vpn-instance,站点路由进不了 VPN 表
|
|
1624
|
+
- RT 配成 import 与 export 不一致是最常见的“单通”原因
|
|
1625
|
+
|
|
1626
|
+
**拓扑蓝图**
|
|
1627
|
+
|
|
1628
|
+
- 设备:PE1 (AR2220)、P (AR2220)、PE2 (AR2220)、CE1 (AR2220)、CE2 (AR2220)
|
|
1629
|
+
- 链路:4 条
|
|
1630
|
+
|
|
1631
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1632
|
+
| --- | --- | --- | --- |
|
|
1633
|
+
| PE1 | LoopBack0 | 1.1.1.1/32 | MP-BGP 的 router-id |
|
|
1634
|
+
| P | LoopBack0 | 2.2.2.2/32 | |
|
|
1635
|
+
| PE2 | LoopBack0 | 3.3.3.3/32 | |
|
|
1636
|
+
| PE1 | GigabitEthernet0/0/0 | 10.0.12.1/24 | 骨干 |
|
|
1637
|
+
| P | GigabitEthernet0/0/0 | 10.0.12.2/24 | |
|
|
1638
|
+
| P | GigabitEthernet0/0/1 | 10.0.23.2/24 | |
|
|
1639
|
+
| PE2 | GigabitEthernet0/0/0 | 10.0.23.3/24 | |
|
|
1640
|
+
| PE1 | GigabitEthernet0/0/1 | 192.168.1.1/24 | VPN 实例 vrf-a |
|
|
1641
|
+
| CE1 | GigabitEthernet0/0/0 | 192.168.1.10/24 | |
|
|
1642
|
+
| PE2 | GigabitEthernet0/0/1 | 192.168.1.2/24 | 同一地址空间,站点隔离 |
|
|
1643
|
+
| CE2 | GigabitEthernet0/0/0 | 192.168.1.20/24 | |
|
|
1644
|
+
|
|
1645
|
+
生成:`ensp preset mpls-l3vpn --topo mpls-l3vpn.topo`
|
|
1646
|
+
|
|
1647
|
+
### dual-homed-isp — 双出口多运营商选路
|
|
1648
|
+
|
|
1649
|
+
- **英文名**:Dual-homed ISP egress
|
|
1650
|
+
- **来源**:eNSP 常规实验(HCIP 范围)
|
|
1651
|
+
- **设备**:2 台出口路由器 + 2 个运营商 + 核心交换机
|
|
1652
|
+
- **目标**:两条出口互为备份,按目的与业务分流,故障时自动切换
|
|
1653
|
+
|
|
1654
|
+
**配置顺序**
|
|
1655
|
+
|
|
1656
|
+
1. **两出口各自建默认路由** — 主出口 preference 60,备出口 preference 80,形成浮动备份
|
|
1657
|
+
- 验证:`display ip routing-table protocol static`
|
|
1658
|
+
2. **按目的分流** — 用 ip-prefix 匹配不同运营商网段,各走各的出口,避免非对称回程
|
|
1659
|
+
3. **挂 BFD 加速切换** — 两条默认路由 bfd enable,链路故障百毫秒级切走
|
|
1660
|
+
- 验证:`display bfd session all`
|
|
1661
|
+
4. **NAT 与回程** — 两出口各自做 easy-ip;运营商侧回程路由必须指回对应出口地址
|
|
1662
|
+
5. **验证主备与分流** — 断开主出口,走主出口的流量应切到备;tracert 确认不同目的走不同运营商
|
|
1663
|
+
|
|
1664
|
+
**易错点**
|
|
1665
|
+
|
|
1666
|
+
- 两条默认路由 preference 相同会形成 ECMP,一半流量走不可用出口
|
|
1667
|
+
- 两出口都做 NAT 但只在一个出口配回程,切换后会出现单向不通
|
|
1668
|
+
- 非对称回程(去走 A、回走 B)会被运营商或防火墙状态检测丢弃
|
|
1669
|
+
- BFD 会话建在运营商链路上时要注意对端是否支持,不支持就退回路由协议检测
|
|
1670
|
+
|
|
1671
|
+
**拓扑蓝图**
|
|
1672
|
+
|
|
1673
|
+
- 设备:R1 (AR2220)、ISP1 (AR2220)、ISP2 (AR2220)、PC1 (PC)
|
|
1674
|
+
- 链路:3 条
|
|
1675
|
+
|
|
1676
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1677
|
+
| --- | --- | --- | --- |
|
|
1678
|
+
| R1 | GigabitEthernet0/0/2 | 192.168.1.254/24 | 内网 |
|
|
1679
|
+
| R1 | GigabitEthernet0/0/0 | 200.1.1.1/30 | ISP1 |
|
|
1680
|
+
| ISP1 | GigabitEthernet0/0/0 | 200.1.1.2/30 | |
|
|
1681
|
+
| R1 | GigabitEthernet0/0/1 | 201.1.1.1/30 | ISP2 |
|
|
1682
|
+
| ISP2 | GigabitEthernet0/0/0 | 201.1.1.2/30 | |
|
|
1683
|
+
| ISP1 | LoopBack0 | 8.8.8.8/32 | 仅 ISP1 宣告,用于观察回程选路 |
|
|
1684
|
+
|
|
1685
|
+
生成:`ensp preset dual-homed-isp --topo dual-homed-isp.topo`
|
|
1686
|
+
|
|
1687
|
+
### firewall-hrp — 防火墙双机热备(HRP)
|
|
1688
|
+
|
|
1689
|
+
- **英文名**:Firewall HA with HRP
|
|
1690
|
+
- **来源**:eNSP Security 延伸
|
|
1691
|
+
- **设备**:2 台 USG 防火墙 + 上下行设备
|
|
1692
|
+
- **目标**:主备防火墙同步会话与配置,主设备故障时业务不中断
|
|
1693
|
+
|
|
1694
|
+
**配置顺序**
|
|
1695
|
+
|
|
1696
|
+
1. **直连心跳口** — 两台之间用独立链路配 hrp interface 与对端 remote 地址,不要与业务口混用
|
|
1697
|
+
- 验证:`display hrp state`
|
|
1698
|
+
2. **开 HRP 并定主备** — 一台 hrp enable,另一台 hrp enable + hrp standby-device
|
|
1699
|
+
- 验证:`display hrp state`
|
|
1700
|
+
3. **同步内容** — hrp auto-sync 同步配置与连接表;hrp mirror session 同步状态化会话
|
|
1701
|
+
4. **上下行做 VRRP** — 两台在上下行接口各跑一组 VRRP,主设备优先级高并 track 上行
|
|
1702
|
+
- 验证:`display vrrp`
|
|
1703
|
+
5. **调 OSPF 代价** — hrp adjust ospf-cost enable 让备机对外发布更高 cost,避免流量被引到备机
|
|
1704
|
+
6. **切换验证** — 断开主设备上行,会话应保持、业务不中断
|
|
1705
|
+
- 验证:`display hrp state / display session table`
|
|
1706
|
+
|
|
1707
|
+
**易错点**
|
|
1708
|
+
|
|
1709
|
+
- 两台都注入默认路由却没调 OSPF 代价,会形成 ECMP,一半流量打到不转发的备机
|
|
1710
|
+
- 心跳口与业务口共用链路时,主设备故障会连带心跳中断,备机可能误判
|
|
1711
|
+
- 只同步配置不同步会话,切换后已建立的 TCP 连接全部中断,表现为“切换即掉线”
|
|
1712
|
+
- HRP 要求两台型号、版本、接口编号一致,否则同步失败
|
|
1713
|
+
|
|
1714
|
+
**拓扑蓝图**
|
|
1715
|
+
|
|
1716
|
+
- 设备:FW1 (USG6000V)、FW2 (USG6000V)、R-UP (AR2220)、R-DOWN (AR2220)
|
|
1717
|
+
- 链路:5 条
|
|
1718
|
+
|
|
1719
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1720
|
+
| --- | --- | --- | --- |
|
|
1721
|
+
| FW1 | GigabitEthernet1/0/0 | 10.1.250.1/24 | VRRP 组 350,虚拟 .253 |
|
|
1722
|
+
| FW2 | GigabitEthernet1/0/0 | 10.1.250.2/24 | 备机同组 |
|
|
1723
|
+
| FW1 | GigabitEthernet1/0/1 | 10.1.249.1/24 | VRRP 组 349,虚拟 .254 |
|
|
1724
|
+
| FW2 | GigabitEthernet1/0/1 | 10.1.249.2/24 | |
|
|
1725
|
+
| FW1 | GigabitEthernet1/0/2 | 10.1.252.1/24 | HRP 心跳,直连 |
|
|
1726
|
+
| FW2 | GigabitEthernet1/0/2 | 10.1.252.2/24 | |
|
|
1727
|
+
| R-UP | GigabitEthernet0/0/0 | 10.1.250.10/24 | 外网侧 |
|
|
1728
|
+
| R-DOWN | GigabitEthernet0/0/0 | 10.1.249.10/24 | 内网侧 |
|
|
1729
|
+
|
|
1730
|
+
生成:`ensp preset firewall-hrp --topo firewall-hrp.topo`
|
|
1731
|
+
- 设备镜像:USG6000V 需要 eNSP 安装时勾选 USG6000V 组件(NGFW 镜像,约 1 GB)。缺镜像时 eNSP 会打开拓扑后自行退出,`ensp up` 会在启动前直接报错说明缺什么。
|
|
1732
|
+
|
|
1733
|
+
### spine-leaf-vxlan — Spine-Leaf 与 VXLAN 大二层
|
|
1734
|
+
|
|
1735
|
+
- **英文名**:Spine-leaf with VXLAN overlay
|
|
1736
|
+
- **来源**:eNSP 数据中心实验(依赖机型支持)
|
|
1737
|
+
- **设备**:2 台 Spine + 2 台 Leaf + 服务器
|
|
1738
|
+
- **目标**:用 VXLAN 在三层互联的 Underlay 上构建大二层 Overlay,虚拟机跨机架迁移
|
|
1739
|
+
|
|
1740
|
+
**配置顺序**
|
|
1741
|
+
|
|
1742
|
+
1. **先建 Underlay** — Spine-Leaf 之间 OSPF 或 BGP 打通,每台 Leaf 有 loopback 作 VTEP 地址
|
|
1743
|
+
- 验证:`display ip routing-table`
|
|
1744
|
+
2. **建 NVE 接口** — interface nve 下 source 指向 VTEP 地址,配 vni 与头端复制列表
|
|
1745
|
+
- 验证:`display nve`
|
|
1746
|
+
3. **建二层网关** — VNI 映射到 Bridge-Domain,BD 绑定 Vlanif 做网关
|
|
1747
|
+
- 验证:`display bridge-domain`
|
|
1748
|
+
4. **配 EVPN 或静态头端** — EVPN 用 BGP evpn 地址族自动发现;静态则手工配 ingress-replication peer
|
|
1749
|
+
5. **验证迁移** — 同网段服务器在不同 Leaf 下互通,IP 不变
|
|
1750
|
+
- 验证:`display vxlan vni`
|
|
1751
|
+
|
|
1752
|
+
**易错点**
|
|
1753
|
+
|
|
1754
|
+
- eNSP 多数交换机型不支持 VXLAN,命令直接报错,需先确认机型能力
|
|
1755
|
+
- VTEP 地址必须用 loopback 且三层可达,用物理口地址会导致 Underlay 变化时隧道断
|
|
1756
|
+
- BD 与 Vlanif 绑定关系配错时 VXLAN 通但网关不通
|
|
1757
|
+
- EVPN 的 route-target 配反会导致本地 VNI 不导入远端路由
|
|
1758
|
+
|
|
1759
|
+
**拓扑蓝图**
|
|
1760
|
+
|
|
1761
|
+
- 设备:SPINE1 (S5700)、SPINE2 (S5700)、LEAF1 (S5700)、LEAF2 (S5700)、PC1 (PC)、PC2 (PC)
|
|
1762
|
+
- 链路:6 条
|
|
1763
|
+
|
|
1764
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1765
|
+
| --- | --- | --- | --- |
|
|
1766
|
+
| SPINE1 | LoopBack0 | 10.0.255.11/32 | BGP 邻居 / VTEP 源 |
|
|
1767
|
+
| SPINE2 | LoopBack0 | 10.0.255.12/32 | |
|
|
1768
|
+
| LEAF1 | LoopBack0 | 10.0.255.21/32 | VTEP |
|
|
1769
|
+
| LEAF2 | LoopBack0 | 10.0.255.22/32 | |
|
|
1770
|
+
| LEAF1 | Vlanif10 | 192.168.10.252/24 | 分布式网关 |
|
|
1771
|
+
| LEAF2 | Vlanif10 | 192.168.10.253/24 | |
|
|
1772
|
+
|
|
1773
|
+
生成:`ensp preset spine-leaf-vxlan --topo spine-leaf-vxlan.topo`
|
|
1774
|
+
|
|
1775
|
+
### ipsec-gre-tunnel — IPsec 与 GRE 隧道组合
|
|
1776
|
+
|
|
1777
|
+
- **英文名**:IPsec over GRE and tunnel backup
|
|
1778
|
+
- **来源**:eNSP HCNA Lab 3-4 延伸
|
|
1779
|
+
- **设备**:2 台出口路由器
|
|
1780
|
+
- **目标**:GRE 承载组播/动态路由,IPsec 保护它;或两条隧道互为备份
|
|
1781
|
+
|
|
1782
|
+
**配置顺序**
|
|
1783
|
+
|
|
1784
|
+
1. **先建 GRE 隧道** — tunnel 接口指定 source/destination 与 tunnel 地址,两端地址同网段
|
|
1785
|
+
- 验证:`display interface Tunnel`
|
|
1786
|
+
2. **在隧道上跑路由** — 隧道口宣告进 OSPF,让两端私网通过隧道学到对方路由
|
|
1787
|
+
- 验证:`display ospf peer`
|
|
1788
|
+
3. **用 IPsec 保护 GRE** — 感兴趣流写 GRE 两端公网地址之间的协议 47,套 ipsec policy
|
|
1789
|
+
- 验证:`display ipsec sa`
|
|
1790
|
+
4. **备选:两条隧道浮动** — 两条 tunnel 配不同 cost/preference,主隧道断时切备
|
|
1791
|
+
5. **验证** — display ipsec sa 有加密统计;断开主链路后流量走备隧道
|
|
1792
|
+
|
|
1793
|
+
**易错点**
|
|
1794
|
+
|
|
1795
|
+
- IPsec 感兴趣流的协议写错(写成 ip 或 tcp)会导致 GRE 报文不被加密
|
|
1796
|
+
- GRE 本身不加密,只 IPsec 保护才是安全的;只配 GRE 等于明文隧道
|
|
1797
|
+
- 隧道两端地址不在同网段时隧道 up 但路由不通
|
|
1798
|
+
- GRE 会增加 24 字节开销,MTU 未调会导致大包被丢(表现为能 ping 通但网页打不开)
|
|
1799
|
+
|
|
1800
|
+
**拓扑蓝图**
|
|
1801
|
+
|
|
1802
|
+
- 设备:R1 (AR2220)、R2 (AR2220)、ISP (AR2220)
|
|
1803
|
+
- 链路:2 条
|
|
1804
|
+
|
|
1805
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1806
|
+
| --- | --- | --- | --- |
|
|
1807
|
+
| R1 | GigabitEthernet0/0/0 | 100.1.1.1/30 | 公网侧 |
|
|
1808
|
+
| ISP | GigabitEthernet0/0/0 | 100.1.1.2/30 | |
|
|
1809
|
+
| ISP | GigabitEthernet0/0/1 | 100.2.2.2/30 | |
|
|
1810
|
+
| R2 | GigabitEthernet0/0/0 | 100.2.2.1/30 | |
|
|
1811
|
+
| R1 | Tunnel0/0/0 | 10.1.1.1/24 | GRE over IPsec |
|
|
1812
|
+
| R2 | Tunnel0/0/0 | 10.1.1.2/24 | |
|
|
1813
|
+
|
|
1814
|
+
生成:`ensp preset ipsec-gre-tunnel --topo ipsec-gre-tunnel.topo`
|
|
1815
|
+
|
|
1816
|
+
### wlan-roaming — WLAN 漫游与 AC 高可用
|
|
1817
|
+
|
|
1818
|
+
- **英文名**:WLAN roaming and AC redundancy
|
|
1819
|
+
- **来源**:eNSP WLAN 实验延伸
|
|
1820
|
+
- **设备**:2 台 AC(或 1 AC + 多 AP)+ 交换机
|
|
1821
|
+
- **目标**:终端在 AP 间移动时不断线,AC 故障时 AP 重新上线
|
|
1822
|
+
|
|
1823
|
+
**配置顺序**
|
|
1824
|
+
|
|
1825
|
+
1. **AP 上线** — 所有 AP 拿到管理地址并成功注册到 AC
|
|
1826
|
+
- 验证:`display ap all`
|
|
1827
|
+
2. **统一 SSID 与安全模板** — 同一 SSID、同一安全策略、同一 VLAN 才能二层漫游
|
|
1828
|
+
3. **开漫游** — 同一 AC 内默认支持;跨 AC 需配漫游组与 AC 间隧道
|
|
1829
|
+
- 验证:`display station roam-track`
|
|
1830
|
+
4. **AC 备份** — AP 配主备 AC 地址,主 AC 故障后 AP 切到备 AC 重新上线
|
|
1831
|
+
5. **验证漫游** — 终端移动时看 roam-track 记录,ping 应基本不丢包
|
|
1832
|
+
|
|
1833
|
+
**易错点**
|
|
1834
|
+
|
|
1835
|
+
- 不同 SSID 或不同安全模板无法漫游,终端会先断再连
|
|
1836
|
+
- 跨 AC 漫游未建漫游组时终端会重新认证,表现为断线几秒
|
|
1837
|
+
- AP 主备 AC 地址配了但 AC 间路由不通,主 AC 挂后备 AC 也拉不起 AP
|
|
1838
|
+
- 漫游要求 VLAN 在二层连续,跨三层需要隧道或 VXLAN
|
|
1839
|
+
|
|
1840
|
+
**拓扑蓝图**
|
|
1841
|
+
|
|
1842
|
+
- 设备:AC (AC6005)、SW1 (S5700)、SW2 (S5700)、AP1 (AP6050)、AP2 (AP6050)、PC1 (PC)
|
|
1843
|
+
- 链路:4 条
|
|
1844
|
+
|
|
1845
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1846
|
+
| --- | --- | --- | --- |
|
|
1847
|
+
| AC | Vlanif100 | 192.168.100.1/24 | CAPWAP 源 |
|
|
1848
|
+
| AC | Vlanif50 | 192.168.50.254/24 | 业务网关(漫游域) |
|
|
1849
|
+
| SW1 | Vlanif100 | 192.168.100.252/24 | |
|
|
1850
|
+
| SW2 | Vlanif100 | 192.168.100.253/24 | |
|
|
1851
|
+
|
|
1852
|
+
生成:`ensp preset wlan-roaming --topo wlan-roaming.topo`
|
|
1853
|
+
|
|
471
1854
|
### campus-network — 园区网综合(双核心 + 接入 + 出口)
|
|
472
1855
|
|
|
473
1856
|
- **英文名**:Campus network (dual core, access, edge)
|
|
@@ -492,3 +1875,28 @@
|
|
|
492
1875
|
|
|
493
1876
|
- 先配三层再配二层会导致 Vlanif 反复 up/down
|
|
494
1877
|
- 双核心未做 VRRP 优先级与 track 会产生双主
|
|
1878
|
+
|
|
1879
|
+
**拓扑蓝图**
|
|
1880
|
+
|
|
1881
|
+
- 设备:CORE1 (S5700)、CORE2 (S5700)、ACC1 (S5700)、ACC2 (S5700)、EDGE1 (AR2220)、EDGE2 (AR2220)、FW1 (USG6000V)、SRV-SW (S5700)、SRV1 (Server)、PC1 (PC)、PC2 (PC)
|
|
1882
|
+
- 链路:14 条
|
|
1883
|
+
|
|
1884
|
+
| 设备 | 接口 | 地址 | 说明 |
|
|
1885
|
+
| --- | --- | --- | --- |
|
|
1886
|
+
| CORE1 | Vlanif10 | 10.1.10.252/24 | PC 网段网关(VRRP 主) |
|
|
1887
|
+
| CORE2 | Vlanif10 | 10.1.10.253/24 | VRRP 备 |
|
|
1888
|
+
| CORE1 | Vlanif20 | 10.1.20.252/24 | |
|
|
1889
|
+
| CORE2 | Vlanif20 | 10.1.20.253/24 | |
|
|
1890
|
+
| CORE1 | Vlanif31 | 10.1.31.1/24 | 设备管理网段 |
|
|
1891
|
+
| CORE2 | Vlanif31 | 10.1.31.2/24 | |
|
|
1892
|
+
| EDGE1 | GigabitEthernet0/0/0 | 10.1.31.11/24 | 出口到核心 |
|
|
1893
|
+
| EDGE2 | GigabitEthernet0/0/0 | 10.1.31.12/24 | |
|
|
1894
|
+
| EDGE1 | GigabitEthernet0/0/1 | 10.1.250.1/24 | 出口到防火墙(内外两段) |
|
|
1895
|
+
| EDGE2 | GigabitEthernet0/0/1 | 10.1.250.2/24 | |
|
|
1896
|
+
| FW1 | GigabitEthernet1/0/0 | 10.1.249.1/24 | trust 区域 |
|
|
1897
|
+
| FW1 | GigabitEthernet1/0/1 | 10.1.250.254/24 | untrust 区域 |
|
|
1898
|
+
| FW1 | GigabitEthernet1/0/2 | 10.1.40.1/24 | dmz 区域 |
|
|
1899
|
+
| SRV1 | Ethernet0/0/1 | 10.1.40.10/24 | 对外发布服务器 |
|
|
1900
|
+
|
|
1901
|
+
生成:`ensp preset campus-network --topo campus-network.topo`
|
|
1902
|
+
- 设备镜像:USG6000V 需要 eNSP 安装时勾选 USG6000V 组件(NGFW 镜像,约 1 GB)。缺镜像时 eNSP 会打开拓扑后自行退出,`ensp up` 会在启动前直接报错说明缺什么。
|