ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

用eNSP构建可验证校园网:VLAN、OSPF与VRRP仿真避坑指南

用eNSP构建可验证校园网:VLAN、OSPF与VRRP仿真避坑指南 简介一套面向华为eNSP平台的校园网设计与仿真模拟资料包专为网络工程专业毕业设计、HCNP认证备考及校园网规划实践者打造。内容紧扣“校园网设计”这一主线以十个eNSP工程文件.efz为主体配合一个拓扑文件.topo与四个XML配置文件可在eNSP模拟器中直接载入并复现完整校园网拓扑省去从零搭建实验环境的繁琐另附两个ZIP压缩包分别封装源代码与已配置好的虚拟环境解压后即可运行进一步降低上手门槛。全包共十九个文件总大小13.04MB内含毕设答辩PPT.pptx和说明文档.docx可用于梳理设计方案、核对关键配置与准备答辩展示。目前已有20837人学习使用适合作为毕业设计选题的现成方案参考也可用于HCNP实验练习、网络工程课程设计或校园网规划项目的工程模板整体紧凑实用。1. 校园网仿真为什么非 eNSP 不可从图纸到可验证拓扑的最后一公里拿到一份校园网拓扑图最尴尬的不是图不好看而是没人能证明它真的能跑通。某高校网络中心曾收到一套设计方案纸面上核心层、汇聚层布局合理可一问实施细节连 VLAN 划分和网关地址都没定。后来我们用华为 eNSP 把方案重新搭出来边仿真边调参数才在进场施工前把问题全部暴露出来。eNSPEnterprise Network Simulation Platform是华为官方推出的网络仿真工具能在纯软件环境里完成校园网的设备选型、拓扑搭建、VLAN 划分、路由配置和故障模拟。这篇文章就讲一件事怎样用 eNSP 把一套校园网从空白拓扑做到能仿真验证、值得照着落地的程度。适合正在做课程设计的学生、刚入行的网络工程师以及所有需要在真机动手前先在电脑上排雷的人。2. 三层拓扑与设备选型核心层、汇聚层、接入层怎么搭才不返工2.1 校园网的三层结构是设计骨架不是照搬模板校园网规模通常在几百到几千个信息点分布在教学楼、宿舍楼、图书馆、行政楼和食堂等建筑里。如果所有交换机两两互联线缆数量会爆炸广播域也无法控制。所以从业十几年的方案几乎都默认采用经典的三层架构核心层负责高速转发和区域间路由汇聚层负责策略控制、VLAN 间网关和流量收敛接入层负责终端接入和端口安全。三层拆开不是为了让图纸好看而是让每一层只干一件事故障定位时能快速缩小范围。很多人会问宿舍楼和教学楼都各自拉了光纤能不能直接接到核心交换机上技术上可以但实际不推荐。接入交换机直接挂核心核心设备要维护的 VLAN 网关、ACL 策略、DHCP 中继全堆在一起任何接入端的误配置都可能波及核心。汇聚层的价值正是把这堆乱七八糟的东西挡在核心外面。在 eNSP 仿真环境里这种设计思路同样适用拓扑画得规范后面配路由和策略时才不会把自己绕晕。2.2 eNSP 里的设备选型每层该放什么型号才算合理打开 eNSP 的设备列表路由器有 AR201、AR2220、AR3260交换机有 S3700、S5700、S6700还有框式的 S12700。常见做法是出口路由器选 AR2220核心交换机选 S5700 或 S12700汇聚层选 S5700接入层选 S3700 或 S5700。S3700 适合纯接入场景端口密度够用成本低S5700 支持三层路由功能可以在汇聚层做 VLAN 间网关核心层如果模拟的校区规模较大S12700 更能体现框式设备的槽位和板卡概念。选型时容易被忽略的是接口类型。eNSP 里交换机的 GE 口是千兆口Ethernet 口是百兆口连线时如果接入交换机用了 Ethernet 口汇聚交换机也得对应选 Ethernet 口否则链路起不来。我一般会把拓扑里的链路先列成一张表明确每段链路两端接哪个设备的哪个接口再开始连线。以下是模拟某校区常见的设备与接口分配方式可直接照抄层级设备型号互联接口说明出口AR2220GE0/0/0 接运营商模拟口GE0/0/1 接核心交换机跑默认路由或 BGP 下放核心S12700 或两台 S570010GE 或 GE 口互联双核心之间跑堆叠或 VRRP核心间链路要冗余汇聚S5700GE 口上联核心GE 口下联接接入每栋楼一台或两台做网关冗余接入S3700 或 S5700Ethernet/GE 口接终端GE 口上联汇聚只做二层转发2.3 接口与线路规划连线前先想清楚带宽和冗余拓扑连线看着简单实际上返工最多的就是这里。接入层到汇聚层一般跑千兆汇聚到核心建议跑千兆以上并做链路聚合核心到出口路由器要根据出口带宽选接口。某项目里为了省接口把两台汇聚的上联线都接到同一台核心交换机上结果核心交换机宕机整片区域瘫痪这一看就知道犯了没有冗余的低级错误。正确做法是两台汇聚各上联两台核心形成交叉互联。链路聚合在 eNSP 里的配置也很直观。以汇聚交换机上联核心为例先把两个接口绑定到 Eth-Trunk再配置 Trunk 口放行 VLAN。这个配置在后面的章节会展开这里先记住一个原则聚合链路不是把两条线随便插上就行必须两端做相同的 Eth-Trunk 配置否则 STP 会阻塞其中一条链路带宽不增反降。这是 eNSP 仿真中很容易遇到的现象级问题后面避坑章节会专门讲。提示拓扑图里所有设备互联前先给每台设备编好主机名和接口规划表再动手连线。eNSP 里改连线比改配置更麻烦顺序错了会浪费很多时间。3. 地址规划与 VLAN 设计先画表再配置顺序错了后面全是坑3.1 IP 地址规划表按区域分段、预留扩展位IP 地址规划是校园网设计里最能体现功底的环节。很多初学者上来就配地址配到一半发现冲突了回头重来这就是不画表的后果。我做规划的固定套路是先按物理区域划分地址段再按业务类型划 VLAN地址段之间留出余量。模拟项目采用私网地址 10.0.0.0/8每个区域的第三位用楼栋号或区域编号第四位是主机位。以下是一份可直接套用的规划表模板适合中等规模模拟校园网区域VLAN ID网段网关说明教学楼 AVLAN 1010.10.10.0/2410.10.10.254教室、实验室有线终端教学楼 BVLAN 1110.10.11.0/2410.10.11.254多媒体设备专用宿舍楼 AVLAN 2010.20.10.0/2410.20.10.254学生宿舍有线接入宿舍楼 BVLAN 2110.20.11.0/2410.20.11.254学生宿舍无线接入行政办公VLAN 3010.30.0.0/2410.30.0.254办公终端服务器区VLAN 4010.40.0.0/2410.40.0.254Web、数据库、DHCP网络管理VLAN 10010.255.0.0/2410.255.0.254设备管理地址这张表有四个细节需要说明。第一网关统一用 .254方便记忆也方便排错第二教学楼和宿舍楼各留了一个 VLAN用于后期无线扩容或新增业务第三管理 VLAN 独立成段不跟用户流量混在一起方便后续配置 SSH 和网管平台第四所有段落在 10.x.x.0/24 内用 OSPF 宣告时可以用两条汇总路由覆盖不用一条条写。3.2 交换机上的 VLAN 配置实操Access 口与 Trunk 口的参数差异进入 eNSP 后双击接入交换机启动命令行。以下是在接入交换机上配置 VLAN 10 和 VLAN 20 的完整命令接口 0/0/1 接教学楼终端上联口 0/0/24 接汇聚交换机。system-view sysname S3700-JXL-01 vlan batch 10 20 interface GigabitEthernet0/0/1 port link-type access port default vlan 10 interface GigabitEthernet0/0/2 port link-type access port default vlan 20 interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20这段命令的核心逻辑分三层。vlan batch 10 20是批量创建 VLAN比一条条vlan 10再vlan 20高效Access 接口用于连接终端设备port default vlan 10表示该接口收到的未打标签流量全部划入 VLAN 10上联口必须改 Trunk并显式放行 VLAN 10 和 20否则汇聚交换机收不到这两个 VLAN 的数据帧。接口类型配错了最常见的现象是终端能链路协商但 ping 不通网关。模块化参数说明如下参数作用常见误配port link-type access设置接口为二层 Access 模式忘记改类型默认接口可能无法收发带标签帧port default vlan指定 Access 接口所属 VLAN写错 VLAN ID终端被分到别的广播域port trunk allow-pass vlan放行指定 VLAN 的帧通过 Trunk漏写或写成 deny跨交换机同 VLAN 不通port trunk pvid vlan修改 Trunk 口缺省 VLAN一般不用改改了反而容易引起帧标签混乱3.3 跨交换机同 VLAN 互通Trunk 链路与 PVID 的配合接入层配好后汇聚交换机要做对应的 VLAN 配置。汇聚 S5700 上创建同样的 VLAN并把下联接口也配成 Trunk。这里有个容易忽略的点两台交换机之间的 Trunk 链路两端的allow-pass vlan列表必须一致否则会出现从一个接入交换机能 ping 通、从另一个接入交换机却 ping 不通的怪现象。在我做过的模拟项目里最隐蔽的问题是 Trunk 口的 PVID 不一致。PVID 是接口缺省 VLAN 的编号Trunk 口上如果两端 PVID 不同不带标签的帧会被打上不同的 VLAN 标签直接导致明明配了 allow-pass 却还是不通。排查方法是在两端执行display port vlan对比接口的 PVID 和放行列表。汇聚交换机上的命令如下system-view sysname S5700-HJ-01 vlan batch 10 20 30 40 100 interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20 30 40 100 interface Vlanif10 ip address 10.10.10.254 255.255.255.0 interface Vlanif20 ip address 10.20.10.254 255.255.255.0这个配置里interface Vlanif10会创建 VLANIF 三层接口网关地址 10.10.10.254 就落在汇聚交换机上。到这里二层链路通了三层网关也有了终端配置好 IP 后就能 ping 通网关。VLAN 间互通则需要在汇聚或核心上配置路由这要看网关放在哪一层属于下一章路由部分的内容。4. 路由协议与网关冗余的仿真落地OSPF、VRRP、DHCP 关键参数一次调对4.1 OSPF 配置顺序邻居先建立路由才可靠校园网规模下OSPF 是最常用的动态路由协议。相比静态路由OSPF 能自动感知链路变化汇聚到核心的链路断了以后能切换到备用路径。在 eNSP 里跑 OSPF我见过最多的问题是 network 宣告写得太宽或太窄。写太宽会把不该宣告的网段也广播出去写太窄则会导致部分网段路由缺失。核心交换机上的 OSPF 配置如下system-view ospf 10 router-id 10.255.0.1 area 0.0.0.0 network 10.10.0.0 0.0.255.255 network 10.20.0.0 0.0.255.255 network 10.30.0.0 0.0.255.255 network 10.255.0.0 0.0.0.255路由器 ID 必须手工指定建议按设备管理地址的末位来编比如核心 S12700 是 10.255.0.1汇聚交换机是 10.255.0.2 和 10.255.0.3这样在display ospf peer里一眼就能看出邻居是哪台设备。区域一律放 area 0校园网规模不需要大改区域划分单区域反而排错容易。通配符0.0.255.255表示匹配前两位不变、后两位任意的地址段刚好覆盖 10.10.x.x 和 10.20.x.x 整个区域。4.2 VRRP 网关冗余让宿舍区断链路也不掉线汇聚层设备一旦宕机整个区域的终端就会断网。所以每栋楼的汇聚交换机通常部署两台再跑 VRRP 提供冗余网关。VRRP 的原理是虚拟出一个网关 IP两台交换机一个作为 Master、一个作为 Backup正常时 Master 转发流量Master 故障时 Backup 自动接管。以下是汇聚交换机 A 上的 VRRP 配置为 VLAN 10 提供主备网关system-view interface Vlanif10 ip address 10.10.10.252 255.255.255.0 vrrp vrid 10 virtual-ip 10.10.10.254 vrrp vrid 10 priority 120 vrrp vrid 10 preempt-mode timer delay 20汇聚交换机 B 上做对称配置只是 IP 地址改为 10.10.10.253priority 保持默认 100角色是 Backup。virtual-ip必须写终端配置的网关地址 10.10.10.254VRRP 报文通过组播 224.0.0.18 在 Vlanif10 内交互。priority 120 表示比默认值高 20确保正常情况下 A 是 Masterpreempt-mode timer delay 20表示故障恢复后延迟 20 秒抢占避免链路刚恢复时反复切换导致业务抖动。4.3 DHCP 服务配置让终端自动获取地址而不是手写 IP校园网终端数量多手写 IP 不现实。DHCP 服务可以直接在汇聚交换机的 Vlanif 接口上开启也可以单独部署一台 DHCP 服务器。如果网络规模不大直接在汇聚交换机上做接口地址池最省事。以下是宿舍楼 VLAN 20 的 DHCP 配置dhcp enable interface Vlanif20 ip address 10.20.10.254 255.255.255.0 dhcp select interface dhcp server dns-list 10.40.0.10 8.8.8.8 dhcp server excluded-ip-address 10.20.10.1 10.20.10.50 dhcp server lease day 3 hour 1 minute 0这段命令里dhcp select interface表示从接口地址池分配地址接口自身的 IP 就是网关地址不用额外指定地址池网段。excluded-ip-address排除了网段前 50 个地址用于给打印机、监控设备和手工配置的服务器保留固定 IP。lease设置租期为 3 天 1 小时。这里有个实战细节如果终端没法获取地址先检查dhcp global enable是否已开启Vlanif 下的dhcp select interface只在全局 enable 打开后才会生效。5. eNSP 仿真排查与避坑指南六个最容易翻车的现场5.1 故障一VLAN 配好了却在 Trunk 口丢包现象两台接入交换机下连的终端都能各自 ping 通汇聚网关但两台终端互相 ping 不通。在接入交换机上执行display port vlan发现 Trunk 口放行列表里缺了对方 VLAN。原因配置port trunk allow-pass vlan 20时漏写了一个 VLAN或者写成了undo port trunk allow-pass vlan 20把原本放行的 VLAN 移除了。解决在 Trunk 口重新执行port trunk allow-pass vlan 10 20两端交换机都要检查放行列表保持一致。这是校园网仿真中频率最高的低级问题。5.2 故障二OSPF 邻居卡在 Two-Way 状态现象display ospf peer显示邻居状态停留在 2-Way不是 Full。原因两台设备的 router-id 冲突或者同一链路上配置了不同的区域 ID也可能 Hello 时间间隔不一致。解决先确认两端 router-id 是否唯一再检查接口所在区域是否为 area 0最后看display ospf interface判断 Hello 间隔OSPF 默认 Hello 10 秒、Dead 40 秒两端不匹配就建立不了完全邻接关系。5.3 故障三终端获取不到 IP 地址现象宿舍区终端连上交换机获取不到 IP手动配置静态地址却能上网。原因汇聚交换机全局 DHCP 没开启或 Vlanif 接口上没调用dhcp select interface。解决先执行display dhcp enable看全局状态再进 Vlanif 确认有没有选择接口地址池。如果 DHCP 报文能到汇聚但拿不到地址加一组display dhcp server free-ip查看地址池是否被占满通常是租期内地址没释放导致池耗尽。5.4 故障四eNSP 设备启动慢或卡在灰色状态现象双击设备图标后一直显示灰色或者启动提示 The device is starting迟迟不进命令行。原因eNSP 依赖 VirtualBox 的虚拟化服务CPU 虚拟化没开或本机内存不足时设备启动非常慢有时连启动都失败。解决先确认 BIOS 里 Intel VT-x 已开启再以管理员身份运行 eNSP最后把不用的后台程序关掉。eNSP 里同时启动太多设备也会卡建议只启动当前要操作的那台其他设备右键停止。5.5 故障五Ping 通网关但 Ping 不通服务器现象终端能 ping 通汇聚网关也能 ping 通核心交换机管理地址但访问服务器区 10.40.0.x 不通。原因服务器区 VLAN 40 的网关和路由没有全链路打通或者某个汇聚交换机上写了愚蠢的 ACL 把流量挡掉了。解决从终端执行tracert 10.40.0.10逐跳确认流量走到哪一跳丢失。正常情况下应该依次经过汇聚网关、核心、服务器网关哪一跳断了就补哪一段的路由或检查 ACL。5.6 故障六保存的配置重启后丢失现象所有配置都调好了重启 eNSP 后设备配置回到出厂状态。原因华为设备配置文件默认不会自动保存重启后加载的是空配置。解决在每台设备上执行save弹出确认后选 Y配置文件会被写入模拟设备的闪存。eNSP 关闭工程时如果提示是否保存配置也要一并确认。正确习惯是每次改完一轮配置立即save这是最便宜的后悔药。注意eNSP 里设备很多时排查命令的输出会很长。建议给每台设备改好有意义的主机名排错时先在真机上确定我从哪台设备看、去看哪台设备的邻居关系不要一台台乱翻。6. 验收交付技巧从「能通」到「能过答辩」的验证清单配置全部完成不代表项目结束真正决定交付质量的是验证环节。我每次在 eNSP 里做完一个校园网仿真都会按固定顺序跑一遍检查命令确认无误后再截图存档。第一步是验证二层与三层连通性在汇聚交换机上执行display vlan summary、display port vlan确认 VLAN 和 Trunk 放行列表与规划表一致。第二步验证路由协议执行display ospf peer brief确认邻居数量与设计一致核心与各汇聚都是 Full 状态。第三步验证网关冗余在汇聚交换机上执行display vrrp brief确认每台设备的角色是 Master 还是 Backup虚拟 IP 必须全部指向规划表中的网关地址。第四步做全网 Ping 测试建议从接入交换机下联的 PC 出发逐一 ping 通本网段网关、汇聚设备管理地址、核心设备管理地址、服务器区业务地址和出口路由器内网接口地址。如果用的是 Windows PC再执行tracert验证路径是否符合设计。最后一步是保存在每一台设备上执行save然后导出工程文件所有配置就留档了。交付时还有一个小技巧把上面这些验证命令的输出整理成截图按每台设备一个文档归好类。答辩或汇报时评委问到的任何路由、网关、VLAN 细节这套截图就是最直接的证据。多年经验告诉我一个能现场演示、能经得起逐条追问的仿真过程比厚厚的设计说明书更有说服力。最后说一个我自己的教训早年做园区网仿真只顾着让所有 PC 能 ping 通外网忽视了 VRRP 主备切换演练结果答辩时被问到汇聚交换机宕机后终端要断网多久直接答不上来。后来每次都会在 eNSP 里手动把 Master 交换机 shutdown实测 Backup 在几秒内接管并把抓到的切换时间记进文档。这个动作看着小但能把你的方案从看起来合理变成验证过的可靠。希望这份从规划到验收的完整路径能帮到你照着做校园网仿真不会再是黑匣子。本文还有配套的精品资源点击获取
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进