简介:这份《计算机网络--校园局域网课程设计》文档面向高校计算机网络课程学习者与课程设计实践者,围绕校园网综合布局设计展开,帮助读者完成从需求分析到设备配置的完整方案。内容涵盖设计目的与背景、系统与安全分析、软硬件环境、NAT与路由选择等理论基础,并给出网络设备选型、拓扑结构设计、VLAN划分与IP地址分配等方案设计,以及VLAN、路由、服务器、交换机等具体配置步骤,还整理了设计过程中遇到的问题与解决办法、个人体会及建议。资源包共1个doc文件,约1.24MB,结构完整、目录清晰,适合作为课程设计报告参考或实验配置对照。目前已有299人学习,可为网络工程、通信工程等专业学生提供可复用的设计框架与排错思路。
1. 校园局域网课程设计:从 VLAN 划分到三层交换的完整落地路径
很多同学做计算机网络课程设计时,第一反应是去网上找一份现成的报告改改交差,结果答辩时被老师追问「你 VLAN 为什么这么划」「三层交换机在这里到底起什么作用」就卡壳了。这份《计算机网络--校园局域网课程设计》文档的价值不在于它是一份「可抄的报告」,而在于它把校园网从需求分析、拓扑设计、VLAN 划分、IP 地址规划到路由器/交换机配置的完整链路走了一遍,并且附带了真实的设备选型参数和配置命令。它适合正在做计算机网络课程设计、需要一份可参照的工程文档来理解校园网架构的本科生,也适合刚接触企业级网络设备、想通过一个具体场景把 VLAN、Trunk、三层交换、NAT 这些概念串起来的初级网络工程师。下面我按实际复现的路径,把这份文档拆开讲清楚每一步在做什么、参数怎么定、哪里容易翻车。
2. 校园网方案设计:拓扑结构与 VLAN/IP 规划怎么定
2.1 为什么先定拓扑再谈配置
这份文档在方案设计部分给出了网络拓扑结构图,虽然原文没有贴出完整的拓扑图片,但从后续的 VLAN 划分和配置步骤可以反推出一个典型的三层架构:核心层用三层交换机做 VLAN 间路由,接入层用二层交换机做端口隔离和 VLAN 划分,出口用路由器做 NAT 转换和公网接入。这个结构不是随便画的,它对应了校园网三个刚性需求——行政办公、教学科研、学生宿舍需要逻辑隔离但又要能访问公共服务器和互联网。
常见做法是:核心层放一台三层交换机(文档中选型为 CISCO WS-C3560G-24T),接入层放若干台二层交换机(文档中选型为 CISCO WS-C2960G-48TS),出口路由器用一台支持 NAT 和串口的路由器。三层交换机负责 VLAN 间路由,路由器负责 NAT 和出口路由。这样做的原因是:如果所有 VLAN 间路由都压到路由器上,路由器会成为瓶颈;三层交换机的背板带宽远高于路由器,适合做局域网内部的高速转发。
提示:拓扑设计阶段就要确定每个 VLAN 的网段和网关位置。网关放在三层交换机上,不要放在路由器上,否则跨 VLAN 流量会绕一圈到路由器再回来,延迟和带宽都会受影响。
2.2 VLAN 划分与 IP 地址分配的具体逻辑
文档中划分了 VLAN100、VLAN200、VLAN300 三个 VLAN,分别对应不同的功能区域。虽然原文没有给出完整的 IP 地址表,但从路由器配置中的218.4.30.1/24和218.4.40.1/24可以推断,校园网内部使用的是私有地址段(如 192.168.x.x 或 10.x.x.x),出口路由器上配置的是公网地址或运营商分配的地址。
VLAN 划分的核心原则是按功能或按楼栋划分,不要按设备类型划分。比如:
| VLAN ID | 用途 | 典型网段 | 网关位置 |
|---|---|---|---|
| VLAN100 | 行政办公 | 192.168.100.0/24 | 三层交换机 |
| VLAN200 | 教学科研 | 192.168.200.0/24 | 三层交换机 |
| VLAN300 | 学生宿舍 | 192.168.300.0/24 | 三层交换机 |
每个 VLAN 的网关地址就是三层交换机上对应 SVI(Switch Virtual Interface)的 IP 地址。比如 VLAN100 的网关是 192.168.100.1,那么三层交换机上就要配置interface Vlan100并给它分配这个地址。这样 VLAN100 内的主机把网关指向 192.168.100.1,跨 VLAN 的流量就会送到三层交换机做路由转发。
IP 地址分配要留足余量。一个 /24 的网段有 254 个可用地址,如果行政办公区有 200 台设备,用 /24 刚好够但没余量;建议用 /23 或者规划时预留 20% 以上的空闲地址。文档中用的是 /24,对于课程设计场景够用,但实际项目中要按设备数量算。
2.3 设备选型的参数依据
文档给出了两款交换机的具体参数:CISCO WS-C3560G-24T 和 CISCO WS-C2960G-48TS。选型不是看品牌,而是看三个硬指标:端口数量、端口速率、是否支持三层功能。
WS-C3560G-24T 是三层交换机,24 个千兆电口,支持静态路由和 RIP/OSPF,适合做核心层。WS-C2960G-48TS 是二层交换机,48 个千兆电口,不支持三层路由,适合做接入层。这个搭配的逻辑是:接入层只需要把终端设备接进来并打上 VLAN 标签,不需要做路由;核心层才需要做 VLAN 间路由和出口路由。
注意:课程设计中如果预算有限,可以用模拟器(如 Cisco Packet Tracer 或 GNS3)替代真实设备。但模拟器对某些高级功能(如 QoS、ACL 的硬件卸载)支持不完整,配置命令可能和真机有差异。建议先在模拟器上跑通逻辑,再到真机上验证。
3. 网络配置实操:从 VLAN 划分到路由器 NAT 的完整命令
3.1 二层交换机 VLAN 划分与 Trunk 配置
二层交换机的任务是把不同端口划分到不同 VLAN,并把上联口配成 Trunk 模式,让多个 VLAN 的流量能通过一条物理链路传到三层交换机。文档中给出的配置逻辑是:建立 VLAN100、VLAN200、VLAN300,将 e0/0/1、e0/0/2、e0/0/3 分别设为 access 模式并划入对应 VLAN,然后将 e0/0/4 设为 trunk 模式并允许所有 VLAN 通过。
# 进入全局配置模式 Switch> enable Switch# configure terminal # 创建 VLAN Switch(config)# vlan 100 Switch(config-vlan)# name admin Switch(config-vlan)# exit Switch(config)# vlan 200 Switch(config-vlan)# name teaching Switch(config-vlan)# exit Switch(config)# vlan 300 Switch(config-vlan)# name student Switch(config-vlan)# exit # 配置 access 端口并划入 VLAN Switch(config)# interface e0/0/1 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 100 Switch(config-if)# exit Switch(config)# interface e0/0/2 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 200 Switch(config-if)# exit Switch(config)# interface e0/0/3 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 300 Switch(config-if)# exit # 配置 trunk 端口,允许所有 VLAN 通过 Switch(config)# interface e0/0/4 Switch(config-if)# switchport mode trunk Switch(config-if)# switchport trunk allowed vlan all Switch(config-if)# exit这段配置的逻辑是:access 端口只属于一个 VLAN,接终端设备;trunk 端口属于多个 VLAN,接上层交换机。switchport trunk allowed vlan all表示允许所有 VLAN 通过,实际项目中建议只允许需要的 VLAN 通过,减少广播域。参数e0/0/1是端口编号,不同设备的编号规则不同,Cisco 设备通常是FastEthernet0/1或GigabitEthernet0/1,模拟器中可能是e0/0/1,配置前先用show interface status确认端口名称。
3.2 三层交换机 VLAN 间路由配置
三层交换机的核心任务是给每个 VLAN 配置一个 SVI 接口,并分配 IP 地址作为该 VLAN 的网关。文档中以 LSW2 为例,配置逻辑是:创建 VLAN100、VLAN200、VLAN300,然后进入每个 VLAN 接口配置 IP 地址。
# 进入全局配置模式 Switch> enable Switch# configure terminal # 开启 IP 路由功能 Switch(config)# ip routing # 创建 VLAN Switch(config)# vlan 100 Switch(config-vlan)# exit Switch(config)# vlan 200 Switch(config-vlan)# exit Switch(config)# vlan 300 Switch(config-vlan)# exit # 配置 VLAN100 的 SVI 接口 Switch(config)# interface vlan 100 Switch(config-if)# ip address 192.168.100.1 255.255.255.0 Switch(config-if)# no shutdown Switch(config-if)# exit # 配置 VLAN200 的 SVI 接口 Switch(config)# interface vlan 200 Switch(config-if)# ip address 192.168.200.1 255.255.255.0 Switch(config-if)# no shutdown Switch(config-if)# exit # 配置 VLAN300 的 SVI 接口 Switch(config)# interface vlan 300 Switch(config-if)# ip address 192.168.300.1 255.255.255.0 Switch(config-if)# no shutdown Switch(config-if)# exit # 配置上联口为 trunk Switch(config)# interface e0/0/1 Switch(config-if)# switchport trunk encapsulation dot1q Switch(config-if)# switchport mode trunk Switch(config-if)# exit关键点是ip routing这条命令,没有它三层交换机不会做 VLAN 间路由。interface vlan 100创建的是 SVI 接口,它不是一个物理端口,而是对应 VLAN100 的逻辑接口。ip address后面的地址就是该 VLAN 内主机的默认网关。no shutdown必须加,否则接口默认是关闭状态。
提示:三层交换机上联口如果对端是二层交换机,需要配置
switchport trunk encapsulation dot1q指定封装协议。有些设备默认就是 dot1q,但显式配置更稳妥。
3.3 路由器 NAT 与出口配置
路由器的任务是做 NAT 转换,把内部私有地址转换成公网地址,同时配置默认路由指向运营商。文档中给出的路由器配置包括主机名、密码、端口 IP 地址等。
# 进入全局配置模式 Router> enable Router# configure terminal # 配置主机名和密码 Router(config)# hostname R1 R1(config)# enable password 123456 R1(config)# line con 0 R1(config-line)# password 123456 R1(config-line)# login R1(config-line)# line vty 0 4 R1(config-line)# password 123456 R1(config-line)# login R1(config-line)# exit # 配置内网接口 R1(config)# interface FastEthernet0/0 R1(config-if)# ip address 192.168.1.1 255.255.255.0 R1(config-if)# ip nat inside R1(config-if)# no shutdown R1(config-if)# exit # 配置外网接口 R1(config)# interface FastEthernet1/0 R1(config-if)# ip address 218.4.30.1 255.255.255.0 R1(config-if)# ip nat outside R1(config-if)# no shutdown R1(config-if)# exit # 配置 NAT 地址池 R1(config)# ip nat pool public_pool 218.4.30.2 218.4.30.10 netmask 255.255.255.0 # 配置 ACL 匹配内网流量 R1(config)# access-list 1 permit 192.168.0.0 0.0.255.255 # 绑定 NAT 转换规则 R1(config)# ip nat inside source list 1 pool public_pool overload # 配置默认路由 R1(config)# ip route 0.0.0.0 0.0.0.0 218.4.30.254这段配置的逻辑是:ip nat inside和ip nat outside标记内外网接口,ip nat pool定义公网地址池,access-list 1匹配需要做 NAT 的内网流量,ip nat inside source list 1 pool public_pool overload把匹配的流量做端口复用转换。overload表示 PAT,多个内网地址可以复用同一个公网地址的不同端口。ip route 0.0.0.0 0.0.0.0是默认路由,指向运营商网关。
参数说明:218.4.30.1是外网接口地址,218.4.30.254是运营商网关,这两个地址要根据实际分配填写。access-list 1 permit 192.168.0.0 0.0.255.255匹配所有 192.168.x.x 的流量,如果内网用了 10.x.x.x 网段,这里要相应修改。
3.4 服务器配置与设备选型核对
文档中提到服务器配置包括硬盘、CPU、最大内存容量、扩展槽、网络控制器、内存插槽数量等参数。课程设计中通常不需要真实服务器,但需要规划服务器的 IP 地址和接入 VLAN。常见做法是把服务器单独划一个 VLAN(如 VLAN400),接入三层交换机,配置静态 IP 地址,并在 ACL 中允许其他 VLAN 访问服务器的特定端口。
设备选型核对表:
| 设备 | 型号 | 端口 | 用途 |
|---|---|---|---|
| 核心交换机 | WS-C3560G-24T | 24 千兆电口 | VLAN 间路由、SVI 网关 |
| 接入交换机 | WS-C2960G-48TS | 48 千兆电口 | 终端接入、VLAN 划分 |
| 路由器 | 支持 NAT 和串口 | 至少 2 个以太口 | NAT、出口路由 |
选型时要确认交换机的背板带宽和包转发率是否满足峰值流量。WS-C3560G-24T 的背板带宽是 32Gbps,包转发率是 6.5Mpps,对于课程设计场景绰绰有余。实际项目中如果接入设备超过 200 台,要考虑堆叠或增加核心交换机。
4. 避坑与排查:课程设计中最容易翻车的五个点
4.1 Trunk 端口没配封装协议导致 VLAN 不通
现象:二层交换机和三层交换机之间的 Trunk 链路起来了,但 VLAN100 内的主机 ping 不通网关。
原因:三层交换机上联口没有配置switchport trunk encapsulation dot1q,或者两端封装协议不一致。有些 Cisco 设备默认是 ISL 封装,而二层交换机可能只支持 dot1q。
解决:在两端 Trunk 端口都显式配置switchport trunk encapsulation dot1q,然后用show interface trunk确认封装类型和允许的 VLAN 列表。
4.2 三层交换机没开 ip routing 导致 VLAN 间无法通信
现象:同一个 VLAN 内能通,跨 VLAN ping 不通,三层交换机上 SVI 接口状态是 up。
原因:三层交换机默认可能没有开启 IP 路由功能,ip routing命令缺失。
解决:在全局配置模式下执行ip routing,然后用show ip route确认路由表中有直连网段。如果还没有,检查 SVI 接口是否no shutdown。
4.3 NAT 地址池和 ACL 不匹配导致上不了网
现象:内网主机能 ping 通网关,但 ping 不通外网地址。
原因:access-list匹配的网段和实际内网网段不一致,或者 NAT 地址池的地址不在外网接口的网段内。
解决:用show ip nat translations查看是否有 NAT 转换记录。如果没有,检查 ACL 的permit语句是否覆盖了内网所有网段,检查ip nat inside和ip nat outside是否配在了正确的接口上。
4.4 VLAN 划分后 IP 地址规划冲突
现象:配置完 SVI 接口后,部分主机无法获取 IP 或 IP 冲突。
原因:VLAN 网段和 SVI 地址不在同一网段,或者 DHCP 地址池配置错误。
解决:确认每个 VLAN 的网段和 SVI 地址匹配,比如 VLAN100 用 192.168.100.0/24,SVI 就配 192.168.100.1。如果用了 DHCP,检查地址池的network和default-router是否对应。
4.5 模拟器和真机命令差异导致配置失败
现象:在 Packet Tracer 上跑通的配置,搬到真机上报错。
原因:模拟器简化了某些命令,比如switchport trunk encapsulation dot1q在模拟器上可能不需要,但真机上必须配。或者端口编号规则不同,模拟器用e0/0/1,真机用GigabitEthernet0/1。
解决:配置前先用show interface status确认端口名称,用?查看当前设备支持的命令。真机上配置前先备份 running-config,出错可以回滚。
5. 进阶技巧:用链路聚合和 ACL 提升校园网性能与安全
课程设计文档在问题与解决办法部分提到了链路聚合(bond)来解决带宽不足的问题。这个思路在实际项目中很常用,但课程设计里往往只提概念不落实操。下面把链路聚合和 ACL 的配置补全,让这份设计从「能通」升级到「好用且安全」。
链路聚合的核心是把多条物理链路捆绑成一条逻辑链路,增加带宽并提供冗余。在 Cisco 交换机上叫 EtherChannel,配置方式有两种:LACP(标准协议)和 PAgP(Cisco 私有)。推荐用 LACP,兼容性更好。
# 在二层交换机上配置链路聚合 Switch(config)# interface range e0/0/1 - 2 Switch(config-if-range)# channel-protocol lacp Switch(config-if-range)# channel-group 1 mode active Switch(config-if-range)# exit # 在三层交换机上配置对应的链路聚合 Switch(config)# interface range e0/0/1 - 2 Switch(config-if-range)# channel-protocol lacp Switch(config-if-range)# channel-group 1 mode active Switch(config-if-range)# exit # 将聚合口配成 Trunk Switch(config)# interface port-channel 1 Switch(config-if)# switchport trunk encapsulation dot1q Switch(config-if)# switchport mode trunk Switch(config-if)# switchport trunk allowed vlan all Switch(config-if)# exit这段配置的逻辑是:channel-group 1 mode active表示主动发起 LACP 协商,两端都配 active 才能协商成功。interface port-channel 1是逻辑接口,后续的 Trunk 配置都配在这个逻辑接口上,而不是物理接口上。验证命令是show etherchannel summary,看到SU标志表示聚合成功。
ACL 的配置用来限制 VLAN 间的访问。比如只允许 VLAN100 访问服务器 VLAN400 的 80 端口,其他流量拒绝:
# 在三层交换机上配置 ACL Switch(config)# ip access-list extended SERVER_ACCESS Switch(config-ext-nacl)# permit tcp 192.168.100.0 0.0.0.255 192.168.400.0 0.0.0.255 eq 80 Switch(config-ext-nacl)# deny ip any 192.168.400.0 0.0.0.255 Switch(config-ext-nacl)# permit ip any any Switch(config-ext-nacl)# exit # 应用到 VLAN100 的 SVI 接口 Switch(config)# interface vlan 100 Switch(config-if)# ip access-group SERVER_ACCESS in Switch(config-if)# exitACL 的匹配顺序是从上到下,一旦匹配就执行动作。所以permit具体流量要放在deny前面,最后的permit ip any any是放行其他流量。in表示在进入 VLAN100 接口的方向上过滤,也就是 VLAN100 发出的流量。
验证方法:用show ip access-lists查看 ACL 匹配计数,用show etherchannel summary查看聚合状态。如果 ACL 没生效,检查应用方向是否正确,in和out的方向容易搞反。
从那以后我每次做校园网设计,都会先把 VLAN 和 IP 规划表画出来,再动手配设备,配完先用show命令逐项核对,最后才接终端测试。这个习惯帮我省了很多返工的时间。希望帮到你。
本文还有配套的精品资源,点击获取