ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

校园网双校区组网:4个C类地址如何支撑4000信息点

校园网双校区组网:4个C类地址如何支撑4000信息点 简介这份PDF是计算机网络课程设计报告面向高校计算机相关专业学生与网络实验初学者聚焦校园网构建方案的设计与实现。报告以两个地理分离校区、各2000余个信息点、仅4个C类地址222.191.1.0—222.191.4.0为背景系统讲解如何借助VLAN隔离学生公寓与教师子网广播域并用静态NAT、动态NAT与PAT解决公网地址不足问题同时覆盖路由表配置与ICMP验证。资源包共1个PDF文件约1.45MB内容包含需求分析、设备选型、拓扑结构图、具体配置步骤与测试验证可直接作为课程设计参考模板。已有140人学习适合需要完成同类网络设计作业、理解VLAN与NAT综合应用、查漏补缺配置思路的读者。1. 校园网双校区组网4 个 C 类地址怎么喂饱 4000 个信息点两个地理分离的校区每个校区 2000 多个入网信息点从科教网只申请到 4 个 C 类网络222.191.1.0 到 222.191.4.0还要求学生公寓和教师子网不在同一广播域同时有若干台应用服务器要同时对内对外提供 Web 服务。这不是一道纯理论的计算机网络题而是一份可以直接在实验室里复现的课程设计报告核心用到的技术栈是 VLAN 划分、静态 NAT、动态 NAT、PAT 端口多路复用以及回址路由和默认路由的配合。适合正在做计算机网络课程设计的学生、刚接触路由交换配置的初级网络工程师以及需要一份完整校园网方案做参考的从业者。它解决的不是“网络怎么通”这种基础问题而是“地址不够、广播域要隔离、服务器要对外”三个约束同时成立时设备到底该怎么配。2. 拓扑与地址规划先把 222.191.1.0/24 这段掰开用2.1 为什么选三层交换机加双路由器的结构这份方案里用到的设备清单很明确DCRS-5526S 三层交换机 2 台DCR-2626 路由器 2 台直连双绞线 4 根交叉双绞线 3 根Console 电缆 1 根PC 机 4 台。注意这里三层交换机是核心不是普通二层交换机。原因在于不同 VLAN 之间要通信必须经过三层设备做路由转发。如果只用二层交换机加单臂路由Router-A 的 F0/0 接口就得起多个子接口配置量翻倍不说实验室环境里路由器子接口的稳定性也是个玄学问题。用三层交换机直接在 VLAN 虚接口上配 IPVLAN 间路由由交换机内部完成Router-A 只需要处理 NAT 和默认路由职责清晰。拓扑结构上A 校区和 B 校区各有一台三层交换机和一台路由器。Switch-A 下挂 VLAN1、VLAN100、VLAN200分别对应应用服务器网段、学生公寓子网、教师子网。Router-A 的 F0/0 接 Switch-A 的 VLAN1 虚接口F0/1 接科教网方向。Router-B 的 F0/0 接 B 校区内部网段 192.168.10.0/24F0/1 同样接科教网方向。两台路由器的外网口配在同一网段 222.191.1.0/24 里Router-A 用 222.191.1.1Router-B 用 222.191.1.2。这里有个容易翻车的点Router-A 和 Router-B 的外网口虽然在同一网段但它们之间并不是直接互联的而是各自通过科教网接入。实验环境里为了模拟这个场景通常会把两台路由器的 F0/1 接口用交叉线直连或者通过一台模拟 ISP 的交换机中转。如果直接交叉线互联记得两端都要配 222.191.1.x/24 的地址并且不要配成同一个 IP。2.2 地址分配表和 VLAN 成员关系先把地址规划列清楚后面配置的时候直接查表不用来回翻。设备接口/VLANIP 地址掩码说明Switch-AVLAN1192.168.1.2/24管理地址兼应用服务器网关Switch-AVLAN100192.168.2.1/24学生公寓子网网关Switch-AVLAN200192.168.3.1/24教师子网网关Router-AF0/0192.168.1.1/24内网接口NAT insideRouter-AF0/1222.191.1.1/24外网接口NAT outsideRouter-BF0/0192.168.10.1/24B 校区内网网关Router-BF0/1222.191.1.2/24外网接口NAT outside应用服务器VLAN1192.168.1.110/24网关 192.168.1.2A 校区学生 PCVLAN100192.168.2.2 或 192.168.2.3/24网关 192.168.2.1A 校区教师 PCVLAN200192.168.3.2/24网关 192.168.3.1B 校区 PC—192.168.10.2/24网关 192.168.10.1VLAN 端口成员关系VLAN1 是缺省 VLAN包含 17 到 24 口Switch-A 的管理 IP 192.168.1.2 就配在 VLAN1 虚接口上。VLAN100 包含 1 到 8 口对应学生公寓子网。VLAN200 包含 9 到 16 口对应教师子网。这个端口划分不是随便定的1 到 8 口和 9 到 16 口在物理上分开方便实验室里插线时一眼就能看出哪个口属于哪个 VLAN。提示实验时如果 PC 数量不够学生子网的 PC 可以配 192.168.2.3不影响验证结果。但网关必须配 192.168.2.1否则跨网段 ping 不通。3. Switch-A 上 VLAN 划分与虚接口配置从 set default 开始3.1 恢复出厂设置和创建 VLAN拿到一台用过的交换机第一步永远是恢复出厂设置。DCRS-5526S 的命令是 set default然后 write 保存reload 重启。不执行这一步交换机里可能残留之前的 VLAN 配置导致你新建的 VLAN 和旧配置冲突现象是 show vlan 里能看到 VLAN100但端口怎么都加不进去。switch#set default switch#write switch#reload重启完成后先给交换机配管理 IP配在 VLAN1 虚接口上。switch#config switch(Config)#interface vlan 1 switch(Config-If-Vlan1)#ip address 192.168.1.2 255.255.255.0 switch(Config-If-Vlan1)#no shutdown switch(Config-If-Vlan1)#exit switch(Config)#exit这段配置的逻辑是VLAN1 是缺省 VLAN所有未划分的端口默认属于 VLAN1。把管理 IP 配在 VLAN1 上后续可以通过这个地址 Telnet 管理交换机。no shutdown 不能省有些型号的 VLAN 虚接口默认是关闭的。接下来创建 VLAN100 和 VLAN200。switch(Config)#vlan 100 switch(Config-Vlan100)#exit switch(Config)#vlan 200 switch(Config-Vlan200)#exit switch(Config)#创建完用 show vlan 验证应该能看到 VLAN100 和 VLAN200 已经存在但 Ports 列是空的。如果 Ports 列里已经有端口说明之前有人配过没清干净回到 set default 重来。3.2 给 VLAN 添加端口并配置虚接口 IP创建 VLAN 只是建了个逻辑广播域端口还没加进去。下面把 1 到 8 口划给 VLAN1009 到 16 口划给 VLAN200。switch(Config)#vlan 100 switch(Config-Vlan100)#switchport interface ethernet 0/0/1-8 switch(Config-Vlan100)#exit switch(Config)#vlan 200 switch(Config-Vlan200)#switchport interface ethernet 0/0/9-16 switch(Config-Vlan200)#exitswitchport interface ethernet 0/0/1-8 这条命令的格式要注意端口范围用连字符不是逗号。如果写成 0/0/1,0/0/2 这种有些固件版本不认。执行成功后会逐口打印 “Set the port Ethernet0/0/1 access vlan 100 successfully”看到这行才算成功。然后配 VLAN 虚接口 IP这是三层交换机实现 VLAN 间路由的关键。DCRS-5526S(Config)#int vlan 100 DCRS-5526S(Config-If-Vlan100)#ip address 192.168.2.1 255.255.255.0 DCRS-5526S(Config-If-Vlan100)#no shut DCRS-5526S(Config-If-Vlan100)#exit DCRS-5526S(Config)#int vlan 200 DCRS-5526S(Config-If-Vlan200)#ip address 192.168.3.1 255.255.255.0 DCRS-5526S(Config-If-Vlan200)#no shut DCRS-5526S(Config-If-Vlan200)#exit配完之后VLAN100 里的 PC 网关指向 192.168.2.1VLAN200 里的 PC 网关指向 192.168.3.1。三层交换机会自动生成直连路由VLAN100 和 VLAN200 之间可以互相 ping 通。但注意能 ping 通不代表它们在同一广播域广播报文仍然被限制在各自的 VLAN 内这正是方案要求的效果。注意如果 show vlan 显示端口已经加入 VLAN但 PC 还是 ping 不通网关先检查 PC 的 IP 和网关是否配在同一网段再检查交换机端口有没有被 shutdown。4. NAT 配置静态、动态和 PAT 到底怎么选4.1 静态 NAT 让应用服务器对外可见学校有若干台应用服务器要同时对内和对外提供 Web 服务。对内服务器在 VLAN1 里IP 是 192.168.1.110校内用户直接访问这个地址就行。对外外部用户不可能直接访问 192.168.1.110因为这是私有地址。静态 NAT 就是干这个的把 192.168.1.110 一对一映射到 222.191.1.110。Router-A(config)#interface FastEthernet 0/0 Router-A(config-if)#ip nat inside Router-A(config-if)#exit Router-A(config)#interface FastEthernet 0/1 Router-A(config-if)#ip nat outside Router-A(config-if)#exit Router-A(config)#ip nat inside source static 192.168.1.110 222.191.1.110 Router-A(config)#writeip nat inside source static 这条命令的参数含义第一个 IP 是内部本地地址第二个 IP 是内部全局地址。配置完成后外部用户访问 222.191.1.110 就等于访问 192.168.1.110。用 show ip nat translations 验证应该看到一条静态映射记录Inside local 是 192.168.1.110Inside global 是 222.191.1.110。静态 NAT 的坑在于它是一对一的一个公网 IP 只能映射一台内部服务器。如果学校有 5 台服务器要对外就需要 5 个公网 IP。4 个 C 类网络总共 1016 个可用地址看起来够用但还要留一部分给动态 NAT 池所以实际能分配给静态 NAT 的不会太多。4.2 动态 NAT 加 PAT 解决地址池不足每个校区 2000 多个信息点4 个 C 类网络总共就 1016 个地址平均分到两个校区每个才 508 个。如果纯用动态 NAT同一时间最多只能有 508 个用户上网超出的用户就得等地址释放。这显然不现实。所以方案里实际用的是动态 NAT 加 PAT 的 overload 模式。先看 Router-A 的配置。Router-A#conf Router-A_config#ip access-list standard 1 Router-A_config_std_nacl#permit 192.168.0.0 0.0.255.255 Router-A_config_std_nacl#exit Router-A_config#ip nat pool netA 222.191.1.10 222.191.1.254 255.255.255.0 Router-A_config#ip nat inside source list 1 pool netA overload Router-A_config#int f0/0 Router-A_config_f0/0#ip nat inside Router-A_config_f0/0#int f0/1 Router-A_config_f0/1#ip nat outside Router-A_config_f0/1#exit Router-A_config#ip route 0.0.0.0 0.0.0.0 192.168.1.2这里有几个参数需要拆开说。access-list standard 1 定义的是标准 ACL标号 1 在 1 到 99 之间。permit 192.168.0.0 0.0.255.255 里的 0.0.255.255 是通配符掩码不是子网掩码。这是整个配置里最容易翻车的地方后面避坑章节会详细说。ip nat pool netA 222.191.1.10 222.191.1.254 255.255.255.0 定义了一个地址池起始 222.191.1.10终止 222.191.1.254掩码 255.255.255.0。注意这里用的是子网掩码不是通配符。地址池的范围可以根据实际申请的 C 类网络调整比如把 222.191.3.0 也加进去命令是 ip nat pool cernet 222.191.3.1 222.191.3.254 netmask 255.255.255.0。ip nat inside source list 1 pool netA overload 是核心命令。list 1 引用 ACL 1pool netA 引用地址池overload 关键字启用 PAT。没有 overload就是纯动态 NAT一个内部地址对应一个外部地址地址池用完就没了。加了 overload多个内部地址可以共享同一个外部地址通过不同的源端口号区分。Router-B 的配置逻辑一样只是 ACL 标号换成 2地址池换成 netB范围是 222.191.2.10 到 222.191.2.254。Router-B#conf Router-B_config#ip access-list standard 2 Router-B_config_std_nacl#permit 192.168.0.0 0.0.255.255 Router-B_config_std_nacl#exit Router-B_config#ip nat pool netB 222.191.2.10 222.191.2.254 255.255.255.0 Router-B_config#ip nat inside source list 2 pool netB overload Router-B_config#int f0/0 Router-B_config_f0/0#ip nat inside Router-B_config_f0/0#int f0/1 Router-B_config_f0/1#ip nat outside Router-B_config_f0/1#exit Router-B_config#ip route 0.0.0.0 0.0.0.0 192.168.10.2验证 NAT 是否生效用 show ip nat translations。如果看到类似 ICMP OUT 192.168.1.3:512 222.191.1.10:12512 的记录说明 PAT 正在工作。同一个内部地址在不同时间可能映射到不同的外部地址和端口这是正常现象。4.3 回址路由和默认路由的配合Router-A 上需要配回址路由让外部返回的流量能找到内部网段。同时配默认路由指向 Switch-A 的 VLAN1 接口。Router-A_config#ip route 192.168.1.0 255.255.255.0 192.168.1.2 Router-A_config#ip route 192.168.2.0 255.255.255.0 192.168.1.2 Router-A_config#ip route 192.168.3.0 255.255.255.0 192.168.1.2 Router-A_config#ip route 0.0.0.0 0.0.0.0 192.168.1.2这四条路由的下一跳都是 192.168.1.2也就是 Switch-A 的 VLAN1 虚接口。为什么回址路由和默认路由都指向同一个下一跳因为 Router-A 的内网接口 F0/0 直连的就是 Switch-A 的 VLAN1所有内部网段的流量都要经过 Switch-A 转发。默认路由负责把未知目的地的流量也丢给 Switch-A由三层交换机做最终决策。Router-B 的默认路由指向 192.168.10.2但注意原文里 Router-B 的默认路由写的是 ip route 0.0.0.0 0.0.0.0 192.168.1.2这在实际拓扑里是有问题的。Router-B 的内网接口是 F0/0IP 是 192.168.10.1下一跳应该是 192.168.10.2 或者对端设备的接口地址。如果照抄原文配成 192.168.1.2Router-B 的默认路由会指向一个不可达的地址导致 B 校区无法上网。这是原文的一个笔误复现的时候要改过来。5. 避坑与排查那些让你 ping 不通的细节5.1 主机掩码写成子网掩码ACL 直接失效现象配了 access-list standard 1 permit 192.168.0.0 255.255.255.0show ip nat translations 里一条记录都没有内网 PC 完全上不了外网。原因ACL 里的通配符掩码和子网掩码是反的。子网掩码 255.255.255.0 对应的通配符掩码是 0.0.0.255。写成 255.255.255.0 后ACL 匹配的源地址范围变成了 192.168.0.0 到 192.168.255.255 里某些奇怪的组合实际上不匹配任何正常主机地址。解决把 permit 后面的掩码改成 0.0.255.255覆盖 192.168.0.0/16 整个范围。记住公式通配符掩码 子网掩码 255.255.255.255。子网掩码 255.255.0.0 对应通配符 0.0.255.255子网掩码 255.255.255.192 对应通配符 0.0.0.63。5.2 路由器外网口同网段导致路由冲突现象Router-A 和 Router-B 的外网口都配在 222.191.1.0/24 里配完之后 Router-A ping 不通 Router-B 的 222.191.1.2或者时通时不通。原因两台路由器的外网口在同一网段但物理上并不是直连的。如果实验环境里用交叉线直连两端接口的 IP 在同一网段没问题。但如果中间经过了其他设备或者两端都认为对方在直连网段上ARP 解析就会出问题。解决确认物理连接方式。如果是直连检查交叉线是否插对端口。如果中间有模拟 ISP 的交换机确保两台路由器的 F0/1 都接在这台交换机上并且交换机的端口没有做 VLAN 隔离。另外Router-A 和 Router-B 的外网口 IP 不能相同222.191.1.1 和 222.191.1.2 是正确的。5.3 默认路由下一跳写错B 校区流量黑洞现象A 校区能正常上网B 校区 PC ping 不通任何外网地址Router-B 上 show ip route 显示默认路由的下一跳是 192.168.1.2但 192.168.1.2 在 Router-B 的路由表里不可达。原因原文里 Router-B 的默认路由配置写的是 ip route 0.0.0.0 0.0.0.0 192.168.1.2这是从 Router-A 的配置里复制过来忘了改。Router-B 的内网接口是 F0/0IP 192.168.10.1下一跳应该是 192.168.10.2 或者对端设备的接口地址。解决把 Router-B 的默认路由改成 ip route 0.0.0.0 0.0.0.0 192.168.10.2。如果 B 校区内部还有三层交换机下一跳指向三层交换机的管理 IP。5.4 VLAN 间能 ping 通但广播域没隔离现象学生子网和教师子网能互相 ping 通你以为 VLAN 没生效但 show vlan 显示端口划分是对的。原因三层交换机配了 VLAN 虚接口 IP 后会自动生成直连路由VLAN 间路由默认是开启的。能 ping 通说明三层路由正常工作不代表广播域没隔离。广播报文仍然被限制在各自的 VLAN 内只是单播流量可以通过三层转发。解决不需要解决这是正常现象。如果确实要禁止学生子网和教师子网互访需要在三层交换机上配 ACL 过滤。但课程设计的要求是“不在同一广播域”不是“不能通信”所以默认配置就满足要求。5.5 PC 能 ping 通路由器接口但 ping 不通对方 PC现象PC1 ping 192.168.1.1 通ping 192.168.10.1 不通但 Router-B 上 ping 192.168.10.1 是通的。原因原文调试过程中也提到了这个问题PC 与 PC 之间 ping 不通但各 PC 能 ping 通对方 PC 所接的交换机端口或路由器端口。这通常是实验室设备的老毛病可能是 ARP 表项老化、交换机端口隔离、或者 PC 防火墙拦截了 ICMP 回应。解决先关掉 PC 的防火墙再检查交换机端口有没有配 port-isolate。如果还不行在 PC 上 arp -d 清一下 ARP 缓存或者在交换机上清 MAC 地址表。实验室环境里这种问题有时候重启设备就好了属于玄学范畴不用死磕。6. 进阶验证用 show 命令和 ping 矩阵确认方案落地配置写完只是第一步验证才是课程设计拿分的关键。我一般会按下面这个顺序走一遍每一步都有明确的预期结果对不上就回头查对应章节。先看 Switch-A 的 VLAN 状态。show vlan 应该输出三行VLAN1 包含 17 到 24 口VLAN100 包含 1 到 8 口VLAN200 包含 9 到 16 口。如果某个 VLAN 的 Ports 列是空的说明端口没加进去回到 3.2 节重新执行 switchport interface 命令。再看 Router-A 的路由表。show ip route 应该看到四条静态路由192.168.1.0/24、192.168.2.0/24、192.168.3.0/24 的下一跳都是 192.168.1.2外加一条默认路由 0.0.0.0/0 下一跳也是 192.168.1.2。如果默认路由的下一跳是 222.191.1.x说明配反了默认路由应该指向内网方向。NAT 验证用 show ip nat translations。静态 NAT 应该有一条固定映射192.168.1.110 对应 222.191.1.110。动态 NAT 加 PAT 的记录是动态生成的只有产生流量后才会出现。可以在 PC 上 ping 一个外网地址然后立刻在 Router-A 上执行 show ip nat translations应该能看到 ICMP 的转换记录。最后是 ping 矩阵验证。按原文的测试结果预期如下源目的预期结果A 校区学生 PC (192.168.2.3)192.168.1.1通A 校区学生 PC222.191.1.1通A 校区学生 PC222.191.1.2通A 校区学生 PC192.168.10.1不通A 校区学生 PC192.168.1.110通A 校区教师 PC (192.168.3.2)192.168.1.1通A 校区教师 PC222.191.1.1通A 校区教师 PC192.168.10.1不通B 校区 PC (192.168.10.2)222.191.1.1通B 校区 PC222.191.1.2通B 校区 PC192.168.10.1通B 校区 PC192.168.1.1不通应用服务器 (192.168.1.110)192.168.1.1通应用服务器222.191.1.1通应用服务器192.168.2.3通应用服务器192.168.10.1不通这张表里有两个“不通”是故意设计的。A 校区学生 PC ping 不通 192.168.10.1因为 B 校区的内网地址没有在 Router-A 的路由表里Router-A 的默认路由把流量丢给 Switch-ASwitch-A 没有去 192.168.10.0/24 的路由直接丢弃。B 校区 PC ping 不通 192.168.1.1同理Router-B 没有去 192.168.1.0/24 的路由。这两个“不通”恰好证明了两个校区的内网是隔离的只有经过 NAT 转换后的外网流量才能互通。如果实际测试时发现 A 校区学生 PC 能 ping 通 192.168.10.1说明 Router-A 上多配了去 192.168.10.0/24 的路由或者默认路由的下一跳指错了方向。这时候要检查 Router-A 的路由表把多余的路由删掉。从那以后我每次做完 NAT 配置都会先 show ip nat translations 确认映射关系再跑一遍 ping 矩阵最后才去写报告。这套流程走下来课程设计基本不会翻车。希望帮到你。本文还有配套的精品资源点击获取
返回列表