简介:这份资源面向高校网络工程、计算机相关专业的学生与授课教师,提供一套基于eNSP平台搭建的大型校园网络拓扑设计方案及可执行项目源码,可用于毕业设计、期末大作业与课程设计等场景,难度定位适中,适合具备一定网络基础的学习者动手实践。压缩包共38个文件,约305KB,以efz设备镜像、cfg配置文件、xml与zbak备份、topo拓扑文件及md说明文档为主,覆盖路由器、交换机与终端设备的完整组网配置,导入eNSP后即可还原拓扑并验证连通性。目前已有65人学习下载。方案经过本地环境编译验证,可执行性完整,评审成绩优异,并附有系统化整理的技术文档与配置代码,读者可直接获取部署,对照拓扑理解VLAN划分、路由配置与设备互联思路,快速完成实验复现与项目交付。
1. 从一张“能跑起来”的校园网拓扑说起:eNSP 大型组网到底在解决什么
很多做校园网络毕业设计或课程实训的人,卡住的地方从来不是“画不出拓扑图”,而是画完之后设备起不来、VLAN 不通、OSPF 邻居卡在 ExStart、BGP 路由选来选去选错了路。标题里说的“基于 eNSP 平台构建的大型校园网络拓扑设计方案及可执行项目源码”,本质上是两件事:一是用 eNSP 这个华为官方模拟器,把一所学校从接入层、汇聚层、核心层到出口的完整网络结构搭出来;二是让这套拓扑不只是“看着像”,而是每一台设备都能启动、每一条链路都能 ping 通、每一段路由都有明确来源。
它适合三类人:正在做 ensp 校园网络毕业设计、需要一套能演示能答辩的完整方案的学生;准备 HCIP 或 HCIA 实验、想拿一个综合场景练 OSPF 和 BGP 的备考者;以及刚接触 eNSP、被“启动设备 AR1 失败 40”和“USG6000V 启动总是井号”折磨过的初学者。这篇文章不讲空泛的“网络分层思想”,而是顺着一个真实可复现的校园网拓扑,把设备选型、IP 规划、VLAN 划分、OSPF 与 BGP 配置、防火墙接入、以及那些让人抓狂的启动报错,一层层拆开讲清楚。读完你应该能自己从零搭出一套能跑通的校园网,而不是对着别人的拓扑图发呆。
2. 大型校园网的分层设计与 eNSP 设备选型:为什么不能一台路由器走天下
校园网和家庭网络最大的区别在于规模。一栋教学楼可能有几十个教室、上百台终端,再加上办公楼、宿舍区、图书馆、数据中心,如果所有流量都压在一台设备上,广播域会大到广播风暴随时爆发,单点故障也会让全校断网。所以大型校园网必须做分层,常见做法是接入层、汇聚层、核心层三层结构,出口再挂防火墙和边界路由器。这一章先把设计逻辑和设备选型讲透,下一章再落到具体配置。
2.1 三层架构各自扛什么活
接入层直接面对终端,教室里的 PC、办公室的打印机、宿舍的笔记本都接在这里。接入层设备的核心任务是划分 VLAN、做端口隔离、限制广播域。在 eNSP 里通常用 S3700 或 S5700 系列交换机模拟,它们支持 VLAN、端口安全、DHCP Snooping 这些接入层必备功能。接入层不需要跑复杂路由,默认网关指向汇聚层即可。
汇聚层是接入层和核心层之间的缓冲。它要做的事情包括:终结各个 VLAN、做三层转发、跑 OSPF 把接入网段宣告出去、对上行链路做链路聚合。eNSP 里常用 S5700 或 S6700 系列,如果要做三层转发需要选支持三层功能的型号。汇聚层一般成对部署,两台设备之间跑 VRRP 做网关冗余,这样一台挂了另一台能顶上。
核心层只负责高速转发,不做过多的策略控制。它连接各个汇聚层设备、数据中心和出口防火墙。核心层设备要求转发性能高、接口密度大,eNSP 里可以用 S7700 系列或者直接用 AR 系列路由器模拟。核心层跑 OSPF 骨干区域,同时和出口路由器建立 BGP 邻居,把校园内网路由和外部路由打通。
出口区域放防火墙和边界路由器。防火墙用 USG6000V 模拟,做 NAT、安全策略、流量过滤;边界路由器用 AR 系列,和运营商侧建立 BGP 邻居,接收默认路由或特定路由。这样内网用 OSPF、外网用 BGP,边界做重分发,是校园网最经典的组合。
2.2 eNSP 里选设备要避开的三个坑
第一个坑是设备型号和功能不匹配。比如你想在接入层交换机上配interface Vlanif做三层网关,但选的是 S3700,它根本不支持三层接口,命令敲下去直接报错。选型时一定要确认设备支持的功能:二层 VLAN、三层路由、OSPF、BGP、VRRP、ACL,这些在 eNSP 里不同型号支持程度不一样。常见做法是接入层用 S3700,汇聚和核心用 S5700 或 S6700,出口用 AR2220 或 AR3260。
第二个坑是设备启动资源占用。eNSP 本质上是把真实设备的 VR 镜像跑在本地,每台设备都要吃内存和 CPU。一个大型校园网拓扑动辄二三十台设备,如果电脑内存只有 8G,启动到一半就会卡死或者报“启动设备 AR1 失败 40”。这个报错 40 通常不是配置问题,而是资源不足或镜像注册异常。解决办法后面避坑章节会细讲。
第三个坑是链路类型选错。eNSP 里设备之间连线有 Ethernet、Serial、POS 等多种类型,选错了接口起不来。园区内一般用 Ethernet 线,广域网模拟用 Serial 线并配时钟频率。如果两台路由器之间用 Ethernet 线却配了clock rate,命令会被拒绝。
2.3 一个可落地的校园网拓扑骨架
下面这个骨架是我做校园网方案时常用的结构,你可以直接照着在 eNSP 里拖设备。核心层两台 S7700 做堆叠或 VRRP,汇聚层按区域分:教学区一对 S5700、办公区一对 S5700、宿舍区一对 S5700。每个汇聚区下挂若干 S3700 接入交换机。出口一台 USG6000V 防火墙,外面接一台 AR3260 边界路由器。数据中心单独挂一台 S5700 接服务器。
IP 规划上,内网用 10.x.x.x 私有地址,按区域划网段:教学区 10.10.0.0/16,办公区 10.20.0.0/16,宿舍区 10.30.0.0/16,数据中心 10.100.0.0/16,设备互联地址用 10.255.x.x/30。VLAN 划分上,每个区域内部再按功能分 VLAN,比如教学区 VLAN 10 给教师机、VLAN 20 给学生机、VLAN 30 给多媒体设备。这样广播域被限制在单个 VLAN 内,出 VLAN 必须经过三层网关。
提示:拓扑骨架先画在纸上或 Visio 里,确认设备数量和连线关系后再去 eNSP 里拖,能省掉大量返工时间。eNSP 的拓扑文件建议每完成一个区域就另存一份,避免一处配错全盘重来。
3. 从零配通一台设备:eNSP 基础配置与 VLAN 间路由的落地步骤
设备拖出来只是第一步,真正让网络“活”起来的是配置。这一章从单台设备的基础配置讲起,再到 VLAN 划分和 VLAN 间通信,最后把 OSPF 跑起来。每一步都给可复制的命令和参数说明,你照着敲就能看到效果。
3.1 设备命名、管理 IP 和远程登录
刚启动的设备是空配置,第一件事是改主机名、配管理 IP、开 SSH 或 Telnet。管理 IP 一般放在一个独立的管理 VLAN 里,比如 VLAN 1 或专门的 VLAN 100。下面以一台汇聚交换机为例。
<Huawei> system-view [Huawei] sysname HQ-Agg-S5700 [HQ-Agg-S5700] vlan batch 10 20 30 100 [HQ-Agg-S5700] interface Vlanif 100 [HQ-Agg-S5700-Vlanif100] ip address 10.255.100.1 24 [HQ-Agg-S5700-Vlanif100] quit [HQ-Agg-S5700] interface GigabitEthernet 0/0/24 [HQ-Agg-S5700-GigabitEthernet0/0/24] port link-type access [HQ-Agg-S5700-GigabitEthernet0/0/24] port default vlan 100 [HQ-Agg-S5700-GigabitEthernet0/0/24] quit [HQ-Agg-S5700] aaa [HQ-Agg-S5700-aaa] local-user admin password cipher Huawei@123 [HQ-Agg-S5700-aaa] local-user admin privilege level 15 [HQ-Agg-S5700-aaa] local-user admin service-type ssh [HQ-Agg-S5700-aaa] quit [HQ-Agg-S5700] stelnet server enable [HQ-Agg-S5700] user-interface vty 0 4 [HQ-Agg-S5700-ui-vty0-4] authentication-mode aaa [HQ-Agg-S5700-ui-vty0-4] protocol inbound ssh [HQ-Agg-S5700-ui-vty0-4] quit这段配置的逻辑是:先批量创建 VLAN,再给管理 VLAN 配 IP 作为设备的带外管理地址,然后把物理接口划进管理 VLAN,最后开 AAA 和 SSH。password cipher表示密码以密文存储,privilege level 15是最高权限。stelnet server enable开启 SSH 服务,protocol inbound ssh限制 VTY 只接受 SSH 登录。参数上,管理 IP 的网段要和其他设备的管理 IP 在同一网段,方便统一管理。如果设备多,建议用 DHCP 给管理口分配地址,但核心设备一般用静态。
3.2 VLAN 划分与 Access/Trunk 接口配置
VLAN 是校园网隔离广播域的基本手段。接入层交换机上,连接终端的接口配成 Access 模式并划入对应 VLAN;连接汇聚层的上行接口配成 Trunk 模式,允许多个 VLAN 通过。下面是一台接入交换机的典型配置。
<Huawei> system-view [Huawei] sysname Teach-Acc-S3700 [Teach-Acc-S3700] vlan batch 10 20 30 [Teach-Acc-S3700] interface Ethernet 0/0/1 [Teach-Acc-S3700-Ethernet0/0/1] port link-type access [Teach-Acc-S3700-Ethernet0/0/1] port default vlan 10 [Teach-Acc-S3700-Ethernet0/0/1] quit [Teach-Acc-S3700] interface Ethernet 0/0/2 [Teach-Acc-S3700-Ethernet0/0/2] port link-type access [Teach-Acc-S3700-Ethernet0/0/2] port default vlan 20 [Teach-Acc-S3700-Ethernet0/0/2] quit [Teach-Acc-S3700] interface GigabitEthernet 0/0/1 [Teach-Acc-S3700-GigabitEthernet0/0/1] port link-type trunk [Teach-Acc-S3700-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 20 30 [Teach-Acc-S3700-GigabitEthernet0/0/1] quit这里 Ethernet 0/0/1 接教师机划入 VLAN 10,Ethernet 0/0/2 接学生机划入 VLAN 20,上行口 GigabitEthernet 0/0/1 配成 Trunk 并允许 VLAN 10、20、30 通过。参数上,port default vlan后面跟的是 VLAN ID,port trunk allow-pass vlan后面可以跟单个 ID、多个 ID 或all。生产环境不建议用all,按需放行更安全。如果 Trunk 两端允许的 VLAN 不一致,会出现“一端能通一端不通”的玄学问题,排查时先display port vlan看两端放行列表。
3.3 VLAN 间路由:三层交换机上的 Vlanif 配置
VLAN 之间默认不能通信,要让 VLAN 10 能访问 VLAN 20,必须在三层设备上给每个 VLAN 配一个 Vlanif 接口作为网关。这个网关通常放在汇聚层交换机上。配置如下。
[HQ-Agg-S5700] interface Vlanif 10 [HQ-Agg-S5700-Vlanif10] ip address 10.10.10.1 24 [HQ-Agg-S5700-Vlanif10] quit [HQ-Agg-S5700] interface Vlanif 20 [HQ-Agg-S5700-Vlanif20] ip address 10.10.20.1 24 [HQ-Agg-S5700-Vlanif20] quit [HQ-Agg-S5700] interface Vlanif 30 [HQ-Agg-S5700-Vlanif30] ip address 10.10.30.1 24 [HQ-Agg-S5700-Vlanif30] quit配完之后,VLAN 10 里的 PC 把网关指向 10.10.10.1,VLAN 20 里的 PC 网关指向 10.10.20.1,两者就能互相 ping 通。参数上,Vlanif 的 IP 就是对应 VLAN 的网关地址,掩码决定这个 VLAN 能容纳多少主机。/24掩码对应 254 个可用地址,如果某个 VLAN 终端超过 254 台,需要缩小掩码或拆分 VLAN。注意 Vlanif 接口的物理状态取决于该 VLAN 下是否有 up 的物理端口,如果 VLAN 里一个端口都没 up,Vlanif 会是 down 状态,这是新手常踩的坑。
3.4 用 OSPF 把各区域路由打通
单台三层交换机内部 VLAN 间能通,但不同汇聚区之间还需要路由。校园网内网通常跑 OSPF,把各个网段宣告进骨干区域。下面以核心交换机为例。
<Huawei> system-view [Huawei] sysname Core-S7700 [Core-S7700] ospf 1 router-id 10.255.0.1 [Core-S7700-ospf-1] area 0 [Core-S7700-ospf-1-area-0.0.0.0] network 10.255.0.0 0.0.255.255 [Core-S7700-ospf-1-area-0.0.0.0] network 10.10.0.0 0.0.255.255 [Core-S7700-ospf-1-area-0.0.0.0] network 10.20.0.0 0.0.255.255 [Core-S7700-ospf-1-area-0.0.0.0] network 10.30.0.0 0.0.255.255 [Core-S7700-ospf-1-area-0.0.0.0] quit [Core-S7700-ospf-1] quitrouter-id建议手动指定,用 Loopback 地址或管理地址,避免自动选举出奇怪的 ID。network命令后面跟的是网段和反掩码,0.0.255.255对应/16的网段。所有需要互通的内网网段都要宣告进 OSPF,否则路由表里没有对应条目。配完后用display ospf peer brief看邻居状态,正常应该是 Full。如果卡在 ExStart,多半是 MTU 不匹配或 router-id 冲突;卡在 2-Way 通常是 DR/BDR 选举问题,广播网络里正常。
注意:OSPF 宣告网段时,反掩码容易写错。
/24的反掩码是0.0.0.255,/16是0.0.255.255,/30是0.0.0.3。写错会导致部分网段宣告不进去,路由表缺条目,排查时用display ospf lsdb看链路状态数据库里有没有对应 LSA。
4. 出口与边界:防火墙 USG6000V 接入和 BGP 路由控制
内网通了之后,校园网还要能访问外部网络,同时外部不能随便访问内网。这一章讲出口防火墙的接入配置、NAT 转换、安全策略,以及边界路由器上 BGP 的基本配置和路由控制。这部分是 HCIP 考试和毕业设计答辩的高频考点。
4.1 USG6000V 防火墙的 Web 登录与初始配置
eNSP 里的 USG6000V 启动后默认没有 IP,需要通过 Console 口或 Web 口做初始配置。很多人卡在“USG6000V 启动总是井号”,其实井号是启动过程中的正常输出,等它跑完出现登录提示才算启动成功。如果一直井号不结束,多半是镜像问题或内存不足。初始配置如下。
<USG6000V> system-view [USG6000V] interface GigabitEthernet 1/0/0 [USG6000V-GigabitEthernet1/0/0] ip address 192.168.0.1 24 [USG6000V-GigabitEthernet1/0/0] service-manage https permit [USG6000V-GigabitEthernet1/0/0] service-manage ping permit [USG6000V-GigabitEthernet1/0/0] quit [USG6000V] web-manager enable这段配置给 GE1/0/0 配了 192.168.0.1/24,并允许 HTTPS 和 ping 管理。然后浏览器访问https://192.168.0.1,默认账号密码通常是admin/Admin@123,首次登录会要求改密码。Web 界面里可以配安全区域、安全策略、NAT 策略,比命令行直观。参数上,service-manage控制哪些协议能访问这个接口,生产环境建议只开 HTTPS,关掉 ping 和 HTTP。
4.2 安全区域划分与 NAT 配置
防火墙的核心概念是安全区域。内网接口划入 trust 区域,外网接口划入 untrust 区域,DMZ 服务器划入 dmz 区域。默认情况下 trust 到 untrust 的流量被拒绝,需要配安全策略放行。同时内网访问外网要做源 NAT,把私有地址转换成公网地址。
[USG6000V] firewall zone trust [USG6000V-zone-trust] add interface GigabitEthernet 1/0/1 [USG6000V-zone-trust] quit [USG6000V] firewall zone untrust [USG6000V-zone-untrust] add interface GigabitEthernet 1/0/2 [USG6000V-zone-untrust] quit [USG6000V] security-policy [USG6000V-policy-security] rule name trust_to_untrust [USG6000V-policy-security-rule-trust_to_untrust] source-zone trust [USG6000V-policy-security-rule-trust_to_untrust] destination-zone untrust [USG6000V-policy-security-rule-trust_to_untrust] action permit [USG6000V-policy-security-rule-trust_to_untrust] quit [USG6000V-policy-security] quit [USG6000V] nat-policy [USG6000V-policy-nat] rule name snat_out [USG6000V-policy-nat-rule-snat_out] source-zone trust [USG6000V-policy-nat-rule-snat_out] destination-zone untrust [USG6000V-policy-nat-rule-snat_out] action source-nat easy-ip [USG6000V-policy-nat-rule-snat_out] quit [USG6000V-policy-nat] quitadd interface把物理接口加入安全区域,security-policy里配放行规则,nat-policy里配源 NAT。easy-ip表示用出接口的 IP 做 NAT 转换,适合只有一个公网地址的场景。如果有多条出口链路,可以用 NAT 地址池。参数上,安全策略的匹配顺序是从上到下,命中即停止,所以规则顺序很重要,具体的规则要放在宽泛规则前面。
4.3 边界路由器上的 BGP 邻居与路由宣告
校园网出口路由器一般和运营商建立 EBGP 邻居,接收运营商下发的路由或默认路由,同时把自己的公网网段宣告出去。下面是一个典型的 EBGP 配置。
<Huawei> system-view [Huawei] sysname Border-AR3260 [Border-AR3260] interface GigabitEthernet 0/0/0 [Border-AR3260-GigabitEthernet0/0/0] ip address 200.1.1.2 30 [Border-AR3260-GigabitEthernet0/0/0] quit [Border-AR3260] bgp 65001 [Border-AR3260-bgp] router-id 10.255.0.254 [Border-AR3260-bgp] peer 200.1.1.1 as-number 65000 [Border-AR3260-bgp] peer 200.1.1.1 description To-ISP [Border-AR3260-bgp] ipv4-family unicast [Border-AR3260-bgp-af-ipv4] peer 200.1.1.1 enable [Border-AR3260-bgp-af-ipv4] network 200.1.1.0 255.255.255.252 [Border-AR3260-bgp-af-ipv4] quit [Border-AR3260-bgp] quitbgp 65001是本端 AS 号,peer 200.1.1.1 as-number 65000指定对端 IP 和 AS 号。ipv4-family unicast下用peer enable激活邻居,network宣告本端公网网段。参数上,AS 号在实验环境可以随便用,但生产环境必须用运营商分配的。network宣告的网段必须在本机路由表里存在,否则 BGP 不会宣告。如果邻居起不来,先display bgp peer看状态,Idle 通常是 TCP 连不上,检查 IP 可达性和 ACL 是否挡了 179 端口。
4.4 BGP 路由控制:用 Local Preference 和 MED 影响选路
BGP 选路规则多,实际项目里最常用的是 Local Preference 和 MED。Local Preference 影响本 AS 出流量,值越大越优先;MED 影响邻居 AS 入流量,值越小越优先。下面是一个双出口场景的配置示例。
[Border-AR3260] bgp 65001 [Border-AR3260-bgp] ipv4-family unicast [Border-AR3260-bgp-af-ipv4] peer 200.1.1.1 route-policy LP_IN import [Border-AR3260-bgp-af-ipv4] quit [Border-AR3260-bgp] quit [Border-AR3260] route-policy LP_IN permit node 10 [Border-AR3260-route-policy] apply local-preference 200 [Border-AR3260-route-policy] quit这段配置对从 200.1.1.1 收到的路由设置 Local Preference 为 200,默认是 100,所以这条链路的路由会被优先选择。参数上,route-policy的节点号小的先匹配,apply local-preference的值范围是 0 到 4294967295。如果要做更精细的控制,可以配合if-match匹配特定网段。注意 Local Preference 只在 IBGP 邻居间传递,EBGP 收到的路由默认不带这个属性。
提示:BGP 配置改完后,用
display bgp routing-table看路由表,用display bgp routing-table 目标网段看具体路由的属性和选路结果。如果选路不符合预期,按 BGP 选路顺序逐条排查:Weight、Local Preference、本地始发、AS Path、Origin、MED、EBGP 优于 IBGP、IGP 开销、Router ID。
5. eNSP 大型拓扑的避坑与排查:启动失败、邻居不通、路由缺失
这一章专门讲踩坑。eNSP 用久了会发现,很多问题不是配置错,而是环境或操作细节导致的。下面 5 条是我自己踩过、也帮别人排查过的高频问题,每条按现象、原因、解决来写。
5.1 启动设备 AR1 失败 40
现象:拓扑里拖出路由器,右键启动,弹窗报“启动设备 AR1 失败 40”,设备图标一直是灰色。
原因:这个报错 40 最常见的原因是 eNSP 的虚拟网卡或 VR 镜像注册异常,其次是内存不足。Windows 上 eNSP 依赖 VirtualBox 提供虚拟化,如果 VirtualBox 版本和 eNSP 不匹配,或者虚拟网卡被禁用,就会报 40。
解决:先确认 VirtualBox 能正常打开,在 VirtualBox 里看有没有 eNSP 创建的虚拟机。然后检查 Windows 网络适配器里有没有 VirtualBox Host-Only 网卡,没有就重装 VirtualBox。再检查 eNSP 的“菜单-工具-注册设备”,重新注册一遍。如果还不行,关掉 eNSP 和 VirtualBox,以管理员身份重新打开 eNSP。内存方面,8G 内存的机器建议同时启动的设备不超过 10 台,大型拓扑分批启动。
5.2 USG6000V 启动一直显示井号
现象:USG6000V 启动后控制台一直刷#,等很久也不出现登录提示。
原因:井号是防火墙启动过程中加载镜像的正常输出,但如果一直不结束,通常是镜像文件损坏、内存分配不足,或者 eNSP 版本和 USG6000V 镜像不兼容。
解决:先等 5 到 10 分钟,防火墙镜像大,启动慢是正常的。如果超过 10 分钟还在刷井号,关掉设备,在 eNSP 里删除该设备重新拖一台。检查 USG6000V 的镜像文件是否完整,常见做法是重新下载官方镜像包并导入。内存方面,USG6000V 至少需要 2G 内存,如果主机内存紧张,先关掉其他设备再启动防火墙。
5.3 OSPF 邻居卡在 ExStart 或 2-Way
现象:display ospf peer brief显示邻居状态是 ExStart 或 2-Way,路由学不过来。
原因:ExStart 通常是 MTU 不匹配或 router-id 冲突。两台设备接口 MTU 不一致时,DD 报文协商失败,邻居卡在 ExStart。2-Way 在广播网络里是正常状态,但如果所有邻居都是 2-Way 且没有 Full,说明 DR/BDR 没选出来,可能是接口优先级都是 0。
解决:ExStart 先display interface看两端 MTU,不一致就改成一样,常见值是 1500。router-id 冲突用display ospf看本端 ID,改掉重复的。2-Way 问题检查接口优先级,display ospf interface看 Pri 字段,如果都是 0,把至少一台设备的优先级改成 1 以上。广播网络里 DR 选举需要时间,等 40 秒再看。
5.4 VLAN 间通了但访问外网不通
现象:内网 VLAN 之间能 ping 通,但 ping 外网地址不通,或者能 ping 通 IP 但打不开网页。
原因:通常是三个问题之一:出口路由器没有回程路由、防火墙 NAT 没生效、安全策略没放行。内网包能出去但回不来,是因为外网设备不知道内网私有网段怎么走。
解决:先在边界路由器上display ip routing-table看有没有内网网段的路由,没有就在 OSPF 和 BGP 之间做重分发,或者写静态路由指回内网。然后在防火墙上display nat-policy看 NAT 规则是否命中,用display firewall session table看会话有没有建立。安全策略方面,确认 trust 到 untrust 的规则是 permit,且规则顺序没有被前面的 deny 规则挡住。
5.5 拓扑保存后重新打开设备配置丢失
现象:eNSP 拓扑保存了,第二天打开发现设备配置全没了,或者部分设备起不来。
原因:eNSP 的设备配置默认存在临时目录,如果没在设备里执行save,关掉设备后配置就丢了。另外 eNSP 的拓扑文件如果路径里有中文或特殊字符,重新打开时可能加载失败。
解决:每台设备配置完关键步骤后,在用户视图下执行save,确认保存成功。拓扑文件保存路径用纯英文,不要放在桌面或中文目录下。如果设备起不来,先删掉设备重新拖一台,再把备份的配置粘贴进去。常见做法是每完成一个区域就把所有设备save一遍,然后导出拓扑文件另存。
6. 让方案真正可交付:配置备份、验证脚本和答辩演示技巧
搭完拓扑、配通网络只是及格线,要让这套校园网方案真正能交付、能答辩、能给别人复现,还需要做三件事:配置备份、自动化验证、以及一套清晰的演示流程。这一章讲我平时怎么收尾,都是能直接用的技巧。
配置备份最土但最可靠的办法是逐台display current-configuration复制出来存成文本文件,按设备名命名。设备多的话,可以在每台设备上配 FTP 或 TFTP,用脚本批量备份。eNSP 里可以用一台 PC 开 FTP 服务,设备上执行tftp 服务器IP put vrpcfg.zip把配置文件传上去。下面是一个批量备份的思路,用 Python 的 paramiko 库 SSH 到设备拉配置。
import paramiko import time devices = [ {"ip": "10.255.100.1", "user": "admin", "pass": "Huawei@123", "name": "HQ-Agg-S5700"}, {"ip": "10.255.100.2", "user": "admin", "pass": "Huawei@123", "name": "Core-S7700"}, ] for dev in devices: ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(dev["ip"], username=dev["user"], password=dev["pass"], timeout=10) shell = ssh.invoke_shell() time.sleep(1) shell.send("screen-length 0 temporary\n") time.sleep(1) shell.send("display current-configuration\n") time.sleep(5) output = shell.recv(65535).decode("utf-8", errors="ignore") with open(f"{dev['name']}.cfg", "w", encoding="utf-8") as f: f.write(output) ssh.close() print(f"{dev['name']} 配置已备份")这段脚本用 paramiko 建立 SSH 连接,先关掉分屏显示,再拉取当前配置,最后写入文件。参数上,screen-length 0 temporary是关键,不关分屏的话配置输出会卡在---- More ----。time.sleep的时间根据设备响应速度调整,eNSP 里设备响应慢,建议给足 5 秒。这个脚本适合设备数量多、手动备份嫌烦的场景,但要注意 eNSP 设备的 SSH 服务要先配好。
验证方面,除了逐台 ping,还可以用 eNSP 自带的抓包功能。在关键链路上右键开启抓包,用 Wireshark 看 OSPF Hello 报文、BGP Update 报文、DHCP 交互过程。答辩时抓包截图比干讲配置有说服力。另外可以准备一个验证清单,按顺序检查:设备启动状态、接口 up 状态、VLAN 放行、Vlanif 状态、OSPF 邻居、BGP 邻居、路由表、NAT 会话、安全策略命中。每项用一条 display 命令确认,形成肌肉记忆。
答辩演示有个小技巧:提前把拓扑里的设备全部启动好,配置加载完,演示时只做关键操作,比如断开一条链路看 VRRP 切换,或者在 PC 上 ping 外网看 NAT 生效。不要现场从零启动设备,eNSP 启动慢,等待过程会让演示很尴尬。另外准备一份拓扑图,标清楚设备角色、IP 网段、VLAN 划分、路由协议区域,评委一眼就能看懂你的设计思路。
我自己做校园网方案最大的教训是:别追求设备数量多,先把一个区域做通做透,再复制到其他区域。一开始就拖三十台设备,启动失败和配置错误会把你淹没。先把教学区两台汇聚加四台接入跑通,OSPF 邻居 Full、VLAN 间互通、能访问外网,这套骨架就成了,剩下的区域照着套就行。希望帮到你。
本文还有配套的精品资源,点击获取