目录
一、DHCP服务
1.概述
2.好处
3.分配方式
4.租约过程
5.工作原理
二、动态配置DHCP
1.DHCP可分配的地址信息
2.配置DHCP服务器
1)安装DHCP服务器软件(open Euler系统为例)
2)建立主配置文件dhcpd.conf
3)启动dhcpd服务
3.使用DHCP客户端
三、DHCP中继
1.工作原理
2.中继配置
步骤1:全局启用DHCP功能
步骤2:配置DHCP服务器组(可选)
步骤3:配置DHCP服务器
步骤4:验证配置
四、简化总结
一、DHCP服务
1.概述
DHCP即动态主机配置协议(Dynamic Host Configuration Protocol),它是一种用于自动为网络中的设备分配IP地址及其他相关网络配置信息的网络协议。
2.好处
降低管理成本:网络管理员无需手动为每台设备配置IP地址,大大减少了配置和管理的工作量。避免IP地址冲突:DHCP服务器可以确保分配的IP地址不会重复,避免了因IP地址冲突导致的网络故障。提高网络灵活性:当设备加入或离开网络时,DHCP可以自动分配或回收IP地址,使网络配置更加灵活。便于移动设备接入:对于移动设备(如笔记本电脑、平板电脑等),可以自动获取网络配置信息,方便在不同网络环境中快速接入。
3.分配方式
自动分配:DHCP服务器为客户端分配一个永久的IP地址,该地址在客户端的使用期间不会改变。动态分配:DHCP服务器为客户端分配一个有租约期限的IP地址,租约到期后,客户端需要重新向服务器请求续租或获取新的IP地址。手动分配:网络管理员手动为特定的客户端指定一个固定的IP地址,DHCP服务器只是将该地址告知客户端。
4.租约过程
发现阶段(DHCP Discover):客户端广播一个DHCP Discover消息,用于寻找网络中的DHCP服务器。提供阶段(DHCP Offer):DHCP服务器接收到Discover消息后,从IP地址池中选择一个可用的IP地址,并向客户端广播一个DHCP Offer消息,包含分配的IP地址和其他配置信息。请求阶段(DHCP Request):客户端接收到多个Offer消息后,选择其中一个,并广播一个DHCP Request消息,向选中的DHCP服务器请求使用该IP地址。确认阶段(DHCP ACK):DHCP服务器接收到Request消息后,确认该IP地址可以分配给客户端,并发送一个DHCP ACK消息,包含IP地址租约期限等信息。客户端接收到ACK消息后,完成IP地址的获取。续租阶段:在租约期限到达一半时,客户端会向DHCP服务器发送一个DHCP Request消息,请求续租该IP地址。如果服务器同意续租,会发送一个DHCP ACK消息;如果不同意,会发送一个DHCP NAK消息,客户端需要重新获取IP地址。
5.工作原理
发现(Discover)
客户端广播发送 DHCP Discover 报文(源IP 0.0.0.0,目的IP 255.255.255.255)。
作用:寻找可用的DHCP服务器。
提供(Offer)
服务器收到请求后,从地址池选一个IP,广播回复 DHCP Offer 报文。
包含:分配的IP、子网掩码、租期等信息。
请求(Request)
客户端选择第一个收到的Offer,广播发送 DHCP Request 报文。
作用:确认使用该IP,并通知其他服务器收回Offer。
确认(Ack)
被选中的服务器回复 DHCP Ack 报文,正式分配IP。
客户端应用配置,完成联网。
二、动态配置DHCP
1.DHCP可分配的地址信息
核心分配内容: ✔️ IP地址池范围(如 192.168.1.100-200) ✔️ 子网掩码(subnet mask) ✔️ 默认网关(gateway) ✔️ DNS服务器地址 ✔️ 租期时间(默认租期default-lease-time和最大租期max-lease-time)
可选参数: ✔️ 域名(domain-name) ✔️ NTP服务器(时间同步) ✔️ TFTP服务器(常用于无盘系统)
📌 简单理解:租期像“租房合同”,客户端需在到期前续租(renew),否则IP可能被回收。默认租期短(如2小时),最大租期是允许的最长占用时间。
2.配置DHCP服务器
1)安装DHCP服务器软件(open Euler系统为例)
2)建立主配置文件dhcpd.conf
配置文件路径:/etc/dhcp/dhcpd.conf #注意:它自带的配置文件没有任何参数,需复制安装包提供的模板(在/usr/share/doc/dhcp../..example)到文件下
文件的配置构成:
包含全局设置、子网声明、主机声明等。
全局配置基本结构:
# 全局设置(对所有子网生效)
option domain-name "example.com"; #默认域名
option domain-name-servers 8.8.8.8; #DNS服务器地址
default-lease-time 7200; # 默认租期(秒)
max-lease-time 86400; # 最大租期
# 定义子网(关键!)
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200; #可分配的地址池
option routers 192.168.1.1; # 网关
option subnet-mask 255.255.255.0; #指定分配给客户端的子网掩码
#host 主机声明(可选)
host prtsvr{
hardware ethernet 00:c0:c3:22:46:78 ; #绑定客户机MAC地址
fixed-address 192.168.10.211;
3)启动dhcpd服务
systemctl start dhcpd
systemctl enable dhcpd # 开机自启
验证服务状态:
systemctl status dhcpd
netstat -nuap | grep :67 # 检查是否监听67端口(DHCP默认端口)
若服务启动失败,排查思路:
检查配置文件语法:dhcpd -t
查看系统日志:cat /var/log/messages
防火墙放行UDP 67端口:firewall-cmd --add-service=dhcp --permanent
3.使用DHCP客户端
Linux客户端:
dhclient -v eth0 # 手动获取IP(-v显示详细过程)
dhclient -r eth0 # 释放IP
查看租约文件cat /var/lib/dhcpd/dhcpd.leases Windows客户端:
ipconfig /release # 释放IP
ipconfig /renew # 重新获取IP 验证分配结果:
ip addr show eth0 # Linux
ipconfig /all # Windows
若无法获取IP 排查思路:
检查客户端与服务端是否同一网络
确认DHCP服务已启动
检查配置文件dhcpd.conf中的range是否有效
三、DHCP中继
1.工作原理
概述:是一种网络技术,它允许一个DHCP服务器为不同网段的客户端提供IP地址和其他网络配置信息。可以使得一个DHCP服务器同时为多个网段服务,从而简化网络管理并节省资源。
核心功能:跨子网转发客户端的DHCP广播请求至指定服务器,解决不同子网间IP自动分配问题
报文交互: ◦ Discover阶段:客户端广播请求 → 中继代理接收后修改hops(跳数+1)和giaddr(网关接口IP),转发至服务器2。 ◦ Offer阶段:服务器根据giaddr选择对应子网的地址池,单播回复Offer给中继,中继再转发至客户端25。
2.中继配置
步骤1:全局启用DHCP功能
[Switch] dhcp enable # 全局开启DHCP服务
步骤2:配置DHCP服务器组(可选)
方法1:直接指定服务器IP(适用于单服务器场景)
[Switch] interface Vlanif 10 # 进入客户端所属VLAN的三层接口
[Switch-Vlanif10] ip address 192.168.10.1 24
[Switch-Vlanif10] dhcp select relay # 启用中继模式
[Switch-Vlanif10] dhcp relay server-ip 10.0.0.1 # 指定DHCP服务器IP 方法2:通过服务器组(支持多服务器或负载均衡)
[Switch] dhcp server group ServerGroup1 # 创建服务器组
[Switch-dhcp-server-group-ServerGroup1] dhcp-server 10.0.0.1
[Switch-dhcp-server-group-ServerGroup1] quit
[Switch] interface Vlanif 20
[Switch-Vlanif20] dhcp select relay
[Switch-Vlanif20] dhcp relay server-select ServerGroup1 # 调用服务器组
步骤3:配置DHCP服务器
服务器需创建对应子网的地址池:
[DHCP-Server] ip pool vlan10
[DHCP-Server-ip-pool-vlan10] network 192.168.10.0 mask 24
[DHCP-Server-ip-pool-vlan10] gateway-list 192.168.10.1
[DHCP-Server-ip-pool-vlan10] dns-list 8.8.8.8
关键点:服务器需配置静态路由指向中继设备,确保子网可达210。
步骤4:验证配置
客户端获取IP:
display ip pool name vlan10 used # 查看地址池分配情况 日志检查:
display dhcp relay statistics # 查看中继转发统计
四、简化总结
工作交互流程:
客户端 DHCP服务器
| |
|--- DHCP Discover ----->| (广播:谁有IP?)
| |
|<-- DHCP Offer ---------| (广播:用这个IP!)
| |
|--- DHCP Request ------>| (广播:我要这个IP!)
| |
|<-- DHCP Ack -----------| (单播:确认分配!)
| |
配置DHCP服务流程:安装软件 → 配置dhcpd.conf → 启动服务 → 客户端验证
租期续订流程:
客户端 DHCP服务器
| |
|--- DHCP Request (T1时间) ----->| (单播:续租请求)
| |
|<-- DHCP Ack -------------------| (同意续租)
| |
|--- DHCP Request (T2时间) ----->| (广播:紧急续租)
| |
|<-- DHCP Ack -------------------| (其他服务器可能响应
T1=50%租期,T2=87.5%租期。若续租失败,客户端重新发起DORA流程。
DHCP中继交互流程图
客户端 中继代理 DHCP服务器
| | |
|-- Discover -->| |
| |--- Discover --->|
| | |
| |<-- Offer -------|
|<-- Offer ------| |
| | |
|-- Request ---->| |
| |--- Request ---->|
| | |
| |<-- Ack ---------|
|<-- Ack --------|