思科综合实验:三层交换机+VLAN+DHCP+RIPv2配置与排错详解
简介这是一份计算机网络思科综合性实验报告完整记录校园网通信环境从拓扑设计到设备配置的全过程面向网络工程、计算机相关专业学生及需要完成同类实验的初学者。报告围绕三层交换机、路由器、VLAN划分、DHCP服务、子网规划及RIPv2路由协议展开以实际命令和配置步骤呈现帮助读者理解局域网与外部网络互通的实现思路。压缩包内含1个doc文档大小223KB为可直接编辑的实验报告模板便于按需修改与提交。已有2077人学习内容覆盖设备接口配置、VLAN创建与端口分配、DHCP地址池搭建、静态和动态IP分配等关键环节并配有完整配置命令适合用于课设参考、实验预习或考前复习。1. 计算机网络思科综合实验从拓扑到排错的一次完整走通做网络实验最怕的不是命令敲错而是整条链路静悄悄——ping不通、路由表里没有条、DHCP拿不到地址你还不知道问题出在设备配置还是设计本身。这份思科模拟器综合实验报告恰好把「三层交换机 两台路由器 多VLAN DHCP RIPv2」的完整链路走了一遍一台三层交换机做VLAN网关和DHCP Server出口路由器Ri对接外部路由器RjRj后面挂着一台手动配置IP的PC5。实验目标很朴素——让VLAN里的PC0到PC4动态获取地址后能ping通外部主机的IP。对正在做课程设计或者准备网络实验考核的人来说这份报告的价值在于配置顺序完整、命令带输出、路由表可对照照着敲完能真正看到每一条路由是怎么被RIP学进来的而不只是把命令抄一遍。2. 拓扑与IP规划先把地址算明白再动手敲命令2.1 拓扑结构和设备角色整个拓扑是教科书级别的校园网出口模型内部用一台三层交换机S0汇聚所有VLANS0的f0/1口通过VLAN6网段连到出口路由器Ri的f0/1口Ri的s1/0串行口再接外部路由器RjRj的f0/0口挂着服务器和PC5。二层交换机挂在S0下面每台二层交换机对应一个VLAN的接入层。这里有个容易被忽略的关键点VLAN6是专门为「三层交换机到出口路由器」这段链路划的地址段是192.168.2.0/24。很多人做实验时习惯直接用物理口做路由互联但这份报告用的是SVISwitch Virtual Interface方式——在三层交换机上创建int vlan6并配IP再把f0/1划进VLAN6。这样做的好处是后续如果要在S0和Ri之间再加链路做负载均衡可以直接通过VLAN扩展不用改物理接口配置。设备端口的地址规划如下表设备接口IP地址掩码用途S0vlan2210.42.242.1255.255.255.0VLAN2网关S0vlan3210.42.243.1255.255.255.0VLAN3网关S0vlan4210.42.244.1255.255.255.128VLAN4网关S0vlan5210.42.244.129255.255.255.128VLAN5网关S0vlan6192.168.2.1255.255.255.0连接RiRif0/0210.42.241.1255.255.255.0连接外网服务器区Rif0/1192.168.2.2255.255.255.0连接S0Ris1/0210.42.240.1255.255.255.0连接RjRjf0/0172.16.1.1255.255.255.0PC5网关Rjs1/0210.42.240.2255.255.255.0连接RiPC5静态172.16.1.2255.255.255.0外部主机2.2 子网划分的核心逻辑为什么VLAN4和VLAN5用/25这份报告的划分子网思路值得展开说。物理学院和化学院每组最多250台计算机一个/24网段254个可用地址刚好覆盖生物和政管学院各120台如果给每个学院分配一个完整/24浪费一半地址所以把210.42.244.0/24这个网段切成两个/25——210.42.244.0/25和210.42.244.128/25每个子网126个可用地址覆盖120台设备需求。这里有个很多新手会踩的坑在配RIP时网络号不是按「210.42.244.0」宣告就完事而是要分别宣告210.42.244.0和210.42.244.128。RIP宣告的是有类网络边界内的子网如果只写了210.42.244.0而漏掉.128RIPv2虽然能通过携带掩码学到/25的路由但路由表里只会出现一条/25另一条就消失了。这份报告里S0的RIP配置写了两条net 210.42.244.0和net 210.42.244.129注意最后一个是129而不是128——RIP宣告子网时写的是子网内的一个有效地址路由器会自己归约到对应子网。不过更规范的做法是直接宣告subnetCisco IOS也接受net 210.42.244.128这种写法实验报告里写129不影响结果因为RIP会通告的是子网路由。2.3 VLAN与IP的映射关系VLAN的划分和IP网段是一一对应的关系配置顺序是先建VLAN再创建SVI接口配IP最后把物理端口划进VLAN。这里有一个细节S0的f0/1口划到VLAN6而VLAN6的SVI地址是192.168.2.1这个接口同时承担着与Ri建立RIP邻居的职责。VLAN4和VLAN5被设计成两个独立子网但物理上不同的二层交换机接入通过VLAN标签隔离广播域。从路由角度看S0上所有VLAN的SVI接口都是直连路由C代码RIP只是负责把这些直连路由通告给Ri同时从Ri学习到Rj后面的172.16.1.0/24网段。这就是整个实验的路由设计框架——三层交换机是内部网关Ri是区域出口Rj是外部边界。3. 设备配置实操路由器、VLAN与DHCP的完整命令序列3.1 路由器Ri和Rj的基础配置配置路由器的第一步是给接口配上IP地址并开启接口然后是串行接口的时钟频率设置。Cisco模拟器中两台路由器通过串行线相连时DCE端的设备必须配置时钟速率否则串行链路起不来。这份实验里Ri的s1/0配了clock rate 64000说明Ri这边接的是DCE线缆。以下是Ri的完整配置Rienable Ri#config terminal Ri(config)#int f0/0 Ri(config-if)#ip add 210.42.241.1 255.255.255.0 Ri(config-if)#no sh Ri(config-if)#exit Ri(config)#int f0/1 Ri(config-if)#ip add 192.168.2.2 255.255.255.0 Ri(config-if)#no sh Ri(config-if)#exit Ri(config)#int s1/0 Ri(config-if)#ip add 210.42.240.1 255.255.255.0 Ri(config-if)#no sh Ri(config-if)#clock rate 64000 Ri(config-if)#exit这段配置的逻辑很清晰f0/0接外部网络210.42.241.0/24f0/1接三层交换机192.168.2.0/24s1/0接Rj210.42.240.0/24。三个接口分属三个网段Ri在这三个网段之间做路由转发。no sh是开启接口默认路由器的物理接口是关闭状态。clock rate只对DCE端有效如果配在DTE端会被忽略但不会报错。Rj的配置和Ri类似区别是Rj的f0/0口配置的是172.16.1.1/24这个网段是PC5和服务器所在的网段。Rj的s1/0口不需要配clock rate因为它是DTE端Rjenable Rj#config terminal Rj(config)#int f0/0 Rj(config-if)#ip add 172.16.1.1 255.255.255.0 Rj(config-if)#no sh Rj(config-if)#exit Rj(config)#int s1/0 Rj(config-if)#ip add 210.42.240.2 255.255.255.0 Rj(config-if)#no sh Rj(config-if)#exit3.2 三层交换机VLAN创建、端口划分与SVI地址三层交换机S0的配置是整份报告里信息量最大的部分。VLAN2到VLAN6的创建逻辑上面已经讲过了这里直接看命令序列。需要注意S0的f0/2到f0/5分别对应VLAN2到VLAN5每个端口都设置为access模式并划入对应VLANf0/1划入VLAN6。S0(config)#vlan 2 S0(config-vlan)#exit S0(config)#int vlan 2 S0(config-if)#ip add 210.42.242.1 255.255.255.0 S0(config-if)#no sh S0(config-if)#exit S0(config)#int f0/2 S0(config-if)#sw mod acc S0(config-if)#sw acc vlan 2 S0(config-if)#exitS0(config)#vlan 3和vlan 4、vlan 5、vlan 6的配置与上面同理区别在于各个VLAN的SVI地址和对应的物理端口号。VLAN2的SVI地址是210.42.242.1/24VLAN3是210.42.243.1/24VLAN4是210.42.244.1/25VLAN5是210.42.244.129/25VLAN6是192.168.2.1/24。每个VLAN的配置流程都是「建VLAN → 配SVI地址 → 划物理端口」三步。这里有一个顺序上的玄学问题如果先划端口再配SVI地址PC机在DHCP服务还没配置好之前就会尝试获取地址虽然最终结果一样但实验中间过程中PC可能会拿到APIPA地址169.254.x.x导致你误判DHCP配置有问题。我一般习惯先配完SVI和DHCP最后统一划端口。3.3 DHCP池配置与参数含义DHCP池的配置直接决定PC能否拿到正确网段的地址。这份报告配置了jsj2到jsj5四个地址池分别对应VLAN2到VLAN5。每个池的核心参数是网络地址、默认网关和DNS服务器其中DNS指向210.42.241.2——注意这个地址不在任何一个VLAN网段内而是Ri的f0/0所连的外网区域里的服务器地址。S0(config)#ip dhcp pool jsj2 S0(dhcp-config)#network 210.42.242.0 255.255.255.0 S0(dhcp-config)#default-router 210.42.242.1 S0(dhcp-config)#dns-server 210.42.241.2 S0(dhcp-config)#exitS0(config)#ip dhcp pool jsj3、jsj4、jsj5的配置方法与jsj2相同只是network网段和default-router分别对应各自的VLAN网段和网关。参数说明network指定分配给客户端的地址池范围default-router告诉客户端网关地址这是客户端跨网段通信的下一跳dns-server配置DNS服务器地址PC上网域名解析就靠它。如果漏配default-routerPC虽然能拿到IP但ping不通其他网段的地址因为客户端不知道网关是谁。需要注意这里的DHCP和VLAN的对应关系是通过「DHCP池的网段」和「SVI接口的网段」匹配来实现的。DHCP Discover报文广播到VLAN内三层交换机的SVI接口接收到广播后会根据接收接口的IP网段去匹配对应的DHCP池。如果某个VLAN的SVI地址配错了或者DHCP池的network和SVI不在同一网段PC就拿不到地址。4. RIPv2路由配置与路由表逐条解读4.1 为什么选RIPv2而不是静态路由或OSPF实验要求「三层交换机和出口路由器Ri间利用RIPv2实现全网互通」这说明整个网络内部跑的是动态路由协议。选RIPv2而不是静态路由是因为实验目的是理解路由协议的工作机制——通过RIP的路由学习过程能直观看到度量值跳数如何累加路由如何从直连网段扩散到全网。选RIPv2而不是RIPv1关键原因是VLSMVLAN4和VLAN5用了/25掩码RIPv1不支持携带子网掩码会在有类边界自动汇总导致路由器无法区分210.42.244.0/25和210.42.244.128/25这两条路由。相比OSPFRIP的配置更简单不需要考虑区域划分和DR/BDR选举对只有四台设备的小型网络来说足够用了。当然这个场景用OSPF也不是不行但实验的重点显然是「理解距离矢量路由协议的路由传播机制」RIP的debug输出和路由表更直观跳数累加的过程一眼就能看懂。4.2 三台设备的RIP宣告配置RIP配置的核心只有三条命令启动RIP进程、宣告直连网段、开启版本2并关闭自动汇总。三台设备的宣告网段各有不同S0宣告的是所有VLAN网段加VLAN6互联网段Ri宣告的是三个直连网段Rj宣告的是两个直连网段。注意RIPv2的宣告规则只能宣告直连网段不能宣告从其他路由器学来的路由。S0(config)#route rip S0(config-router)#network 192.168.2.0 S0(config-router)#network 210.42.242.0 S0(config-router)#network 210.42.243.0 S0(config-router)#network 210.42.244.0 S0(config-router)#network 210.42.244.129 S0(config-router)#exit S0(config)#router rip S0(config-router)#version 2 S0(config-router)#no auto-summary S0(config-router)#exitS0上的network宣告覆盖了VLAN2、VLAN3、VLAN4、VLAN5和VLAN6的网段。注意210.42.244.0和210.42.244.129这两条宣告分别代表两个/25的子网——虽然210.42.244.0/25的子网广播地址是210.42.244.127但在RIP宣告时写网络地址范围内的任意地址即可路由器会归约到子网号。第一次宣告使用route rip进入RIP配置模式第二次使用router rip进入同一个配置模式Cisco IOS对这两种写法都接受功能完全一样。Ri和Rj的RIP配置如下Ri(config)#router rip Ri(config-router)#network 192.168.2.0 Ri(config-router)#network 210.42.241.0 Ri(config-router)#network 210.42.240.0 Ri(config-router)#version 2 Ri(config-router)#no auto-summary Ri(config-router)#exit Rj(config)#router rip Rj(config-router)#network 172.16.1.0 Rj(config-router)#network 210.42.240.0 Rj(config-router)#version 2 Rj(config-router)#no auto-summary Rj(config-router)#exitRi宣告了三个直连网段192.168.2.0连S0、210.42.241.0连外网服务器、210.42.240.0连Rj的串行口。Rj宣告了172.16.1.0PC5所在网段和210.42.240.0连Ri的串行口。RIP的network命令后面跟的是有类网络地址在配置时写子网号也可以但Cisco IOS会自动转换成有类地址。这里Rj宣告的172.16.1.0会被转换成172.16.0.0这也是为什么后面Rj的路由表里会看到R 192.168.2.0/24而不会有更明细的172.16.x.x条目——因为172.16.0.0是B类地址RIP宣告的是整个B类网段。关于no auto-summaryRIPv2默认开启了自动汇总会在有类网络边界将子网汇总成主类网络。比如210.42.244.0/25和210.42.244.128/25会被汇总成210.42.244.0/24通告出去这样Rj就只能看到一条/24路由而Ri也学不到两条/25的明细路由。在VLSM环境下必须关闭自动汇总否则子网路由会丢失。4.3 路由表逐条解读从输出理解RIP的度量值传播配置完成后在三台设备上执行show ip route可以清楚看到RIP路由的传播过程和度量值累加规律。S0的路由表最右侧两条是核心R 172.16.0.0/16 [120/2] via 192.168.2.2, Vlan6 R 210.42.240.0/24 [120/1] via 192.168.2.2, Vlan6 R 210.42.241.0/24 [120/1] via 192.168.2.2, Vlan6 C 210.42.242.0/24 is directly connected, Vlan2 C 210.42.243.0/24 is directly connected, Vlan3 C 210.42.244.0/25 is directly connected, Vlan4 C 210.42.244.128 is directly connected, Vlan5S0学习到172.16.0.0/16的度量值是120/2其中120是RIP的管理距离2是跳数。这条路由的传播路径是Rj的172.16.1.0直连 → Rj通过RIP通告给Ri跳数1变1→ Ri再通告给S0跳数再1变2。管理距离120是RIP的固定值表示RIP路由的优先级低于直连路由管理距离0和静态路由管理距离1。Ri的路由表展示了中间路由器的视角R 172.16.0.0/16 [120/1] via 210.42.240.2, Serial1/0 C 192.168.2.0/24 is directly connected, FastEthernet0/1 C 210.42.240.0/24 is directly connected, Serial1/0 C 210.42.241.0/24 is directly connected, FastEthernet0/0 R 210.42.242.0/24 [120/1] via 192.168.2.1, FastEthernet0/1 R 210.42.243.0/24 [120/1] via 192.168.2.1, FastEthernet0/1 R 210.42.244.0 [120/1] via 192.168.2.1, FastEthernet0/1 R 210.42.244.128 [120/1] via 192.168.2.1, FastEthernet0/1Ri学到172.16.0.0/16只有1跳因为Rj就在串行线对面学到VLAN网段的路由都是1跳因为S0就在以太网对面。注意210.42.244.0和210.42.244.128是两条独立的/25路由这就是no auto-summary的效果——如果开着自动汇总这里只会出现一条210.42.244.0/24。Rj的路由表展示了距离矢量协议逐跳累加的规律R 192.168.2.0/24 [120/1] via 210.42.240.1, Serial1/0 R 210.42.241.0/24 [120/1] via 210.42.240.1, Serial1/0 R 210.42.242.0/24 [120/2] via 210.42.240.1, Serial1/0 R 210.42.243.0/24 [120/2] via 210.42.240.1, Serial1/0 R 210.42.244.0 [120/2] via 210.42.240.1, Serial1/0 R 210.42.244.128 [120/2] via 210.42.240.1, Serial1/0Rj学到VLAN网段都是2跳——Rj → Ri → S0 → VLAN中间经过两台路由器。这个「跳数逐跳1」的过程是RIP最直观的教学点每一跳代表经过一台路由器而整个网络最大跳数是15超过15跳的路由会被标记为不可达。4.4 路由学习过程中最常见的翻车点RIP配置完成后如果路由表里没有出现预期的路由绝大多数情况出在三个地方。第一是network宣告漏了网段尤其是S0上只宣告了VLAN网段而漏掉192.168.2.0——这样S0和Ri之间就建立不了RIP邻居关系所有VLAN路由都通告不出去。第二是version 2没配或者no auto-summary被漏掉导致/25子网被汇总成/24Rj只看到一条路由而PC5 ping VLAN4的主机时走错路径。第三是RIP的管理距离问题——如果设备上同时配置了静态路由和RIP静态路由管理距离1会覆盖RIP路由管理距离120这一点在混合配置时尤其容易忽略。5. 避坑与常见问题排查五条拿实测换来的经验5.1 串行接口起不来clock rate只认DCE端现象Ri的s1/0接口状态一直是down/downping不通Rj的对端地址。原因串行线缆连接的两台路由器中DCE端必须配置时钟频率DTE端不需要。Cisco模拟器里默认串行线有一端是DCE如果不配clock rate接口物理层就无法激活。解决在DCE端配置clock rate 64000。判断方法是在接口模式下输入show controllers serial1/0输出会明确指示该接口是DCE还是DTE。配完后两端接口状态应变为up/up。从那以后我每次连串行线都会先查一下DCE/DTE方向再决定要在哪端配时钟。5.2 DHCP拿不到地址SVI网段和DHCP池网段不匹配现象PC0设为DHCP模式后ipconfig显示169.254.x.x这是Windows的APIPA地址说明DHCP请求根本没被响应。原因DHCP池的network网段和对应VLAN的SVI接口网段不一致。比如VLAN2的SVI配的是210.42.242.1/24但DHCP池jsj2的network写成了210.42.243.0/24三层交换机收到VLAN2的DHCP Discover后拿接收接口的网段去匹配池匹配不上就直接丢弃。解决逐项核对每个VLAN的SVI地址和对应DHCP池的network、default-router参数。一个快速验证方法是show ip dhcp binding查看哪些客户端已经成功租到地址。如果地址池有分配记录但PC仍然拿不到检查PC的网关配置是否被DHCP正确下发。5.3 RIP路由表缺了/25明细auto-summary在搞鬼现象Ri的路由表里只有一条210.42.244.0/24没有210.42.244.0/25和210.42.244.128/25两条明细路由。S0 ping PC5没问题但Rj ping VLAN5里的PC不通。原因RIP配置里漏了no auto-summary或者version 2配置在network宣告之前导致没生效。RIPv2默认开启自动汇总在两个/25子网跨有类网络边界210.42.0.0是B类地址/25是子网划分通告时会被汇总成210.42.244.0/24收到汇总路由的路由器无法判断该往哪个方向转发到具体的/25子网。解决确保每台设备都执行了version 2和no auto-summary并且顺序是先配version再宣告network。配置完成后用show ip protocols确认RIP版本是2且auto-summary状态是disabled。5.4 路由表里有RIP路由但ping不通注意下一跳可达性现象S0的路由表里能看到R 172.16.0.0/16 via 192.168.2.2但S0 ping 172.16.1.2超时。原因S0到172.16.0.0/16的下一跳是192.168.2.2即Ri的f0/1Ri到172.16.0.0/16的下一跳是210.42.240.2Rj的s1/0。如果Rj的f0/0接口没有开启或者PC5的网关配置错误数据包能到达Rj但无法进入172.16.1.0网段。这种情况路由表是完整的问题出在末端设备。解决先ping网关172.16.1.1通的话检查PC5的IP和子网掩码不通的话用traceroute逐跳定位看包在哪个设备上被丢弃。注意Cisco模拟器中PC5默认的网关需要手动指定有些初学的配置里只填了IP和掩码没填默认网关导致PC5收到ping包后不知道回包该往哪发。5.5 命令行敲错一个字母导致配置不生效用do命令和show来验证现象配置RIP时network 210.42.244.129敲成了210.42.244.192路由表里始终没有VLAN5的路由。原因RIP的network命令会静默接受一个不属于任何直连接口的网段但不会生成路由通告。因为RIP只通告「匹配network命令且属于直连接口」的网段。解决配置后用show ip route和show ip protocols逐项验证。养成一个好习惯——每次配置完成后马上执行do show ip route查看路由表变化别等到最后一起验证。Cisco模拟器里在配置模式下用do show ip route可以免去来回切换的麻烦。这个习惯的价值在于配置错误发生的那一刻就能发现而不是等到排错时在一堆命令里翻找问题源头。6. 验证方法升级用ping、traceroute和debug rip把实验做扎实实验报告的测试部分只写了用PC5 ping PC0到PC4但实际验证的完整度直接决定你对这套配置的理解深度。我建议按三个层次来验证。第一层是连通性验证。PC5 ping通所有VLAN的PC只是基础还要反向验证——从S0 ping通172.16.1.2从Ri ping通所有VLAN网关从每台PC ping通外部DNS服务器210.42.241.2。每一条都能通说明双向路由都正确。特别要测PC0等动态获取地址的机器能否ping通PC5因为PC到PC的流量路径是「PC → S0 → Ri → Rj → PC5」中间涉及VLAN间路由和RIP路由转发。第二层是路由协议验证。在S0上执行debug ip rip能看到RIP的更新报文每隔30秒发送一次包含了哪些网段、从哪个接口发出、发送给哪个邻居。这个输出是理解距离矢量路由协议的最佳教材——你亲眼看到自己的路由通告出去也看到邻居的路由被吸收进来。比如S0的debug输出里应该能看到RIP向192.168.2.2发送210.42.242.0/24的路由同时从192.168.2.2接收到172.16.0.0/16的路由。注意debug ip rip在生产环境慎用因为输出量很大但实验环境里开几十秒没问题。第三层是抓包验证。在Ri的s1/0接口上开抓包能看到RIP的UDP 520端口报文报文的RTE路由表条目里明确携带了IP前缀和掩码。对比关闭no auto-summary前后的抓包结果可以直观看到/25子网被汇总成/24的过程。这个过程对理解RIP的有类边界汇总和VLSM支持极有帮助。还有一个容易被忽略的验证点DHCP续租。把PC0通过ipconfig /release释放地址再执行ipconfig /renew重新获取观察租约获取过程。在S0上执行show ip dhcp binding能看到客户端的MAC地址、分配的IP、租约到期时间。如果PC重启后拿到的是不同网段的地址说明DHCP池的匹配逻辑有问题。关于常见误用最典型的是有人把RIP的network参数理解成「宣告给别人的路由」其实network声明的是「本设备哪些直连网段参与RIP通告」。网段不在network声明列表里即使连通性正常也不会出现在RIP更新里。这个误区会让排错绕很大一圈——用show ip protocols里的「Routing for Networks」列表核对是最快的方法。实验做到这里整套配置和验证逻辑就闭环了。我从这个实验里学到的最深的教训是配置顺序很重要但比顺序更重要的是一边配置一边验证的习惯。那之后我做任何网络实验都强制走一遍「配一段、验证一段、再看路由表」的流程绝不攒到最后一起调试。希望这份踩坑记录能帮你更快走通同样的链路。本文还有配套的精品资源点击获取