计算机网络综合实验:VLAN、OSPF与NAT完整配置与排错指南 简介这份华北电力大学计算机网络综合实验报告及主要代码面向计算机相关专业学生及网络技术初学者帮助读者系统掌握网络设备配置与协议分析的核心技能。资源包内含1个doc文档大小约21.91MB完整呈现了实验任务书、设计思路、网络拓扑图及问题解决方案。内容覆盖交换机与路由器基本配置、OSPF与RIP v2路由协议、静态路由、VLAN划分与单臂路由、三层交换机VLAN间路由以及静态NAT、NAT地址复用和动态NAT等综合实验并包含数据帧捕获与TCP/IP协议分析、ACL安全配置指导。报告还给出了详细的进度计划、设计成果要求与考核方式拓扑图与IP地址规划清晰便于对照复现实验环境。目前已有155人学习下载适合需要完成课程设计、准备网络实验验收或希望提升组网与排错能力的读者参考借鉴。1. 一份能直接跑通的计网综合实验从 VLAN 到 OSPF 再到 NAT 的完整复盘如果你正在搜“计算机网络 实验报告”大概率不是想抄一份文档交差而是想找一份拓扑清晰、命令能敲、排错有记录的参考。这份资源就是围绕这个需求整理的它把交换机 VLAN 划分、单臂路由、OSPF 多区域、动态 NAT/NAPT、Wireshark 抓包分析串成了一条完整链路拓扑里用了 4 台主机、2 台二层交换机、1 台三层交换机、4 台路由器地址规划、区域划分、验证命令都写得很细。适合刚学完子网划分和路由协议、需要一次综合实战把知识点串起来的人也适合带实验课、想找一套可复现拓扑的开发者。下面我按“先看懂结构、再跑通配置、最后能改”的顺序拆一遍。2. 拓扑与地址规划先把 4 台路由器、3 个区域的关系理清2.1 设备角色与接口分配这套拓扑的核心思路是“左边接入、中间骨干、右边外网”。4 台主机里PC121 和 PC122、PC124 分属不同 VLANPC123 单独挂在 RSR20-12-4 下面。二层交换机负责 VLAN 接入和 Trunk三层交换机或路由子接口负责 VLAN 间路由4 台路由器跑 OSPF 把三个区域连起来最后在 RSR20-12-3 上做 NAT 让内网访问外部。先把地址表列出来配置时对着敲不容易错设备接口IP 地址说明PC121网卡192.168.4.2/24网关 192.168.4.1VLAN20PC122网卡192.168.3.2/24网关 192.168.3.1VLAN10PC123网卡192.168.5.2/24网关 192.168.5.1area2 侧PC124网卡192.168.3.3/24网关 192.168.3.1VLAN10RSR20-12-1ge0/0192.168.8.1连 RSR20-12-4RSR20-12-1ge0/1192.168.7.2连 RSR20-12-2RSR20-12-2ge0/0192.168.7.1连 RSR20-12-1RSR20-12-2ge0/1192.168.10.1连 RSR20-12-3RSR20-12-3ge0/0.1192.168.3.1VLAN10 子接口RSR20-12-3ge0/0.2192.168.4.1VLAN20 子接口RSR20-12-3ge0/1192.168.10.2连 RSR20-12-2RSR20-12-4ge0/0192.168.5.1连 PC123RSR20-12-4ge0/1192.168.8.2连 RSR20-12-1区域划分是RSR20-12-3 左侧为 area1四台路由器中间部分为 area0RSR20-12-4 右侧为 area2。这里有个关键点——area0 必须是骨干区域且所有其他区域都要挂在 area0 上。原文里提到第一次把 area1 放中间导致路由查不全就是踩了这个坑。2.2 为什么选单臂路由而不是三层交换机实验任务书里两种方式都允许但这份报告选了单臂路由。原因很实际三层交换机做 VLAN 间路由虽然性能好但配置 SVI 和路由接口对初学者来说抽象单臂路由用子接口 dot1q 封装能直观看到“一个物理接口承载多个 VLAN”的过程排错时show ip route和show vlan的输出也更直观。常见做法是如果实验环境里三层交换机端口够用优先用 SVI因为不依赖路由器子接口性能如果路由器接口紧张、又想讲清 802.1Q 封装就用单臂路由。这份资源选了后者对理解 VLAN 标签和子接口关系更友好。2.3 拓扑验证的先后顺序不要一上来就配 OSPF。正确的顺序是先配 VLAN 和 Trunk确认同 VLAN 能通再配单臂路由确认跨 VLAN 能通然后配 OSPF确认跨路由器能通最后配 NAT确认内网能访问外部。每一步都有明确的验证命令前一步不通就不要往下走否则后面排错会像在黑匣子里摸。3. VLAN 与单臂路由配置从 Trunk 到子接口的完整命令3.1 二层交换机上的 VLAN 划分与 Trunk先在 S2628-12-2 上创建 VLAN10 和 VLAN20把 fa0/1 划给 VLAN10在 S2628-12-1 上把 fa0/2 划给 VLAN20、fa0/3 划给 VLAN10。然后配置 Trunk让 VLAN 数据能跨交换机传递。# 交换机 S2628-12-2 配置 vlan 10 name work1 vlan 20 name work2 ! interface fa0/1 switchport mode access switchport access vlan 10 ! interface fa0/2 switchport mode trunk interface fa0/13 switchport mode trunk# 交换机 S2628-12-1 配置 vlan 10 name work1 vlan 20 name work2 ! interface fa0/2 switchport mode access switchport access vlan 20 ! interface fa0/3 switchport mode access switchport access vlan 10 ! interface fa0/1 switchport mode trunk逻辑说明switchport mode access把端口设为接入模式只属于一个 VLANswitchport mode trunk把端口设为中继模式允许多个 VLAN 通过。两台交换机之间的 fa0/13 和 fa0/1 必须都是 Trunk否则 VLAN 信息传不过去。参数上VLAN ID 10 和 20 是自定义的只要两端一致就行Trunk 端口默认允许所有 VLAN 通过实验里不用额外配 allowed vlan。配完后用show vlan brief确认端口归属用show interfaces trunk确认 Trunk 状态。如果 Trunk 没起来先检查两端端口模式是否一致再检查物理链路。3.2 路由器子接口与 802.1Q 封装VLAN 间通信靠 RSR20-12-3 的 ge0/0 接口划两个子接口实现。每个子接口封装对应的 VLAN ID并配置该 VLAN 的网关地址。# 路由器 RSR20-12-3 单臂路由配置 interface gi0/0 no shutdown ! interface gi0/0.1 encapsulation dot1q 10 ip address 192.168.3.1 255.255.255.0 ! interface gi0/0.2 encapsulation dot1q 20 ip address 192.168.4.1 255.255.255.0逻辑说明encapsulation dot1q 10表示这个子接口处理带 VLAN10 标签的帧收到后去掉标签交给路由回包时再打上 VLAN10 标签发回去。ip address就是对应 VLAN 的默认网关。PC122 和 PC124 的网关是 192.168.3.1PC121 的网关是 192.168.4.1必须和子接口地址一致。这里有个容易翻车的点子接口的encapsulation dot1q后面的 VLAN ID 必须和交换机上创建的 VLAN ID 完全一致大小写和空格都不能错。配完后在 PC122 上ping 192.168.4.2通了就说明单臂路由生效。3.3 验证与排错验证分三步先在交换机上show vlan brief看端口划分再在路由器上show ip interface brief看子接口是否 up最后在 PC 上 ping 对端 VLAN 的主机。如果 ping 不通常见原因是 PC 没配网关或者子接口的 dot1q 封装号写错。原文里就提到“一开始没设网关导致通信失败”这是最典型的坑。4. OSPF 多区域配置area0 骨干区域与 cost 调整4.1 区域划分与接口宣告OSPF 配置的核心是把每个接口宣告进正确的区域。四台路由器中RSR20-12-3 的 ge0/0.1 和 ge0/0.2 属于 area1ge0/1 属于 area0RSR20-12-2 的两个接口都属于 area0RSR20-12-1 的两个接口都属于 area0RSR20-12-4 的 ge0/1 属于 area0ge0/0 属于 area2。# 路由器 RSR20-12-3 router ospf 10 network 192.168.3.0 0.0.0.255 area 1 network 192.168.4.0 0.0.0.255 area 1 network 192.168.10.0 0.0.0.255 area 0# 路由器 RSR20-12-2 router ospf 10 network 192.168.10.0 0.0.0.255 area 0 network 192.168.7.0 0.0.0.255 area 0# 路由器 RSR20-12-1 router ospf 10 network 192.168.7.0 0.0.0.255 area 0 network 192.168.8.0 0.0.0.255 area 0# 路由器 RSR20-12-4 router ospf 10 network 192.168.8.0 0.0.0.255 area 0 network 192.168.5.0 0.0.0.255 area 2逻辑说明router ospf 10中的 10 是进程号只在本路由器有效不同路由器可以不同。network命令后面跟的是网段和反掩码不是子网掩码。比如 192.168.3.0/24 的反掩码是 0.0.0.255。区域号必须和拓扑设计一致area0 是骨干区域其他区域必须直接或间接连到 area0。原文里有个细节RSR20-12-4 的 ge0/0 被宣告进 area3但拓扑描述里写的是 area2。这里以拓扑描述为准配置时统一用 area2。如果区域号不一致邻居关系起不来路由表里会缺网段。4.2 查看路由表与链路状态数据库配完 OSPF 后在每个路由器上执行show ip route应该能看到全部 6 个网段的路由。如果某个路由器只看到部分网段先检查区域划分是否正确再检查邻居关系show ip ospf neighbor是否 Full。# 查看 OSPF 邻居 show ip ospf neighbor # 查看链路状态数据库 show ip ospf database # 查看路由表 show ip routeshow ip ospf neighbor输出里 State 应该是 FULL表示邻接关系建立完成。show ip ospf database能看到各类 LSARouter LSA 描述路由器自身的链路状态Network LSA 描述广播网段。如果数据库里缺少某个区域的 LSA说明该区域的接口没宣告进去。4.3 调整 cost 值观察路由变化实验要求“通过改变 cost 值观察路由变化”。OSPF 默认根据接口带宽计算 cost也可以手动指定。# 在接口下修改 cost interface gi0/1 ip ospf cost 100改完后show ip route里对应路由的 metric 会变化如果有多条路径可能会切换到另一条。这个实验的目的是理解 OSPF 选路依据先比区域间路由类型再比 cost 总和。手动改 cost 是验证选路逻辑最直接的方式。5. NAT 与抓包分析从地址池到三次握手的验证5.1 动态 NAPT 配置NAT 配在 RSR20-12-3 上让内网主机访问外部时把私有地址转换成公网地址。这里用的是 NAPT地址复用多个内网地址映射到一个公网地址的不同端口。# 定义地址池 ip nat pool abc 192.168.10.5 192.168.10.5 netmask 255.255.255.0 # 定义允许转换的内网网段 access-list 10 permit 192.168.0.0 0.0.255.255 # 关联地址池并启用 overload ip nat inside source list 10 pool abc overload # 指定内外接口 interface gi0/1 ip nat outside ! interface gi0/0.1 ip nat inside ! interface gi0/0.2 ip nat inside逻辑说明ip nat pool定义公网地址池这里只有一个地址 192.168.10.5。access-list 10匹配内网源地址。overload表示启用端口复用也就是 NAPT。ip nat inside和ip nat outside必须配在正确的接口上否则 NAT 不生效。验证方法在 PC121 上ping 192.168.8.2然后在 RSR20-12-3 上show ip nat translations应该能看到内网地址被转换成 192.168.10.5 的不同端口。如果看不到转换记录先检查 ACL 是否匹配、接口方向是否配反。5.2 Wireshark 抓包与 TCP 三次握手分析在 PC123 上部署 Web 或 FTP 服务从 PC121 访问 PC123 的 192.168.5.2同时在 PC121 上开 Wireshark 抓包。过滤tcp后能看到三次握手和四次挥手。三次握手的过程是客户端发 SYN服务端回 SYNACK客户端再回 ACK。四次挥手是主动关闭方发 FIN对方回 ACK对方再发 FIN主动方回 ACK。抓包时重点看 TCP 首部里的序列号、确认号、标志位以及 IPv4 首部里的源目地址、协议号还有数据链路层的源目 MAC。# Wireshark 显示过滤器示例 tcp.port 80 ip.src 192.168.4.2 ip.dst 192.168.5.2分析时对照协议首部字段数据链路层看帧类型和 MACIPv4 看版本、首部长度、TTL、协议TCP 看端口、序列号、标志位。原文里说“报文显示了三次握手和四次挥手”说明抓包位置选对了——必须在客户端和服务端之间的链路上抓且网卡要设为混杂模式。5.3 ACL 安全配置选做实验任务书里 ACL 是选做但实际排错时很有用。标准 ACL 只能过滤源地址扩展 ACL 能过滤源目地址、协议和端口。# 标准 ACL 示例只允许 192.168.3.0/24 访问 access-list 1 permit 192.168.3.0 0.0.0.255 access-list 1 deny any # 应用到接口 interface gi0/1 ip access-group 1 in注意 ACL 的隐含拒绝每条 ACL 末尾默认 deny any所以至少要有 permit 语句。应用方向也要注意in是进入接口的流量out是出去的流量。配错方向会导致该通的不通、该拦的没拦。6. 避坑与排查5 个真实踩坑记录6.1 PC 没配网关导致跨 VLAN 不通现象同 VLAN 能 ping 通跨 VLAN 不通。原因PC 只配了 IP 和掩码没配默认网关回包不知道往哪送。解决在 PC 上补上网关地址网关必须是路由器子接口或 SVI 的地址。6.2 area0 没放中间导致路由不全现象每个路由器上show ip route只看到部分网段跨区域通信失败。原因OSPF 要求所有非骨干区域必须直接连到 area0如果 area1 被放在中间area0 就被隔断了。解决重新划分区域确保 area0 是骨干且连续。6.3 NAT 地址池配错导致无法访问外部现象内网 ping 外部不通show ip nat translations没有记录。原因地址池里的 IP 和路由器接口 IP 不在同一网段或者 ACL 没匹配到内网源地址。解决地址池要选路由器外部接口所在网段的地址ACL 要精确匹配内网网段。6.4 Trunk 端口模式不一致导致 VLAN 不通现象同一 VLAN 跨交换机不通。原因一端是 Trunk另一端是 AccessVLAN 标签被丢弃。解决两端都配成 Trunk并用show interfaces trunk确认。6.5 抓包位置不对导致看不到握手现象Wireshark 里只有零星报文看不到完整三次握手。原因抓包网卡选错或者服务没启动。解决在客户端访问服务端的网卡上抓先确认服务端口能通再用tcp.port 80过滤。7. 二次开发与改造把这份实验变成自己的网络项目这份资源的可改造空间比想象中大。最直接的改法是换拓扑把单臂路由换成三层交换机 SVI对比两种 VLAN 间路由的性能和配置差异。具体做法是在三层交换机上创建 VLAN 接口配 IP 作为网关然后开启ip routing把路由器子接口的配置删掉。验证时对比show ip route和 ping 延迟能直观看到 SVI 的优势。第二个改法是加路由协议对比。现在跑的是 OSPF可以再配一套 RIP v2用redistribute做重分发观察两种协议的路由优先级和收敛速度。OSPF 默认管理距离 110RIP 是 120所以 OSPF 路由会优先。改的时候注意在边界路由器上配redistribute ospf 10 metric 2和redistribute rip metric 2否则路由进不了对方协议。第三个改法是 NAT 扩展。现在只配了动态 NAPT可以加静态 NAT 把内网 Web 服务器映射到公网地址再用扩展 ACL 限制只有特定外网地址能访问。配置时注意静态 NAT 用ip nat inside source staticACL 要应用在 outside 接口的 in 方向。第四个改法是抓包分析深化。现在只看了 TCP 握手挥手可以进一步分析 OSPF 报文协议号 89、ARP 请求响应、DHCP 四步交互。Wireshark 过滤器用ospf、arp、dhcp分别抓对照协议首部字段逐层拆。改造时有个习惯我每次都强制走一遍先备份原配置再改一处验证一处不要一次改多个点。网络实验最怕的就是改完一堆配置发现不通然后不知道是哪一步出的问题。用write保存配置用show running-config对比改动用 ping 和 show 命令逐段验证。从那以后我每次做网络实验都先画拓扑、标地址、列验证清单再动手敲命令这样即使翻车也能快速定位到是哪一层的问题。希望这份拆解能帮你把这份实验报告真正跑起来而不是只当文档看。本文还有配套的精品资源点击获取