简介:一套基于ENSP平台搭建校园网并实施安全加固的课程设计报告,面向高校网络工程与信息安全专业学生,可作为同类课程设计、毕业设计或安全方案写作的参考模板。压缩包内共1个docx格式文档,大小67KB,内容为完整报告文本,含项目背景、网络安全政策要求、校园网现状分析及建设加固思路等模块。资源已有4617人浏览学习,适合需要快速上手校园网安全设计任务的学习者。内容围绕WEB服务器内网部署、公网NAT映射、边界安全、入侵检测与远程办公等需求展开,详细呈现了从政策法规梳理、威胁分析到建设目标拆解的完整逻辑。文档中还附有组员分工信息,便于团队协作类课程设计直接参考,也可用于对照自身项目梳理框架、补充实验拓扑或完善安全策略说明。
1. 基于 ENSP 搭建校园网:一张拓扑练完 VLAN、路由与 NAT
第一次用 ENSP 搭校园网时,我以为最难的是路由器配置,结果一台设备启动失败就卡了我一下午。后来把整套校园网跑通才发现:校园网真正考验人的不是某个单点配置,而是从接入交换机的 VLAN 划分、核心交换机的网关和 DHCP,到出口路由器的静态路由与 NAT 转发,一整条链路能不能闭环,只要一个环节错了,PC 就 ping 不通外部服务器。ENSP 最大的价值,就是让你在没摸到真机之前,把这套链路从头到尾踩一遍。这篇笔记适合刚学完交换路由基础、想拿一个综合项目练手的新手,也适合用过模拟器但没系统规划过校园网地址的从业者。这里不堆概念,直接给规划、配置和排障手法。
2. 校园网拓扑设计与地址规划:先把图纸画明白,再动设备
2.1 把校园网拆开看:接入层、汇聚核心层与出口层各干什么
很多人在 ENSP 里拖设备的时候习惯随手拉两台交换机就开始配,结果越配越乱。我一般会先把校园网按功能切成三个层次来看:接入层负责把 PC 放进正确的 VLAN;汇聚或核心层负责 VLAN 间的路由,同时承载 DHCP 网关;出口层负责连接外部模拟链路,跑默认路由和地址转换。
这个分层决定了你选什么设备型号。接入层用二层交换机的典型配置就够,ENSP 里常见的 S5700 系列或者普通二层交换机都能胜任;核心层必须用支持三层功能的交换机,因为它要在 Vlanif 接口上写 IP 地址,还要负责跨 VLAN 转发;出口路由器用 AR 系列,ENSP 里这类设备自带串口和以太口,能在上面配 NAT 和静态路由。如果校园网里想加防火墙或者模拟运营商侧设备,再单独往下挂一层,基础拓扑不需要那么复杂。
地址规划是所有后续配置的地基,也是一开始最容易偷懒的地方。常见做法是给校园网分配一段连续的私有地址段,再按区域切成多个 /24 子网,每个子网对应一个 VLAN。这样做的好处是:路由表可以聚合,ACL 规则写起来方便,未来要扩展某个区域时,只要在预留地址段里取一小块就行,不用动整个核心配置。规划时要顺手把网关地址也定下来,一个子网的网关我习惯放在最后一位,也就是 .254,PC 和服务器从 .1 往后排,这样排查时一眼就能看出哪个是设备口哪个是终端。
2.2 一张 VLAN 与地址规划表,把配置前的所有信息锁死
规划做得越细,后边在 ENSP 里配命令越省事。下面这张表是我做校园网仿真时最爱用的模板,你先照抄一个最小可用版本:
| 区域 | VLAN ID | 网段 | 网关 | 用途说明 |
|---|---|---|---|---|
| 教学区 | VLAN 10 | 192.168.10.0/24 | 192.168.10.254 | 教学楼普通终端 |
| 图书馆 | VLAN 20 | 192.168.20.0/24 | 192.168.20.254 | 公共查询终端与电子阅览 |
| 学生宿舍 | VLAN 30 | 192.168.30.0/24 | 192.168.30.254 | 宿舍有线接入 |
| 行政办公 | VLAN 40 | 192.168.40.0/24 | 192.168.40.254 | 办公区 PC 和打印机 |
| 核心与出口互联 | VLAN 100 | 192.168.100.0/30 | 192.168.100.1 | 核心交换机与出口路由器之间跑互联 |
规划表里有一个关键设计:核心与出口互联段我只给了 /30,也就是 4 个地址。很多新手习惯给互联段也分配整个 /24,这是浪费地址空间的做法,在真实校园网里会被人笑话的。一对设备之间的点对点链路只需要两个可用 IP,/30 正好够用,而且还能让整张路由表更干净。
配完了这张表,下一步是确认出口设备的上联地址。出口路由器的 GE0/0/0 口会接一台模拟上游设备的接口,这个接口地址我建议不要跟内网网段混在一起,单独用一个模拟公网段,比如 203.0.113.0/24 这样一段保留的测试地址。这样你后边验证 NAT 时,可以直接从内网 PC ping 上游设备的地址,看到源地址被转换,效果一眼就能确认。
规划做完并不是立刻就去拖设备,我建议先在纸上或者笔记里把设备的互联关系画出来:两台接入交换机分别连接核心交换机,核心交换机的另一个接口连接出口路由器,出口路由器上联模拟的运营商侧设备。这一步看起来多余,但在 ENSP 里设备拖多了以后非常容易记错哪台是汇聚、哪台是接入,保存工程时也容易混乱。画完关系图再动手配置,后面每敲一条命令都能立刻反应出它服务于哪条链路。
3. 从接入到核心:交换机 VLAN 与 DHCP 网关配置实操
3.1 接入交换机:把终端端口划进对应 VLAN
规划完成后的第一步,是在接入交换机上划分 VLAN。ENSP 中的交换机设备默认所有端口属于 VLAN 1,所以你必须显式创建业务 VLAN,再把这些端口从 VLAN 1 里挪出来。以教学楼的接入交换机为例,两个终端口分别分配给教学区和图书馆区域,上联口需要同时放行这两个 VLAN 的流量:
# 接入交换机 SW1 的配置 system-view sysname SW1 # 创建两个业务 VLAN 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 # 上联核心交换机的 trunk 口 interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20这段配置虽然短,但有几个关键点值得停下来解释一下。端口模式分成 access 和 trunk 两类:连接 PC 或打印机的口,我一般用 access,因为终端只会属于一个 VLAN,不需要给帧打多余的标签;连接交换机之间的口,必须用 trunk,因为一条物理链路要承载多个 VLAN 的帧,只有 trunk 才能把这些帧带上对应的 VLAN 标签转发过去。
trunk 口上的allow-pass vlan 10 20是最容易漏的一条命令。默认情况下,trunk 口只放行 VLAN 1,如果你只改了链路类型却没加 allow-pass,后边 PC 能拿到 IP 但跨交换机通信必断。我的习惯是每次配置完 trunk 口,立刻敲display port vlan,查看一下端口最终生效的 VLAN 列表,确认后再继续配下一台。
这里还要提醒一个 ENSP 特有的小坑:交换机的端口编号在不同镜像里可能不同,有的是 GigabitEthernet0/0/1 开头,有的是 Ethernet0/0/1。我一般会在配置前先敲display interface brief,看看这台设备到底有哪些可用端口,再照着接口名写配置。直接抄教程里的接口编号,很容易把配置敲到不存在的口上,保存后才发现。
3.2 核心交换机:Vlanif 网关、DHCP 地址池与回程路由
接入交换机只是把终端划分到了不同 VLAN,但这些 VLAN 之间的流量怎么走,要靠核心交换机来解决。核心交换机是整个校园网的闸门,它要做两件事:一是给每个 Vlanif 接口配上 IP 地址,让这些地址成为各 VLAN 里 PC 的网关;二是开启 DHCP 服务,让 PC 接入后自动拿到 IP。下面是核心交换机上一个最小可用的配置:
# 核心交换机 SW-CORE 的配置 system-view sysname SW-CORE # 创建业务 VLAN 和互联 VLAN vlan batch 10 20 100 # 与接入交换机相连的 trunk 口 interface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 10 20 # 与出口路由器相连的接口 interface GigabitEthernet0/0/24 port link-type access port default vlan 100 # 配置各 VLAN 的网关地址 interface Vlanif10 ip address 192.168.10.254 255.255.255.0 interface Vlanif20 ip address 192.168.20.254 255.255.255.0 interface Vlanif100 ip address 192.168.100.1 255.255.255.0 # 开启 DHCP 并创建地址池 dhcp enable ip pool vlan10_pool gateway-list 192.168.10.254 network 192.168.10.0 mask 255.255.255.0 dns-list 8.8.8.8 ip pool vlan20_pool gateway-list 192.168.20.254 network 192.168.20.0 mask 255.255.255.0 dns-list 8.8.8.8 # 让 Vlanif 接口从全局地址池分配 IP interface Vlanif10 dhcp select global interface Vlanif20 dhcp select global这段命令是整个校园网配置里信息密度最高的一部分,值得逐段拆开讲。先看 vlan batch 那行:一次同时创建多个 VLAN,比逐个敲 vlan 命令省事得多,后续如果还要加宿舍区 VLAN,就把编号追加进去,比如vlan batch 10 20 30 40 100。Vlanif 接口是三层交换机的核心武器,它不给物理端口配 IP,而是给整个 VLAN 配 IP,交换机从此就能在这个 VLAN 的网段里做路由转发。
DHCP 配置这里有一个新手必踩的坑:全局模式下定义好了地址池,不代表接口会自动使用它。你必须在每个想要下发地址的 Vlanif 接口下再敲dhcp select global,把全局地址池和接口绑定起来。我见过不少人配了 dhcp enable 和 ip pool,但 PC 一直拿不到地址,最后发现就是漏了这一行接口绑定。
回程路由我没有写进上面的代码块里,因为它属于核心交换机与出口联动的部分,放到下一章和出口配置一起处理。这里需要先留一个概念:当核心交换机收到去往校园网以外地址的流量时,它必须知道该把包交给谁,这个「谁」就是出口路由器。如果这条路由缺失,后边所有跨网段访问都会失败,而且你从 PC 上 ping 外部服务器时,看到的只会是请求超时,很难直接判断是出口有问题还是回程丢了。
3.3 配置完两层交换机后,先做一轮设备级自检
核心交换机配置完成后先别急着连出口,我习惯先在上边敲几条查看命令,确认交换部分没有硬伤。第一步是检查 VLAN 是否都建好了:display vlan,输出里会列出 VLAN ID、名称和包含的端口,如果 VLAN 10 下边没有端口,先不要继续往下配,回头查接入交换机的端口划入是不是写错了。第二步是检查 Vlanif 接口是否正常:display ip interface brief,重点看接口状态是不是 up,以及 IP 地址有没有显示出来。
这一步自检非常值钱。ENSP 里的设备虽然不像真机那样会烧板卡,但如果你在 Vlanif 下配了 IP,却发现状态始终 down,通常意味着这个 VLAN 在物理链路上没有任何端口存在,或者对应的 trunk 口没有放行该 VLAN。此时返工的成本极低,等全部配完发现 PC 不通再回来查,你会被一堆可能的故障点绕晕。
交换部分自检通过后,可以顺手在 PC 与交换机之间先做一个 DHCP 连通测试。打开教学区那台 PC 的配置界面,把 IP 获取方式改成 DHCP,然后启动命令行 ping 一下 192.168.10.254,看看网关是否通。如果这一跳都不通,问题集中在交换侧,不需要考虑路由器;如果这一跳正常,说明交换与 DHCP 这块已经达标,可以放心去配置出口了。
4. 出口链路打通:静态路由、默认路由与 NAT 的联动配置
4.1 核心回程默认路由:让内网流量找到出口
交换侧跑通之后,校园网还缺最后一块拼图:让内网 PC 访问外部模拟服务器时,流量能顺着核心交换机送到出口路由器,再从出口路由器返回。这一步需要两条路由联动起来。第一条路由必须加在核心交换机上,它告诉核心交换机:凡是目的地址不在直连网段里的流量,都丢给出口路由器的互联接口:
# 在核心交换机上配置默认路由 system-view ip route-static 0.0.0.0 0.0.0.0 192.168.100.2这条路由里的 192.168.100.2 是出口路由器与核心交换机相连的那个接口的地址。配置之后,你在核心交换机上执行display ip routing-table,会看到一条目的地址为 0.0.0.0/0 的默认路由,下一跳指向 192.168.100.2。写默认路由而不是写具体网段,是因为校园网的出口只有一条链路,所有未知目标统一扔给出口设备处理即可,这也是真实网络里最常见的做法。
第二条路由加在出口路由器上,但方向相反。核心交换机收到的外部回包,目的地址是内网网段,它不是出口路由器的直连网段,所以出口路由器也必须知道这些地址该怎么回。你可以在出口路由器上写两条静态路由,分别指向教学区和图书馆网段,下一跳都是核心交换机:
# 出口路由器 AR-EDGE 的配置 system-view sysname AR-EDGE # 互联接口地址 interface GigabitEthernet0/0/1 ip address 192.168.100.2 255.255.255.0 # 模拟上联接口地址 interface GigabitEthernet0/0/0 ip address 203.0.113.1 255.255.255.0 # 回内网的两条静态路由 ip route-static 192.168.10.0 255.255.255.0 192.168.100.1 ip route-static 192.168.20.0 255.255.255.0 192.168.100.1 # 模拟运营商侧发来的默认路由 ip route-static 0.0.0.0 0.0.0.0 203.0.113.254路由这块初学者最容易犯的错误,是只配了出口的默认路由,却忘了核心交换机的回程默认路由。在 ENSP 里做仿真时,这种错误的表现很迷惑:PC 上 ping 外部服务器,第一个包超时,后面的包却能通,又或者全部超时。原因在于 ICMP 回包到了出口路由器后找不到去内网的路,直接被丢弃了。我常用的检查命令是display ip routing-table,分别在两台设备上看关键路由是否存在,比盲目抓包快得多。
4.2 配置 NAT:让多个 VLAN 共享同一个出口地址
有了路由,内网流量可以送到出口路由器,但出口路由器如果把内网地址原封不动地转发出去,外部网络无法识别这段私有地址。标准做法是在出口路由器上配置地址转换,把内网私有地址映射成出接口的模拟公网地址。这里需要配合 ACL 来圈定哪些网段允许被转换:
# 在出口路由器上配置 ACL 与 NAT system-view acl number 2000 rule 5 permit source 192.168.0.0 0.0.255.255 # 在出接口上调用 NAT 转换 interface GigabitEthernet0/0/0 nat outbound 2000ACL 2000 是基础 ACL,它只匹配源地址。192.168.0.0 0.0.255.255这个通配符表示匹配所有 192.168.x.x 网段,正好覆盖 VLAN 10 到 VLAN 40 全部业务地址。如果你只想放行部分 VLAN,可以把通配符写细一些,比如只让教学区访问上游:rule 5 permit source 192.168.10.0 0.0.0.255。要注意 ACL 匹配顺序是从小到大的,后边的 rule 会排在前面的 rule 之后,所以更具体的放行规则应该写在前面。
NAT 调用的接口不要写错。这个场景里,nat outbound 2000必须加在出口路由器连接上游设备的接口下,而不是连接内网的接口下。方向反了的表现非常典型:内网 PC 之间互通正常,但 ping 外部模拟服务器时不通,同时你检查路由表也都是完整的。所以如果你遇到「路由全通但外联不通」的情况,第一反应应该是确认 NAT 有没有配错接口。
4.3 三种验证命令,确认整条校园网链路真的通
配置写完了,很多人在 ENSP 里会反复用 ping 去试,但单凭 ping 成功或失败,很难定位问题到底出在链路哪一段。我习惯用一个从近到远的验证顺序:先 ping 网关,再 ping 核心交换机互联接口,然后 ping 出口路由器内网接口,最后 ping 外部模拟服务器的地址。哪一跳断了,问题就锁定在哪一段。
在出口路由器上有几条查看命令能帮你快速确认 NAT 是否真的生效。第一条是display nat session all,它会列出当前活动的转换会话,包括转换前的源地址、转换后的源地址和目的地址。如果你在内网 PC 上去 ping 外部服务器,但这条命令里看不到任何会话,说明流量根本没有到达出口路由器,问题出在路由而不是 NAT。第二条是display acl 2000,查看这个 ACL 匹配到了多少包,如果匹配计数是 0,说明 ACL 的放行网段写得太窄,流量在匹配阶段就被丢弃了。
如果 ping 通但网页访问类应用异常,还可以在出口路由器上抓包对比。ENSP 自带的抓包功能可以直接在接口链路上启用,抓下来看源地址是否已经变成了模拟公网地址。这一点是模拟器比真机更方便的地方——真机上抓包需要接分光器或者镜像端口,ENSP 里鼠标点一下就行。抓包结果里,如果源地址是 203.0.113.1,说明 NAT 正常;如果还是 192.168.10.x,就回头检查 ACL 和接口调用方向。
5. 常见排查:基于 ENSP 做校园网时容易踩的 5 个坑
5.1 设备起不来:AR 路由器一直显示红色或无法启动
现象:把 AR 路由器拖到画布上,启动后设备图标一直停留在红色或灰色状态,有时还会弹出设备启动超时的提示。这个坑在第一次使用 ENSP 时几乎必踩。
原因:ENSP 的设备运行依赖虚拟化环境,AR 和部分交换机镜像需要调用本机的虚拟化组件。如果 ENSP 版本和本机虚拟化环境不匹配,或者电脑同时开启了其他占用虚拟化资源的服务,设备就无法正常引导。
解决:先关掉 ENSP,检查本机是否安装过其他虚拟化软件,把它们暂时退出。然后重新启动设备,给 AR 多一些初始化时间,不要频繁点启动。如果仍然失败,可以删除这台设备重新拖入,新拖入的设备会以默认配置重新加载,成功率比反复重启高很多。这一步纯属环境问题,跟你的配置对不对没关系,别在配置上浪费时间排查。
5.2 vlanif 接口状态 down:VLAN 在物理链路里没有端口
现象:在核心交换机上执行display ip interface brief,发现 Vlanif10 的协议状态是 down,或者接口状态显示为 down down,但 Vlanif100 却是正常的。
原因:Vlanif 接口不是物理接口,它的 up 前提是这个 VLAN 在交换机上存在,并且至少有一个物理端口加入了该 VLAN。如果你创建了 VLAN 10,但接入交换机的 trunk 口没有放行 VLAN 10,核心交换机上这个 VLAN 就没有任何成员端口,Vlanif10 自然起不来。
解决:回到接入交换机检查 trunk 口配置,确认port trunk allow-pass vlan 10 20里包含了 vlan 10。然后在核心交换机执行display vlan 10,查看输出里的端口列表是否包含与接入交换机相连的口。如果端口列表为空,说明 VLAN 成员关系断在了物理链路上,需要回到接入交换机排查。这类问题通常不是你少敲了一条命令,而是敲在了错误的设备上。
5.3 PC 能 ping 通网关但拿不到 DHCP 地址
现象:PC 手动配置 IP 地址后能正常访问网关,但只要把 IP 获取方式改成 DHCP,PC 显示的地址就变成了 169.254.x.x 这一类本地保留地址,明显是没收到服务器的 DHCP 响应。
原因:169.254.x.x 是操作系统自己生成的地址,只有 DHCP 请求彻底失败时才会出现。最常见的原因是全局 DHCP 地址池配置好了,但 Vlanif 接口下少了dhcp select global,或者整个设备忘了敲dhcp enable。
解决:先在核心交换机上执行display current-configuration,确认 dhcp enable 存在且 Vlanif10 下有 dhcp select global 这行。然后执行display ip pool,查看地址池里有没有可用地址,以及已经被分配的地址。如果地址池状态正常,可以在 PC 上执行 ipconfig /release 再执行 ipconfig /renew,重新申请一次,有时候是 PC 在切换地址获取方式时没有重新发起请求。
5.4 内网互通但 NAT 不生效:ACL 放行网段写窄了
现象:内网 PC 之间 ping 完全正常,路由表也完整,但 PC 无法 ping 通外部模拟服务器。出口路由器上执行display nat session all看不到任何转换会话。
原因:ACL 2000 里的规则放行范围没有覆盖该 PC 所在的网段。我曾经遇到过一次,ACL 只写了permit source 192.168.10.0 0.0.0.255,新加了宿舍区 VLAN 30 后忘了更新 ACL,结果学生宿舍区域所有 PC 都无法访问外部,教学区却完全正常。
解决:在出口路由器上执行display acl 2000,查看规则里的源网段和匹配计数。如果匹配计数一直为 0,就把 ACL 规则改宽,或者直接使用192.168.0.0 0.0.255.255覆盖全部内网地址。改完 ACL 后不需要重启设备,重新 ping 一次再查看匹配计数是否增加即可。以后每新增一个 VLAN,把 ACL 放行网段也同步更新一遍,这个动作要写进你的变更清单里。
5.5 保存工程后重开,设备配置全部丢失
现象:在 ENSP 里辛苦配了一整张拓扑,关掉软件前也点了保存。第二天打开工程,发现所有设备都回到了初始状态,VLAN、IP 地址全部不存在了。
原因:ENSP 的工程保存和设备的配置保存是两回事。工程文件保存的是设备的拓扑信息和镜像引用,而设备内部的 running-config 只保存在虚拟内存里,你必须先登录设备执行 save 命令,把配置写入设备自身的虚拟存储,然后再保存工程退出。
解决:在每台设备上执行 save,根据提示输入文件名或直接回车确认,看到 configuration is saved 的提示才算真正保存了配置。全部设备保存完后,再关闭工程文件。我习惯在配置完成的最后一步统一对每台设备做一次 save,避免中途反复操作。如果你用的 ENSP 版本支持一键保存工程,也一定要确认弹窗里是否同时保存了设备配置,不确定的话就在每台设备手动 save 一次,这是最稳妥的做法。
6. 进阶一步:从单核心网关走向双核心冗余与动态路由
当你想让这个校园网仿真项目更接近真实部署时,第一件事是把核心网关从单点改成双核心冗余。现实环境里没人敢让几千台终端挂在单台核心交换机上,那意味着一台设备断电整个学校断网。ENSP 完全支持模拟两台核心设备做主备,用 VRRP 把网关地址虚拟成一台设备对外提供服务。
做法是把两台核心交换机分别命名为 SW-CORE-A 和 SW-CORE-B,两台同时配置相同的 VLAN 和 Vlanif 地址,但地址不同,比如 A 用 .252,B 用 .253,然后在这两台设备的 Vlanif10 和 Vlanif20 下配置同一个虚拟网关地址 .254:
# 核心交换机 SW-CORE-A 的 VRRP 配置 interface Vlanif10 vrrp vrid 10 virtual-ip 192.168.10.254 vrrp vrid 10 priority 120 # 核心交换机 SW-CORE-B 的 VRRP 配置 interface Vlanif10 vrrp vrid 10 virtual-ip 192.168.10.254配置完成后,PC 的网关仍然是 192.168.10.254,但实际转发会由优先级更高的 SW-CORE-A 承担。验证时可以在 PC 上长 ping 外部服务器,然后把 SW-CORE-A 关掉或停掉接口,观察 ping 是否出现轻微抖动后恢复,这就是 VRRP 主备切换生效的表现。同时建议把静态路由改成 OSPF,让两台核心与出口路由器之间自动收敛链路状态,省去手动维护回程路由的麻烦。
我后来养成了一个习惯:每次在 ENSP 里改完网关或路由协议,都会顺手用 PC 长 ping 一轮,再看设备上的会话计数有没有变化。模拟器里协议收敛比真机敏感得多,有时候 ping 通不代表配置稳定。希望这篇笔记帮到你,把你手上的校园网仿真项目从「能通」推到「能讲清每一步为什么这么配」。
本文还有配套的精品资源,点击获取