在 Packet Tracer 中亲手搭建一个会“发IP”的DHCP服务器
你有没有过这样的经历?刚插上网线,电脑还没来得及手动设置IP,就已经能上网了。这背后其实有个默默工作的“网络管家”——DHCP服务器。
今天,我们就用思科的Packet Tracer,从零开始,手把手配置一台 DHCP 服务器,让局域网里的设备真正实现“即插即用”。不讲空话,全程实战,连小白也能看懂。
为什么我们需要 DHCP?
在没有 DHCP 的年代,每台电脑接入网络前,管理员都得手动填写 IP 地址、子网掩码、网关、DNS……不仅繁琐,还容易出错或造成 IP 冲突。
而有了 DHCP,这一切都自动化了:
- 新设备一上线,自动获得合法 IP;
- 不用担心地址重复;
- 网络调整时,只需改服务器,不用挨个改客户端。
它就像酒店前台:你入住时,前台(DHCP)自动分配一个空房间(IP),告诉你怎么走(网关)、哪里吃饭(DNS),退房后这个房间又可以分给下一个人。
我们要搭一个什么样的网络?
先画张图,心里有数:
+-------------+ | Server-PT | | (DHCP服务) | | IP:192.168.1.10| +------+------+ | | +-------+--------+ | Switch-2960 | +-------+--------+ | +----------+-----------+ | | +----+----+ +-----+-----+ | PC0 | | PC1 | | 自动获取| | 自动获取 | +---------+ +-----------+ | +-------+--------+ | Router-PT | | 192.168.1.1/24 | +----------------+所有设备接在同一台交换机上,属于同一个广播域。
路由器作为网关,Server-PT 提供 DHCP 服务,PC0 和 PC1 是普通用户终端。
✅关键点:DHCP 基于广播通信,客户端和服务器必须在同一个二层网络中,否则需要中继(后续再讲)。
第一步:把“地基”打牢 —— 拓扑与基础配置
1. 添加设备
打开 Packet Tracer,拖入以下设备:
- 1 台Router-PT(比如 1841)
- 1 台Switch-2960-24TT
- 1 台Server-PT
- 2 台PC-PT
用直通线(Straight-Through Cable)连接好所有设备到交换机。路由器也接到交换机上。
2. 配置路由器接口
点击路由器 → CLI,输入命令:
Router> enable Router# configure terminal Router(config)# interface gigabitEthernet 0/0 Router(config-if)# ip address 192.168.1.1 255.255.255.0 Router(config-if)# no shutdown Router(config-if)# exit Router(config)# exit现在,192.168.1.1就是这个网络的“门面”——默认网关。
3. 给服务器固定一个静态IP
双击Server-PT→ Desktop → IP Configuration:
- IP Address:
192.168.1.10 - Subnet Mask:
255.255.255.0 - Default Gateway:
192.168.1.1
这样,服务器就有了自己的“身份证”,不会被动态分配搞乱。
第二步:让服务器“开口说话”——启用DHCP服务
还是在Server-PT上操作:
👉 切换到Services标签页 → 点击DHCP
你会看到三个区域:
- 左侧:当前已启用的服务池(目前为空)
- 中间:配置面板
- 右侧:已分配的客户端列表(初始为空)
创建地址池(Pool)
点击Add Pool,填入以下信息:
| 字段 | 值 |
|---|---|
| Pool Name | Office_Network |
| Network Address | 192.168.1.0 |
| Subnet Mask | 255.255.255.0 |
| Default Gateway | 192.168.1.1 |
| DNS Server | 8.8.8.8 |
| Start IP Address | 192.168.1.100 |
| Maximum Number of Users | 101 (即 .100 到 .200) |
| Lease Time | 24 hours |
✅解释几个关键项:
-Start IP & Max Users:我们希望从.100开始分,最多分101个地址(含起始),也就是.100 ~ .200。
-Lease Time:租期24小时。到期前客户端会尝试续租;若未续,则地址释放回池。
-Default Gateway 和 DNS:这些都会打包发给客户端,非常重要!
点击Save,大功告成!DHCP 服务已经启动。
🛠️小技巧:你可以添加多个 Pool,比如为不同部门划分不同地址段,命名如
HR_DHCP,IT_DHCP,便于管理。
第三步:让客户机“自动上岗”——测试DHCP效果
现在轮到 PC0 和 PC1 登场。
双击PC0→ Desktop → IP Configuration:
- 把Static改成DHCP
- 其他字段自动变灰(说明由服务器下发)
等待几秒钟……
你会发现:
- IP Address 变成了192.168.1.100
- Subnet Mask:255.255.255.0
- Default Gateway:192.168.1.1
- DNS Server:8.8.8.8
🎉 成功了!这是 DHCP 服务器刚刚分配的第一个地址。
再去看一眼Server-PT的 DHCP 页面右侧:“Assigned Addresses”里是不是多了一条记录?
MAC: 0001.C9xx.xxxx → IP: 192.168.1.100这就是 PC0 的“租约档案”。
接着去PC1做同样操作(选 DHCP),它应该拿到.101。
第四步:眼见为实——看看数据包是怎么跑的
想真正理解 DHCP?那就进Simulation Mode看看报文流动吧!
切换到右下角的Simulation模式。
在 Event List 中,点击Edit Filters→ 只勾选DHCP。
然后回到 PC1,重新设置一次 DHCP 获取(可先删掉旧配置)。
你会看到四个事件依次出现:
DHCP Discover
→ PC1 广播:“谁是DHCP服务器?”DHCP Offer
← Server-PT 单播回应:“我可以给你.101”DHCP Request
→ PC1 广播:“我接受你的Offer!”DHCP ACK
← Server-PT 回应:“批准,.101归你了,租期24小时。”
这就是著名的DORA 流程—— Discover, Offer, Request, Acknowledge。
💡冷知识:虽然 Offer 和 ACK 是单播,但 Request 仍用广播,是为了让其他可能的 DHCP 服务器知道“这个客户已被占用”,避免冲突。
遇到问题怎么办?常见坑点与解决秘籍
别急,实验中常遇到这些问题,我都帮你踩过坑了。
❌ 问题1:PC获取不到IP,显示169.254.x.x
这是 Windows 的“自暴自弃模式”——APIPA(Automatic Private IP Addressing)。意思是:“找不到DHCP,我自己随便设一个先用着。”
排查步骤:
1. 检查 Server-PT 是否真的启用了 DHCP 服务?
2. Server 的 IP 是不是192.168.1.10?和客户端在同一网段吗?
3. 网线都连上了吗?交换机端口是绿色的吗?
4. 地址池范围对不对?有没有把.100错写成.10?
👉 最有效的方法:进 Simulation 模式,看有没有收到 Discover 报文。如果根本没有流出,说明PC根本没发请求;如果有 Discover 但无 Offer,那就是服务器没响应。
❌ 问题2:PC拿到了IP,但 ping 不通网关
能拿IP,说明 DHCP 成功;ping不通,可能是路由或接口问题。
检查:
- 路由器Gig0/0接口是否no shutdown?
- 路由器和交换机之间的线缆类型正确吗?(应为直通线)
- 在路由器上执行show ip interface brief,确认接口状态是up/up
试试在 PC 上ping 192.168.1.1,如果通了,说明三层转发正常。
❌ 问题3:地址池很快就被占满了
有可能是你反复测试,每次重启PC都会申请新地址,导致旧租约未过期就累积起来。
解决方案:
- 在 Server-PT 的 DHCP 设置中,修改 Lease Time 为 1 小时甚至更短;
- 或者手动清空 Assigned Addresses(关闭服务再开启即可重置);
- 生产环境中建议合理规划地址池大小,并监控使用率。
高阶思路:真实网络中的最佳实践
虽然这只是个仿真实验,但我们可以从中提炼出真正的工程经验:
✅ 地址规划要有“留白”
建议这样划分/24网段:
| 地址范围 | 用途 |
|---|---|
| .1 ~ .99 | 静态保留(网关、服务器、打印机) |
| .100 ~ .200 | DHCP 动态分配 |
| .201 ~ .254 | 预留扩展或临时调试 |
既清晰又安全。
✅ 命名要有意义
不要叫Pool1,而是SALES_DHCP_POOL、WIFI_GUEST_POOL,后期维护省一半力。
✅ 安全不能忽视
想象一下:有人偷偷在办公室插了个带DHCP的小盒子,你的电脑可能会优先接受它的错误配置,导致断网甚至被劫持。
真实企业网中,一定要开启DHCP Snooping(在交换机上),只允许指定端口接收DHCP Offer,防住“ rogue server”。
✅ 多子网怎么办?靠中继!
如果不同 VLAN 的用户也需要统一 DHCP 服务呢?
答案是:DHCP Relay(IP Helper)
在三层交换机或路由器上配置:
interface vlan 10 ip address 192.168.10.1 255.255.255.0 ip helper-address 192.168.1.10 ← 指向DHCP服务器这样,VLAN 10 的 Discover 广播会被转为单播,发往服务器,实现跨网段分配。
写在最后:这不是结束,而是起点
通过这次实验,你不仅学会了如何在 Packet Tracer 中配置 DHCP,更重要的是:
- 理解了 DORA 四步流程的本质;
- 掌握了从拓扑设计到故障排查的完整闭环;
- 积累了可迁移的真实网络思维。
下一步你可以尝试:
- 把 DHCP 放在路由器上(用 CLI 命令配置);
- 加入 DNS 和 Web 服务,构建完整内网;
- 配置 VLAN + DHCP Relay,模拟多部门网络;
- 甚至接入 IoT 设备,看智能灯泡如何自动入网。
网络的魅力就在于:每一个看似简单的功能背后,都有精密的设计与协作机制。
动手去做吧,下一个能快速定位“为什么连不上网”的人,就是你。
如果你在实验中遇到了其他问题,欢迎留言交流,我们一起拆解。