ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

计算机网络综合实验:VLAN、OSPF与NAT完整配置与排错指南

计算机网络综合实验: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 分属不同 VLAN,PC123 单独挂在 RSR20-12-4 下面。二层交换机负责 VLAN 接入和 Trunk,三层交换机或路由子接口负责 VLAN 间路由,4 台路由器跑 OSPF 把三个区域连起来,最后在 RSR20-12-3 上做 NAT 让内网访问外部。

先把地址表列出来,配置时对着敲不容易错:

设备接口IP 地址说明
PC121网卡192.168.4.2/24,网关 192.168.4.1VLAN20
PC122网卡192.168.3.2/24,网关 192.168.3.1VLAN10
PC123网卡192.168.5.2/24,网关 192.168.5.1area2 侧
PC124网卡192.168.3.3/24,网关 192.168.3.1VLAN10
RSR20-12-1ge0/0192.168.8.1连 RSR20-12-4
RSR20-12-1ge0/1192.168.7.2连 RSR20-12-2
RSR20-12-2ge0/0192.168.7.1连 RSR20-12-1
RSR20-12-2ge0/1192.168.10.1连 RSR20-12-3
RSR20-12-3ge0/0.1192.168.3.1VLAN10 子接口
RSR20-12-3ge0/0.2192.168.4.1VLAN20 子接口
RSR20-12-3ge0/1192.168.10.2连 RSR20-12-2
RSR20-12-4ge0/0192.168.5.1连 PC123
RSR20-12-4ge0/1192.168.8.2连 RSR20-12-1

区域划分是:RSR20-12-3 左侧为 area1,四台路由器中间部分为 area0,RSR20-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把端口设为接入模式,只属于一个 VLAN;switchport 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.1,PC121 的网关是 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 属于 area1,ge0/1 属于 area0;RSR20-12-2 的两个接口都属于 area0;RSR20-12-1 的两个接口都属于 area0;RSR20-12-4 的 ge0/1 属于 area0,ge0/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 route

show ip ospf neighbor输出里 State 应该是 FULL,表示邻接关系建立完成。show ip ospf database能看到各类 LSA,Router 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,服务端回 SYN+ACK,客户端再回 ACK。四次挥手是:主动关闭方发 FIN,对方回 ACK,对方再发 FIN,主动方回 ACK。抓包时重点看 TCP 首部里的序列号、确认号、标志位,以及 IPv4 首部里的源目地址、协议号,还有数据链路层的源目 MAC。

# Wireshark 显示过滤器示例 tcp.port == 80 ip.src == 192.168.4.2 && ip.dst == 192.168.5.2

分析时对照协议首部字段:数据链路层看帧类型和 MAC;IPv4 看版本、首部长度、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,另一端是 Access,VLAN 标签被丢弃。解决:两端都配成 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 默认管理距离 110,RIP 是 120,所以 OSPF 路由会优先。改的时候注意在边界路由器上配redistribute ospf 10 metric 2和redistribute rip metric 2,否则路由进不了对方协议。

第三个改法是 NAT 扩展。现在只配了动态 NAPT,可以加静态 NAT 把内网 Web 服务器映射到公网地址,再用扩展 ACL 限制只有特定外网地址能访问。配置时注意静态 NAT 用ip nat inside source static,ACL 要应用在 outside 接口的 in 方向。

第四个改法是抓包分析深化。现在只看了 TCP 握手挥手,可以进一步分析 OSPF 报文(协议号 89)、ARP 请求响应、DHCP 四步交互。Wireshark 过滤器用ospf、arp、dhcp分别抓,对照协议首部字段逐层拆。

改造时有个习惯我每次都强制走一遍:先备份原配置,再改一处验证一处,不要一次改多个点。网络实验最怕的就是改完一堆配置发现不通,然后不知道是哪一步出的问题。用write保存配置,用show running-config对比改动,用 ping 和 show 命令逐段验证。从那以后我每次做网络实验都先画拓扑、标地址、列验证清单,再动手敲命令,这样即使翻车也能快速定位到是哪一层的问题。希望这份拆解能帮你把这份实验报告真正跑起来,而不是只当文档看。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进