很多学计算机网络的同学第一次打开 Cisco Packet Tracer(后面我统称 PT),都以为它只是拿来自娱自乐画拓扑图的。直到实验课要求 PC1 去 ping 通 PC2,拓扑图死活不通,才意识到这个模拟器其实在逼你认真面对“配置”这件事。我当年做计算机网络实验时,在 PT 上花过大量时间,也陪着一批又一批同学排查过各种稀奇古怪的问题。这篇东西不打算写成软件说明书,而是按照我做实验的实际顺序,把最常做的静态路由、VLAN 划分、DHCP 下发这几类实验完整拆开,讲讲每一步为什么这么做、配置完了怎么验证、断了怎么定位。
1. 为什么网络实验首选Cisco Packet Tracer:三款工具的真实对比
1.1 模拟器、真机与商用仿真平台,我分别踩过哪些坑
很多人在选实验环境时会纠结:PT 是不是太“玩具”了,是不是应该直接上 GNS3 或者拿真实交换机练手?我把三条路都试过,说点实际感受。
真实设备最直观,接口真的会亮灯、线缆真的会松动,敲命令的手感也完全不一样。但问题在于设备数量极其有限,实验室里几台交换机、几台路由器往往要十几个人排队用。而且真实设备一旦配置出错,恢复现场往往需要重插 console 线,等待重启的时间足够你怀疑人生。我自己在课程设计阶段用真实设备做过一次 VLAN 划分,脚底下一堆网线,最后查了半天才发现是有人把跳线接到了错误的端口上,那种排查成本在学习阶段并不划算。
GNS3 和 EVE-NG 这类平台能跑完整的 IOS 镜像,支持很多高级特性,但配置门槛高,需要自己准备镜像文件,还经常碰到镜像和平台版本不兼容的问题。对于本科阶段的计算机网络实验,它的很多能力属于“杀鸡用牛刀”。我见过有同学花了两节课在 GNS3 里折腾镜像导入,最后连第一个实验都没做完,这就是典型的选型失误。
1.2 Packet Tracer 更适合哪类实验,哪些实验它做不了
PT 的核心价值在于它把“网络设备的配置逻辑”和“数据包的流动过程”都可视化出来了,非常适合理解原理。它支持的实验范围包括:静态路由、RIP、OSPF、VLAN、单臂路由、DHCP、ACL、NAT 等,覆盖了绝大多数高校计算机网络课程的核心实验。
但它也有明显边界。它的模拟器并不执行完整的 IOS 代码,很多命令只是“看起来支持”,实际行为和真实设备存在差异。比如某些高级 QoS 策略、部分二层安全特性,在 PT 上敲了没反应。遇到这种场景,我会直接建议换平台,不要在 PT 上死磕。
拿 PT 做实验的正确心态是:先用它把网络通信的过程彻底搞懂,再考虑真实设备或者更强的仿真器。就像学驾驶先在模拟器上练科目二,虽然模拟器不会让你感受到离合器半联动的抖动,但方向盘、档位、刹车的基本逻辑是一致的,这就够了。
2. 开始实验前先搞定这些基础操作:拓扑搭建与配置入口
2.1 设备、接口与连线:别把直通线和交叉线用反
PT 左侧设备栏里有路由器、交换机、PC、服务器等分类。路由器我用的最多的是 2911 或 4321,交换机常用 2960,PC 选用普通的 Desktop 类型。需要注意,PT 中的路由器默认接口数量有限,比如 2911 自带两个千兆口,如果拓扑里需要三个接口,得先关掉电源,拖一块 HWIC 模块进去,再打开电源。这个“先断电再插模块”的操作和真实设备完全一致,我把这个细节放在第一步说,是因为很多初学者第一次配置时发现接口号对不上,其实不是命令问题,是根本没插模块。
连线也是重灾区。同类型设备之间通常用交叉线,比如交换机连交换机、路由器连路由器;不同类型设备之间一般用直通线,比如交换机连 PC。PT 很宽容,选自动连线会自动判断线缆类型,但我建议上手时手动选择直通线和交叉线,弄清楚区别。真实环境里现在多数设备支持 MDI-X 自动翻转,所以线序差异没那么致命,但考试和实验报告里老师会问,别在这个基础点上丢分。
2.2 CLI配置的基本姿势:从打开路由器到保存配置
PT 里配置设备有图形界面和命令行两种方式。我强烈建议你用命令行(CLI),原因很简单:实验报告的配置命令要从 CLI 复制,面试笔试考的也是命令,图形界面点出来的配置你是记不住的。
进入 CLI 后,一般流程是:先用enable进入特权模式,再敲configure terminal进入全局配置模式。所有接口配置都在全局配置模式下完成。我见过大量同学卡在最基础的误区上——命令敲完发现没生效,多半是忘了按回车后系统提示符还在Router#,因为根本没有进入配置模式。一个小习惯:时刻看提示符,Router>是用户模式,Router#是特权模式,Router(config)#才是全局配置模式,Router(config-if)#是接口配置模式。提示符不同,能敲的命令完全不同。
配置完成后,一定要用copy running-config startup-config保存配置。PT 里如果忘记保存,关闭模拟器后所有配置全部丢失,只能重来。这一点我每次实验课都会强调,但还是有同学交实验报告前才发现配置忘了保存,痛哭流涕。
2.3 实时模式与模拟模式:让数据包“现出原形”
PT 右下角有两个模式:Realtime(实时)和 Simulation(模拟)。大多数配置工作都在实时模式下完成,但排查问题时我强烈建议切到模拟模式。
模拟模式的核心价值在于“拆包”。当你从 PC 发起 ping 后,在模拟模式下可以看到数据包从一个设备跳到另一个设备的过程。点击数据包图标,能看到完整的 PDU 信息,比如源 MAC、目的 MAC、源 IP、目的 IP、TTL 变化等。这个过程对理解“数据包在跨网段转发时 MAC 地址会怎样变化”特别有帮助,这恰恰是静态路由实验最核心的概念。很多同学在试卷上会背原理,但真让指出某个包在路由器转发前后的 MAC 变化就懵了,去模拟模式里亲眼看一次,印象一下就牢了。
3. 静态路由实验:三台路由器打通三个网段的完整过程
3.1 拓扑与地址规划:先画图,再动手
网络实验最忌讳拿到设备就开敲。我给自己定的规矩是:先在纸上或 PT 里把拓扑画出来,把所有接口 IP 规划好,再动手配置。规划地址这一步,能避免后面一半的排错。
这次实验我搭了一个三台路由器的链式拓扑,R1 连 R2,R2 连 R3,每台路由器下面挂一台 PC:
| 设备 | 接口 | IP地址 | 对端设备 |
|---|---|---|---|
| R1 | G0/0 | 192.168.10.1/24 | PC1 |
| R1 | G0/1 | 10.0.12.1/30 | R2 G0/1 |
| R2 | G0/0 | 10.0.23.1/30 | R3 G0/0 |
| R2 | G0/1 | 10.0.12.2/30 | R1 G0/1 |
| R3 | G0/0 | 10.0.23.2/30 | R2 G0/0 |
| R3 | G0/1 | 192.168.30.1/24 | PC3 |
PC1 的 IP 是 192.168.10.10,网关 192.168.10.1;PC3 的 IP 是 192.168.30.10,网关 192.168.30.1。三台路由器之间的链路段采用了 30 位掩码,这一段地址只需要容纳两个 IP,用 30 位掩码最节省地址空间。不要觉得实验环境地址充足就随意用 24 位,养成按需规划的习惯,后面做地址汇总、ACL 的时候能省很多事。
3.2 分步配置与验证:ping 通了不代表配置对了
先配置各个接口 IP。以 R1 为例,进入 G0/0 和 G0/1 接口,敲 IP 地址并启用接口。这里我特别想提醒:PT 的路由器接口默认是shutdown状态,即使配了 IP 也不转发流量。很多同学 ping 不通,一看接口状态发现 down 了,直接一脸茫然。必须敲no shutdown开启接口。这个步骤容易漏,我会在后面的踩坑部分专门再提一次。
接口配置完,直接测试直连链路:从 R1 ping R2 的互联地址 10.0.12.2,通了说明直连没问题。但这时候 PC1 去 ping PC3 一定不通,因为 R1 的路由表里只有直连网段,它不知道 192.168.30.0/24 该往哪边转。
静态路由就是手动告诉路由器“去某个网段,走哪条路”。在 R1 上敲:
ip route 192.168.30.0 255.255.255.0 10.0.12.2这条命令的意思是:去往 192.168.30.0/24 这个目标网络,把包交给下一跳 10.0.12.2。R2 和 R3 也要配置对应方向的路由,否则就会出现“去路通、回路断”的现象。这也是我做实验时见得最多的问题:只配了一条方向,ping 不通就开始四处怀疑,其实路由是单向的,数据包要能往返,路径上每一台路由器都必须知道目标网段怎么走。
全部配置完成后,用show ip route查看路由表。静态路由在路由表里显示为S开头,看到这条条目,就说明路由器确实学到了路径。我还习惯再用show ip interface brief检查所有接口状态,确保没有接口是 down 的。只有这些命令都正常,才敢开始测 ping。
3.3 数据包追到底:模拟模式跟踪一次跨路由转发
这个实验最值得看的数据包过程,是 PC1 向 PC3 发包时,路由器转发前后数据帧的变化。切到模拟模式,从 PC1 发送 ICMP 包,然后一步步观察。
第一跳从 PC1 出发时,数据帧里的源 MAC 是 PC1 网卡的 MAC,目的 MAC 是默认网关 R1 G0/0 的 MAC,但源 IP 和目的 IP 始终是 PC1 和 PC3 的 IP。到了 R1,路由器查找路由表,发现目标网段要从 G0/1 出去,下一跳是 10.0.12.2。于是路由器重写数据帧的源 MAC 为 G0/1 的 MAC,目的 MAC 改为 R2 的接口 MAC,再转发出去。这个“IP 地址不变、MAC 地址逐跳更换”的过程,就是我反复让同学们重点观察的地方。
具体操作时,可以在模拟模式的 Event List 里点击每个数据包的图标,查看 In Layers 和 Out Layers 的细节,里面会把二层头、三层头的字段变化列得清清楚楚。我建议每个做静态路由实验的人都亲手点开一次这个页面,因为这种直观感受对理解“路由是逐跳转发的”帮助非常大,比背一百遍定义都有效。
4. VLAN划分实验:一台交换机如何隔离广播域
4.1 广播域是什么,为什么要隔离
在默认情况下,交换机所有端口处于同一个广播域。当一台 PC 发送 ARP 广播时,这个帧会被交换机转发到所有端口,网络上所有设备都会收到。如果接入设备数量很大,广播流量会迅速膨胀,导致网络性能下降。
VLAN(虚拟局域网)的核心作用就是把一个广播域拆成几个独立的广播域。不同 VLAN 之间的广播帧会被隔离开,默认情况下它们彼此无法通信,就像物理上插在了两台完全独立的交换机上。初次接触这个概念的读者,可以把 VLAN 想象成写字楼里的隔断,虽然大家都在同一栋楼里,但隔断把空间分成了独立办公室。
在做 VLAN 实验之前,建议先理解一点:VLAN 的隔离发生在二层,它只能隔离广播域和二层通信,不能隔离 IP 层的互通需求。所以后面要让不同 VLAN 之间通信,必须引入三层路由设备,最典型的就是单臂路由。
4.2 VLAN配置全过程:创建、划端口、验证隔离
实验拓扑很简单:一台 2960 交换机,下接两台 PC,分别接入 F0/1 和 F0/2。规划是让 PC1 属于 VLAN 10,PC2 属于 VLAN 20。两台 PC 的 IP 地址可以配成同一个网段,比如 192.168.1.10 和 192.168.1.20,方便后面验证“同网段也不同通信”的效果。
先在交换机上创建两个 VLAN:
vlan 10 name PC10 vlan 20 name PC20然后进入对应端口,把端口划进对应 VLAN:
interface f0/1 switchport mode access switchport access vlan 10 interface f0/2 switchport mode access switchport access vlan 20这里switchport mode access表示该端口是接入模式,只连接终端设备;switchport access vlan 10把这个接入端口划入 VLAN 10。很多初学者忘了第二条,端口会停留在默认的 VLAN 1 里,等于白配。
验证方法很简单:从 PC1 ping PC2。如果 VLAN 配置生效,无论两台 PC 的 IP 是否在同一网段,只要没有三层路由,ping 就不会通。我在 PT 里实测(PT 版本较新时),两台 PC 即使同网段也完全不通,PT 对 VLAN 的二层隔离模拟是准确的。反过来,把 PC2 的端口改到 VLAN 10,ping 立刻恢复,这个过程能直观看到 VLAN 对通信的隔离效果。
4.3 进阶:单臂路由实现VLAN间通信
实验课如果只做到“隔离”就停,其实还缺了完整的一环。现实网络中 VLAN 之间总是需要通信的,比如财务部要访问人事部的服务器。既然二层隔离了,就需要三层来打通,单臂路由是最简单的方式。
单臂路由的思路是:用一根物理链路连接路由器和交换机。交换机上把这个链路配成 Trunk 口,允许 VLAN 10 和 VLAN 20 的流量通过;路由器上把这个物理接口拆成两个逻辑子接口,每个子接口对应一个 VLAN,并配置网关 IP。
交换机侧配置 Trunk:
interface g0/1 switchport mode trunk switchport trunk allowed vlan 10,20路由器侧配置子接口:
interface g0/0.10 encapsulation dot1Q 10 ip address 192.168.1.1 255.255.255.0 interface g0/0.20 encapsulation dot1Q 20 ip address 192.168.1.2 255.255.255.0注意encapsulation dot1Q 10这行,很多同学会漏掉。它的意思是告诉路由器,这个子接口处理携带 VLAN 10 标签的帧。如果漏了这行,子接口不知道应该匹配哪个 VLAN 的标签,单臂路由就不生效。配置完以后,把 PC1 的网关设成 192.168.1.1,PC2 的网关设成 192.168.1.2,再 ping 就能通了。
单臂路由本质上把“路由”和“隔离”结合在了一起:VLAN 负责隔离广播域,子接口负责给每个 VLAN 提供网关。这个实验串起来做,比单独做两个实验更能理解二层和三层的关系。
5. DHCP实验:用路由器自动给PC发地址
5.1 为什么实验中要单独做DHCP
前面所有实验都是手工给 PC 配 IP 地址。现实网络里几乎不会这么做,因为几十台、几百台设备手工配 IP 不仅效率低,还容易引发冲突。DHCP 的作用就是自动分配 IP 地址,它也是我带的同学实践中第一个真正感受到“网络配置自动化”价值的实验。
DHCP 的工作过程可以用四个单词概括:Discover、Offer、Request、Acknowledge,简称 DORA。客户端先广播找 DHCP 服务器,服务器回应一个可用的 IP 地址,客户端向服务器确认要这个地址,服务器最终确认。在 PT 里做这个实验,可以在模拟模式里把这四个阶段的数据包全部抓到,亲眼看一下广播和单播的区别,这比单纯敲命令更能理解 DHCP 的意义。
5.2 路由器和PC两端配置流程
实验拓扑:一台路由器作为 DHCP 服务器,下接一台交换机和两台 PC。路由器的 LAN 接口 IP 为 192.168.1.1/24,网关就由这个接口承担。然后在路由器上配置 DHCP 地址池:
ip dhcp excluded-address 192.168.1.1 192.168.1.10 ip dhcp pool MYPOOL network 192.168.1.0 255.255.255.0 default-router 192.168.1.1 dns-server 8.8.8.8第一行是把 192.168.1.1 到 192.168.1.10 这段地址排除掉,不参与自动分配。这个排除行为很重要,因为网络里已经有一些固定 IP 的设备,比如打印机、路由器接口、服务器,它们不能被 DHCP 随机分配出去,否则就会造成地址冲突。
PC 端的设置更简单:进入 PC 的 Desktop 标签,打开 IP Configuration,把 IP 配置方式从 Static 改成 DHCP,然后点击快速获取。几秒钟之后,PC 会自动显示分配到的新 IP、子网掩码、网关和 DNS。
我在实验课上发现一个有趣的现象:很多同学以为只有路由器才能做 DHCP 服务器,其实 PT 里单独的 Server 设备也能做,配置界面是图形化的。但使用路由器命令行配置的好处是,能把这个过程讲清楚。TT 里查看 DHCP 分配结果的场景不多——因为show ip dhcp binding这个命令能看到所有分配记录,我习惯在验证环节用它。
5.3 验证与常见问题:拿不到地址时先查什么
分配完成后,在 PC 的命令行里输入ipconfig,确认拿到的是不是 192.168.1.x 网段的地址,网关是否正确。如果一切正常,可以继续测试 PC 能否 ping 通网关。
拿不到地址时,按这个顺序排查:先确认 DHCP 地址池是不是配置了和接口网段不一致的 network 地址,这个问题最常见;再用show ip dhcp pool看地址池状态,用show ip dhcp binding看分配记录;最后检查 PC 的 IP 配置方式是不是真的切到了 DHCP。我见过一个特别典型的错误,PC 明明切成了 DHCP,但系统显示的还是之前的静态 IP,因为 PC 没有点击 Renew,地址没有主动请求。正确操作是在 PC 的 IP Configuration 界面里,确认 DHCP 选项选中后,让 PC 重新获取一次。
还有一点值得提醒:PT 里 DHCP 请求的广播能不能到达路由器,取决于交换机的 VLAN 配置。如果 PC 所在的 VLAN 没有对应的 DHCP 中继,跨 VLAN 的 DHCP 请求会被广播域隔离直接丢掉。这个点在做综合实验时会很致命,建议做 DHCP 实验时同时检查交换机的端口 VLAN 归属。
6. 一个月实验课下来,我最想提醒你的几个细节
6.1 接口状态灯与 no shutdown 的真相
PT 里端口旁边会有一个小圆点,颜色代表接口状态:绿色表示正常,橙色表示连接可以工作但可能配置不全,红色或灰色表示物理上就没连通或接口被人为关闭了。我做实验时见过最多的情况是,接口旁边的圆点不是绿色,但同学完全无视它,拿着 ping 不通的结果到处找毛病。
最典型的坑就是路由器接口默认shutdown。很多教材默认读者知道这个常识,所以配置示例里只写ip address,不写no shutdown。但初学者照着敲完,配置看起来没问题,接口却始终不会进入 up 状态。记住框架:配接口 IP 只是告诉路由器“这个接口应该使用什么地址”,no shutdown才是真正命令它开始工作。这个顺序也符合真实设备的管理安全要求,毕竟网工不希望设备上电后所有接口直接暴露在网络里。
6.2 回程路由,静态路由实验90%的问题根源
静态路由实验里,我问同学“为什么不通用”时,十个人里有九个会回复“不知道”。但我一点拨“回程路由”,大家立刻恍然大悟。问题往往出在只配了从 PC1 到 PC3 方向的路径,却忘了 R3 上根本没有返回 PC1 网段的路径。
排查这类问题的标准动作是模拟模式跟踪,把包走到哪一步断掉看得一清二楚。如果包从 PC1 顺利到达 PC3 却回不来,那问题就在回程路径上某台路由器的路由表缺条目。我建议练习时养成一个好习惯:每台路由器配置完,先用show ip route确认路由表完整,再整体测试连通性。这个习惯在工作中也是一样的,排查跨设备网络问题时,逐台核查路由表比盲目 ping 全网络有效得多。
6.3 保存实验工程的正确方式与版本兼容性
PT 实验做到一半,记得随时用Ctrl+S保存工程文件。工程文件的扩展名是 .pkt,把拓扑和所有设备配置都打包在一起。关闭软件再打开后,配置还会保留,前提是你没有在关闭时选择不保存。
这里有个更容易踩的坑:PT 版本兼容性。高版本 PT 保存的 .pkt 文件,低版本打不开;低版本保存的文件,高版本可以正常打开并继续编辑。如果你在机房用低版本,回家用高版本,或者反过来,就会出现打不开或者设备配置丢失的情况。我一般建议保存时选通用的 8.2 或 8.1 版本格式(保存对话框里可以选),这样跨设备打开最稳妥。
关于配置的保存,同样别忽略设备自身的保存。PT 里 .pkt 文件保存的是一整套环境,但如果你在模拟器里敲完命令后没有执行copy running-config startup-config,下次打开工程文件,重启设备后配置会恢复到初始状态。这是两套独立的保存机制,容易混淆,但都必须做。我带的同学在交实验报告前两天打开自己的 .pkt 文件,发现里面路由器全是空的,十有八九是漏了这一步。
最后再分享一个小技巧:做 VLAN 配置时,尽量别用图形界面去拖动端口。我习惯用interface range f0/1-10这类批量命令一次性完成多个端口的 VLAN 划分,既减少漏配概率,也能顺便练了交换机批量配置的写法。PT 虽然只是个模拟器,但训练出来的操作习惯,到了真实设备上都是能直接用的。