校园网毕业设计:基于ENSP的拓扑规划与高可用配置实践
基础设施选型与拓扑架构的心得做校园网类毕设最容易犯的毛病就是一上来就堆设备。见过不少同学把核心层用三层交换机、汇聚层堆三层、接入层也全三层结果整张拓扑光设备就二十几台配置起来自己都兜不住。ENSP里设备种类就那么多但真正设计逻辑清晰、配置量适中的方案往往比设备多到爆炸的方案更容易拿高分。这个项目定下来的原则很简单核心层做路由与高速转发汇聚层做VLAN间路由和冗余接入层做端口隔离和接入控制服务器区单独划出来出口接模拟运营商线路。整体拓扑说白了一句话就是“核心—汇聚—接入”三层结构加一个出口区这也是绝大多数校园网项目的标准骨架。拓扑设计这一环建议先在纸上画清楚再进ENSP摆设备。我的习惯是先用Visio或者ProcessOn把逻辑图画出来标注好每台设备的角色、接口规划、VLAN编号等逻辑图定稿了再在ENSP里摆这样后面配置时几乎不会乱。定好的设备清单大致是核心交换机两台汇聚交换机按楼栋划分宿舍区两栋楼各一台汇聚教学楼一台汇聚图书馆一台汇聚接入交换机若干路由器两台做出口与运营商的互联防火墙或者用ACL在核心上做基本安全控制再配一台服务器模拟校园网内的DNS、DHCP、Web服务。这版拓扑做了双核心的设计而不是常见的单核心。双核心的意义在于链路冗余和网关冗余核心挂了业务不中断这在答辩时是很有说头的点。当然双核心也会带来STP、VRRP、链路聚合这些配置量的增加但换来的可靠性提升是实打实的尤其当评委问到“你这个网络如果核心设备宕机了怎么办”的时候双核心方案能让你底气足很多。设备之间的互联地址统一用30位掩码的互联网段每段单独规划不跟业务网段混在一起。这样做的好处是路由表清晰排错时一眼就能看出是哪条链路的问题。地址规划表我会在配置前就列好多少个VLAN、每个VLAN的网关在哪里、VLANIF地址是多少全部先写清楚配置时基本就是照着抄。VLAN划分与IP地址规划的具体思路VLAN划分的原则与依据校园网的VLAN划分一般有两种套路一种按楼层划分一种按业务类型划分。按楼层的好处是物理位置清晰接入交换机上配置简单按业务类型划分的好处是广播域更小、安全隔离更细比如办公区、教学区、宿舍区、图书馆各自独立。实际项目里我采用的是两者结合的方式宿舍区按楼栋划VLAN教学区按楼层划VLAN服务器区单独一个VLAN管理VLAN独立出来出口设备单独规划互联VLAN。宿舍区每个楼栋一个VLAN网关放在该楼栋的汇聚交换机上教学楼按楼层划分三个VLAN网关放在教学楼汇聚上图书馆单独一个VLAN服务器区划分一个专用VLAN里面放Web服务器、DHCP服务器和DNS服务器。管理VLAN分配一个独立网段专门给所有网络设备的管理地址用这样即便业务网络出了广播风暴管理网络还能保住是实际运维中很重要的一个习惯。以宿舍区为例1号宿舍楼分配VLAN 10网段192.168.10.0/24网关192.168.10.2542号宿舍楼分配VLAN 20网段192.168.20.0/24网关放在该楼栋汇聚交换机上。教学楼一楼VLAN 30192.168.30.0/24教学楼二楼VLAN 40192.168.40.0/24教学楼三楼VLAN 50192.168.50.0/24。图书馆VLAN 60192.168.60.0/24。服务器区VLAN 100192.168.100.0/24。管理VLAN 200192.168.200.0/24。DHCP服务器的地址池按上述网段分别规划DNS服务器地址设置为192.168.100.10出口网关指向核心交换机。这里有个细节核心与汇聚之间的Trunk口需要放行所需VLAN如果不小心少了某一个VLAN对应网段的终端就无法获取地址会出现“其他区域都正常就某一栋楼不通”的奇怪故障排查方向往往要回到Trunk链路检查上来。IP地址规划表与接口规划配置前一定要把地址规划落实成表格这不是为了交文档而是让你在ENSP里配置时不用反复回看设计图。这里给出示例方便直接套用设备/区域VLAN编号网段网关备注1号宿舍楼VLAN 10192.168.10.0/24192.168.10.254汇聚设备上启用VLANIF2号宿舍楼VLAN 20192.168.20.0/24192.168.20.254汇聚设备上启用VLANIF教学楼1层VLAN 30192.168.30.0/24192.168.30.254教学楼汇聚设备上启用VLANIF教学楼2层VLAN 40192.168.40.0/24192.168.40.254教学楼汇聚设备上启用VLANIF教学楼3层VLAN 50192.168.50.0/24192.168.50.254教学楼汇聚设备上启用VLANIF图书馆VLAN 60192.168.60.0/24192.168.60.254图书馆汇聚设备上启用VLANIF服务器区VLAN 100192.168.100.0/24192.168.100.254接入核心设备管理网络VLAN 200192.168.200.0/24192.168.200.254所有设备管理地址设备管理地址互联地址规划核心交换机A192.168.200.1与核心B互联 10.0.0.1/30与汇聚互联 10.0.1.1/30核心交换机B192.168.200.2与核心A互联 10.0.0.2/30与汇聚互联 10.0.2.1/30宿舍汇聚1192.168.200.10与核心A互联 10.0.1.2/30宿舍汇聚2192.168.200.11与核心B互联 10.0.2.2/30教学楼汇聚192.168.200.12与核心A/B分别互联出口路由器A192.168.200.3与核心A互联 10.0.3.1/30与运营商互联 202.100.1.1/30出口路由器B192.168.200.4与核心B互联 10.0.3.2/30与运营商互联 202.100.2.1/30实际配置中发现很多初学者对“网关放在汇聚交换机上”这个事不理解总是习惯性把所有VLAN的网关都放在核心上。网关放在汇聚而不是核心好处是VLAN间流量在汇聚层就完成了转发不需要绕行核心减轻了核心的压力也减少了跨链路流量。这是典型的三层网络架构思路也是校园网项目里比较成熟的做法。如果你把所有网关都压在核心上汇聚就变成了一个傻透的二层设备整个网络的设计层次感就弱了答辩时也少了可以展开讲的点。核心配置环节与命令行实操记录基础配置命令与链路聚合设备选型思路定下来后就开始进入配置环节。先做基础配置设备命名、关闭信息中心、设置管理地址、开启Telnet或SSH远程管理。这一步很多人会跳过觉得无所谓但实际做完之后你会发现后期调试时每一台设备都有一个清晰的名字配合Tab补全操作命令效率会高非常多。以核心交换机A为例基础配置大致是system-view sysname Core-A undo info-center enable interface Vlanif 200 ip address 192.168.200.1 24 quit stelnet server enable ssh user admin ssh user admin authentication-type password ssh user admin service-type all核心与汇聚之间使用Eth-Trunk链路聚合。链路聚合在这个场景下不只是为了增加带宽更重要的是做链路冗余一根物理链路断掉另一根自动顶上业务不中断。链路聚合的配置要点是两端设备都要配成员接口必须处于同一个VLAN或Trunk模式下而且物理口的速率、双工模式要保持一致否则链路起不来。interface Eth-Trunk1 port link-type trunk port trunk allow-pass vlan 10 20 30 40 50 60 100 200 quit interface GigabitEthernet0/0/1 eth-trunk 1 quit interface GigabitEthernet0/0/2 eth-trunk 1 quit注意模式默认为手工负载分担模式两边都要相同配置才能协商成功。这里出现过一次很典型的错误只有一侧配置了Eth-Trunk另一侧物理口没加进去结果链路始终是Down状态排查了好久才发现是对端没配。链路聚合配置完成后用display eth-trunk 1检查成员口状态确保都是Up。汇聚交换机的配置思路类似区别在于汇聚设备上要创建业务VLAN并启用VLANIF接口作为网关。以下以宿舍汇聚1为例vlan batch 10 20 200 interface Vlanif 10 ip address 192.168.10.254 24 interface Vlanif 20 ip address 192.168.20.254 24 interface Vlanif 200 ip address 192.168.200.10 24然后配置Eth-Trunk与核心互联Trunk放行VLAN 10、20、200。这里要特别注意Trunk放行VLAN不能只放业务VLAN管理VLAN 200也要放行否则核心无法管理汇聚设备排查问题时就只能跑物理位置上去接console线了。VRRP网关冗余配置双核心架构下每个业务VLAN的网关要在两台核心上做VRRP。以VLAN 10为例核心交换机A作为Master核心交换机B作为Backup。虚拟网关地址就是规划表中的192.168.10.254而两台核心各自有物理地址比如A为192.168.10.253B为192.168.10.252。核心交换机A上配置interface Vlanif 10 ip address 192.168.10.253 24 vrrp vrid 10 virtual-ip 192.168.10.254 vrrp vrid 10 priority 120 vrrp vrid 10 preempt-mode timer delay 20 quit核心交换机B上配置interface Vlanif 10 ip address 192.168.10.252 24 vrrp vrid 10 virtual-ip 192.168.10.254 vrrp vrid 10 priority 100 quit优先级高的作为Master这里A的优先级设置为120B保持默认100。preempt-mode配置了延迟抢占目的是当A恢复后延迟20秒再抢占回Master避免短时间内因为主备切换导致网络反复抖动。这个参数在模拟器里不容易感知但真实网络中非常关键写进论文里也能呈现出你考虑问题的深度。VRRP配置完成后用display vrrp vrid 10验证Master应该显示ABackup显示B。如果两端都显示Master通常是因为心跳线链路有问题或者两端配置不一致。ENSP中最常见的原因是两侧配置的VIP不一致或者没有配VLANIF地址导致VRRP报文无法交互。OSPF动态路由配置双核心加多汇聚的网络静态路由虽然也能通但后期扩展和维护太痛苦。项目中使用OSPF作为内部网关协议所有互联链路和业务网段都宣告进OSPF实现路由互通。核心交换机A的OSPF配置ospf 1 router-id 1.1.1.1 area 0.0.0.0 network 192.168.10.253 0.0.0.0 network 192.168.20.253 0.0.0.0 network 192.168.200.1 0.0.0.0 network 10.0.1.0 0.0.0.3 network 10.0.0.0 0.0.0.3 network 10.0.3.0 0.0.0.3 quit注意network宣告的是接口地址不是网段地址这里的通配符掩码是0.0.0.0精准匹配单个接口地址。很多初学者会写成network 192.168.10.0 0.0.0.255这样也没问题但会把整个网段都宣告进去在实际环境中如果该网段下有不需要参与OSPF的接口反而会带来风险。项目里建议精准宣告逻辑更干净。汇聚交换机上宣告自己连接的网段和互联地址。以宿舍汇聚1为例ospf 1 router-id 1.1.1.10 area 0.0.0.0 network 192.168.10.254 0.0.0.0 network 192.168.20.254 0.0.0.0 network 192.168.200.10 0.0.0.0 network 10.0.1.0 0.0.0.3 quitOSPF配置完成后等邻居状态变成Fulldisplay ospf peer能看到邻居。如果邻居一直停留在Init或Down检查两端接口是否在同一网段、MTU是否一致ENSP中MTU不一致会出现完全相邻但邻居建立不起来的奇怪现象。还有一个小坑两个直连接口子网掩码配置不一致OSPF建邻居也会失败。DHCP服务配置与服务器的模拟DHCP服务可以选择在路由器或核心交换机上配置也可以单独模拟一台DHCP服务器。项目里采用独立服务器的方式用ENSP里的Server设备来模拟这样更贴近实际校园网的部署方式也和服务器区的定位契合。在服务器上开启DHCP服务地址池按VLAN划分配置。注意由于DHCP请求是广播报文而VLAN间是隔离的所以需要在核心交换机的各VLANIF上配置DHCP中继把广播的DHCP请求转发到DHCP服务器。核心交换机A上的中继配置interface Vlanif 10 dhcp select relay dhcp relay server-ip 192.168.100.20 interface Vlanif 20 dhcp select relay dhcp relay server-ip 192.168.100.20如果是直接在交换机上配置DHCP服务则配置方式不同。以核心A为例如果直接把DHCP服务做在核心上dhcp enable ip pool vlan10 network 192.168.10.0 mask 255.255.255.0 gateway-list 192.168.10.254 dns-list 192.168.100.10 lease day 1 interface Vlanif 10 dhcp select global两种方案各有优劣。独立服务器方案更贴近生产环境但需要额外配置中继直接做在核心上更简单但核心设备压力大而且一旦核心挂了DHCP也挂了。实际校园网通常用独立的DHCP集群所以在项目里采用独立服务器方案更能体现专业度。各类测试方法与路由连通性排查终端连通性与VLAN隔离测试配置完成后进入验证阶段。这一步不能只拿一台PC去ping网关就完事要形成一个测试矩阵覆盖不同VLAN之间、同VLAN不同接入交换机、服务器区与业务区、以及出口到运营商等场景。测试方法建议从底层往上逐层验证接入交换机上接一台PC先ping自己所在VLAN的网关通了说明二层链路和VLANIF没问题。ping核心交换机上的VRRP虚拟地址通了说明VRRP工作正常。ping另一栋楼PC的地址通了说明OSPF或三层路由配置没问题。最后测试跨网段访问服务器的业务比如在PC上直接访问Web服务器的地址验证服务器区路由是否正常。实测中最常见的一类问题是同VLAN下部分PC不通另一部分通。这种现象多半出在接入交换机的端口配置上。比如某个端口没有划入正确的VLAN或者端口的默认VLAN不对。用display vlan检查端口VLAN分配再用display mac-address看MAC地址学习情况基本能定位问题。另一类常见问题是所有PC都能ping通网关但PC之间互相ping不通。这通常是接入层的端口隔离配置导致的。校园网里接入交换机为了防ARP欺骗经常开启端口隔离。这就需要在设计时想清楚需求如果只是为了隔离广播域可以只在个别区域开隔离如果所有接入端口都隔离演示“同VLAN内PC互通”的效果时就会反复被ping不通干扰容易让评委误以为网络设计有问题。建议把端口隔离放在宿舍区接入层教学区保留同VLAN内互访能力这样既体现安全设计又不影响演示效果。出口NAT与运营商互联测试外网访问功能在校园网里必不可少的。出口路由器与运营商模拟端互联配置默认路由指向运营商同时在出口路由器上做NAT使得内部私网地址访问外网时能够转换为公网地址。出口路由器A配置acl number 2001 rule 5 permit source 192.168.0.0 0.0.255.255 quit interface GigabitEthernet0/0/0 ip address 202.100.1.1 30 nat outbound 2001 quit ip route-static 0.0.0.0 0.0.0.0 202.100.1.2NAT的ACL里允许的源地址范围要覆盖所有业务网段。我见过有人直接写permit source any效果也能通但这样会比较难看。把内网地址段范围精确匹配既符合实际运维习惯也能在配置文档里体现出ACL的精细控制。核心交换机需要配置到达外网的默认路由指向出口路由器。双出口环境下可以用策略路由或者等价路由做负载分担但为了控制复杂度项目里采用核心A的默认路由指向出口路由器A核心B的默认路由指向出口路由器B同时通过OSPF的默认路由下发让所有汇聚设备学到默认路由。这样出口链路任何一条断了另一条还能继续转发可靠性进一步得到保障。外网测试时有一个细节容易忽略就是在出口路由器上开启display nat session查看会话表能直观看到私网地址转换成公网地址后的会话记录。答辩时现场演示NAT会话表的变化比单纯ping通外网更有说服力。另外测试外网连通性时不要只ping运营商网关建议直接ping运营商模拟设备后面的公网服务器地址这样能证明整条转发链路都通了。网络安全策略与ACL配置演示网络安全是这个项目中拉开档次感的关键模块。即使没有专门的防火墙设备ACL也能做到很多基础防护。项目里用ACL实现了三组策略第一组是禁止宿舍区用户访问服务器区的管理端口但允许访问业务端口。比如宿舍区用户只能访问Web服务器的80端口不能SSH到服务器上。在核心交换机A上配置acl number 3001 rule 5 deny tcp source 192.168.10.0 0.0.255.255 destination 192.168.100.0 0.0.0.255 destination-port eq 22 rule 10 permit ip source 192.168.10.0 0.0.255.255 destination 192.168.100.0 0.0.0.255 quit interface Vlanif 100 traffic-filter inbound acl 3001第二组是防止局域网内部的常见攻击行为比如限制单个IP可以建立的TCP连接数防止DOS攻击。这类配置在ENSP里做不了太复杂但可以在接入交换机上做端口安全限制每个端口学习的MAC地址数量在一定程度上防止私接路由器和ARP欺骗interface GigabitEthernet0/0/1 port-security enable port-security max-mac-num 2 port-security protect-action shutdown第三组是控制管理面的访问只允许管理网段的设备SSH访问网络设备其他VLAN一律禁止。这个ACL可以应用在VTY接口上效果非常好acl number 2002 rule 5 permit source 192.168.200.0 0.0.0.255 quit user-interface vty 0 4 acl 2002 inbound实测中ACL配置容易出错的位置是把规则顺序写反。ACL匹配是按顺序从上到下执行的如果先写了一条permit ip any any后面再写deny规则deny永远不会生效。所以ACL规则的顺序一定要把流量小的、具体的规则放在前面兜底的放最后。ENSP仿真实验的过程体验与常见告警处理仿真环境搭建与常见模拟器故障ENSP里摆放设备时建议先用“选择模式”把设备拖出来再连线。接线的时候注意线缆类型PC和交换机之间用普通网线交换机之间用网线Trunk口互联路由器之间用串口线或网线都可以。很多初学者在ENSP里犯的最初级的错误是设备启动后忘了等待启动完成就急着配置结果配置命令全丢或者设备重复启动。每次启动后看一眼设备的指示灯系统稳定后再动手是最稳妥的。ENSP里最容易出现的几个故障我整理成速查表故障现象常见原因解决思路设备一直显示灰色启动中模拟器启动慢或资源占用过高关闭多余程序增加内存分配等待启动完成启动完成后配置丢失未等系统完全启动就输入命令先查看设备接口状态确认启动完成后再操作线缆连接后UP不起来设备类型不匹配或接口类型不对检查物理接口类型确认对端设备已启动PC ping不通网关VLAN或IP配置错误从接入层逐层排查先查access口VLAN再查VLANIF跨VLAN不通路由或OSPF邻居未建立检查VLANIF是否配置、OSPF是否宣告相关网段VRRP主备异常心跳链路中断或配置不一致display vrrp查看状态检查两侧接口和优先级还有一个坑ENSP偶尔会出现在拓扑图上删除一台设备后其他设备的配置也被清空的状况。规劝大家养成习惯每完成一个阶段的配置就立即导出配置文件保存一份这也是真实运维中的好习惯在毕设报告里还能作为“配置备份管理”的设计点来写。CLI排错思路与常用命令组合排错时不要漫无目的地乱看要有一套固定流程。我自己的排错习惯是从终端出发逐层往上。先看PC的IP地址是否获取正确然后ping网关再ping核心再ping对端最后ping外网。每层失败就停在那一层排查。以下是常用命令组合display ip interface brief查看所有三层接口的IP和状态快速判断有没有漏配。display vlan查看VLAN配置确认业务VLAN和Trunk放行VLAN是否正确。display eth-trunk查看链路聚合成员口状态确认物理链路是否正常。display ospf peer查看OSPF邻居状态排查路由问题。display vrrp查看VRRP主备状态确认网关冗余是否生效。display ip routing-table查看路由表确认路由是否学习和下发。display acl all查看ACL规则核对规则顺序和匹配情况。这些命令在调试时轮着用一遍大部分问题都能定位。我见过不少同学在VLAN间路由不通时直接把OSPF重配一遍其实很可能只是某个VLANIF没启用或地址配错了。display ip interface brief这类基础命令能快速锁定问题没必要一上来就动大手术。DHCP获取异常的专项排查DHCP异常是实验里出现频率最高的故障类型。现象很多样有的PC获取不到地址有的能获取地址但上不了网还有的获取的网段不对。以下是我踩坑总结的排查逻辑PC获取不到地址先检查DHCP服务器地址池是否配置正确网关和DNS是否填对了然后检查核心交换机上DHCP中继是否配置重点确认各VLANIF下是否调用了relay命令。如果中继配了但依然获取不到用display dhcp relay statistics查看中继转发统计能清楚地看到有没有转发过DHCP请求确认问题出在哪一端。如果PC获取到了地址但是无法访问外网先看获取到的网关能不能ping通再看出口NAT配置。一个容易被忽略的点是DHCP下发的网关是VRRP虚拟地址如果ACL或防火墙规则只匹配了Master的物理地址结果就是一部分PC通过Master转发能上网一旦VRRP切换到备机全部都断网。这就需要仔细检查VRRP场景下的流量转发路径。PC获取到的网段不对例如宿舍区的PC获取到了教学楼的地址池原因通常是汇聚或接入交换机配置了多个VLAN的DHCP中继而PC上联端口所在的VLAN与地址池不对应中继把请求转发到服务器后服务器按请求接口的VLAN信息分配了错误地址池。这种情况下需要重点检查PC上联端口归属的VLAN是不是自己所在区域。项目文档整理要点与答辩演示的技巧文档结构安排毕设要求不只是把网络配通还要把设计过程表达清楚。文档结构我推荐按这条线展开需求分析→方案设计→地址规划→设备配置→功能测试→安全设计→总结展望。地址规划和拓扑图放在需求分析之后让评委先知道有什么需求再看你的方案怎么满足需求逻辑链条就顺了。文档里网络拓扑图一定要画得清晰不要直接用ENSP的截图完事。建议用标准网络拓扑图符号重绘把核心层、汇聚层、接入层区域框出来标好链路线条类型和VLAN信息。这样的图在答辩PPT里也能直接使用信息密度比ENSP截图高很多。答辩演示与实验环境准备答辩现场演示的环节是最容易出岔子的。ENSP项目文件在别人的电脑上打开时设备启动速度可能会很慢有些设备还会出现无法启动的现象。建议答辩前一天用答辩用的电脑完整地启动一遍拓扑确认所有设备正常启动、所有功能可正常展示。并且准备一份离线版本的配置文件备份万一ENSP环境出问题可以直接用文本方式展示配置内容比干瞪眼等模拟器强很多。演示时建议准备一份现成的检查清单按顺序演示先展示拓扑图然后按VLAN ping通网关再跨VLAN访问服务器再访问外网最后演示ACL策略的效果比如宿舍区访问服务器管理端口被拒绝访问Web端口正常。每一步停顿几秒给评委看清楚命令和结果讲述思路是“先展示现象再解释原理”。关键配置的讲解方法答辩时评委问得最多的是设计决策类问题而不是单纯问命令。比如“为什么用OSPF不用静态路由”、“网关为什么放在汇聚而不放在核心”、“双核心之间用什么机制避免环路”、“ACL的匹配顺序是什么”。这些问题回答得好项目档次会明显往上走。我的建议是准备一份“设计决策说明表”把关键决策点、备选方案、选择理由、优缺点列清楚。例如“为什么使用VRRP解决网关冗余”这个点可以说清楚VRRP通过虚拟IP实现网关冗余、优先级控制主备切换、抢占延时避免网络抖动这些内容写进论文里能显著增强技术深度。项目里还加入了路由汇聚策略来减少OSPF的路由条目把多条业务网段聚合后发布降低核心路由表的规模也是一个可以展开讲两分钟的亮点。扩展升级方向与实战体会如果时间和精力允许这个项目还能往几个方向做扩展。一个方向是在出口区增加防火墙设备用ENSP里自带的USG系列把安全策略从ACL上升到防火墙规则能够实现区域间隔离、NAT策略和攻击防护的统一管理这会让项目接近真实校园网的部署形态。另一个方向是增加无线网络覆盖用AC加AP的方式模拟无线接入把无线用户单独规划VLAN并和有线网络做统一管理这样项目就覆盖了有线无线的融合场景。还有一个方向是增加网络监控与日志管理比如模拟SNMP协议采集设备状态配合日志服务器记录网络访问行为体现运维层面的精细化设计这在答辩时的“可扩展性”环节是很好的加分项。我个人反复调试这个项目之后最大的感悟是校园网设计的核心并不在于设备多高端、配置多复杂而在于逻辑是否清晰、规划是否合理、故障排查的思路是否完整。ENSP的价值就在于能用一台普通笔记本模拟出接近真实网络的运行状态让你在毕业设计阶段就建立起“先规划、再配置、后验证”的工程习惯。最后分享一个小经验每次配置完一个功能模块就用display current-configuration把配置导出一份保存在本地实践下来你会发现这个举动帮你省下的排错时间远比导配置花掉的那一分钟多得多。