DHCP简介DHCP(动态主机配置协议) 是一种应用层协议,基于客户端-服务器模型,使用UDP协议(客户端端口68,服务器端口67)。其主要功能是自动为网络设备分配IP地址、子网掩码、默认网关、DNS服务器等网络参数,简化网络配置管理,避免手动操作导致的错误。
DHCP机制DORA流程:
Discover:客户端广播发送DHCP Discover报文,寻找可用服务器。Offer:服务器回应DHCP Offer报文,提供IP地址等配置。Request:客户端选择Offer并广播DHCP Request,请求分配IP。Acknowledge:服务器确认请求,发送DHCP ACK完成分配。租约管理:
默认租期可配置(如24小时),客户端在租期过半时尝试续租(DHCP Request),失败则在87.5%租期时重新申请。租期到期未续约则IP被回收。异常处理:若服务器检测到IP冲突或无效请求,返回DHCP NAK拒绝分配。DHCP作用自动化管理:动态分配IP,减少人工干预。IP集中分配:避免地址冲突,提升资源利用率。灵活配置:支持静态绑定(为特定设备保留固定IP)和动态分配。跨子网分配:通过DHCP中继代理实现不同子网的地址分配。节省资源:通过租期回收闲置IP。DHCP使用场景企业/家庭网络:大量设备需快速接入。无线网络(Wi-Fi):移动设备频繁连接/断开。虚拟化环境:云主机、虚拟机快速获取配置。临时网络:会议、活动现场的临时IP分配。多子网环境:通过中继代理实现跨VLAN/IP网段分配。三层交换机 vs 路由器配置DHCP的区别特性
三层交换机
路由器
定位
局域网内部,基于VLAN分配IP
跨子网/广域网,作为网关分配IP
配置位置
VLAN接口下启用
全局或子网接口启用
地址池范围
支持多VLAN独立地址池
通常为单一子网分配
中继代理需求
跨VLAN时需要配置中继
跨子网时需中继或全局服务
性能侧重点
高速处理局域网内请求
结合NAT/防火墙,处理跨网段流量
DHCP注意事项地址池规划:根据设备数量预留足够IP,避免耗尽。租期调整:高流动性网络(如公共Wi-Fi)可缩短租期。保留地址:为服务器、打印机等设备绑定静态IP。安全防护:启用DHCP Snooping防止伪造服务器攻击。中继配置:跨子网时需在中继设备指定DHCP服务器地址。监控日志:记录分配情况,便于排查地址冲突或异常。冲突检测:即使使用DHCP,仍需避免手动配置IP导致的冲突。三种模式概述全局模式(Global Mode)
定义:在设备(如路由器或三层交换机)上创建全局地址池,通过该地址池为同一子网或多个子网的客户端分配 IP 地址。特点:集中化管理地址池,支持跨子网分配(需结合接口配置)。接口模式(Interface Mode)
定义:直接在接口(如 VLANIF 或物理接口)下启用 DHCP 服务,并基于接口所在子网自动生成地址池。特点:无需单独配置地址池,适用于单一子网且参数简单的场景。中继模式(Relay Mode)
定义:通过 DHCP 中继代理将客户端的广播请求转发到其他子网的 DHCP 服务器,实现跨子网地址分配。特点:需指定远端 DHCP 服务器地址,支持复杂网络架构。核心区别对比对比项
全局模式
接口模式
中继模式
地址池类型
全局地址池(手动配置)
接口地址池(自动生成)
无地址池(依赖远端服务器)
配置复杂度
高(需定义地址池)
低(自动生成地址池)
中(需配置中继代理)
适用子网范围
支持多子网(需接口绑定)
仅限本接口子网
支持跨子网
广播处理
直接响应本地广播
直接响应本地广播
广播转为单播跨子网转发
典型场景
多子网且需集中化管理
单子网且配置简单
跨子网且需集中化管理
适用场景分析全局模式
场景:
中大型网络,需要为多个子网分配地址(如不同 VLAN)。需自定义地址池参数(如 DNS、网关、租期)。案例:
企业总部核心交换机为多个部门(VLAN 10/20/30)分配不同地址段。接口模式
场景:
小型网络或单一子网,无需复杂配置。接口所在子网需要快速启用 DHCP 服务。案例:
家庭路由器为 LAN 口连接的设备自动分配 IP。中继模式
场景:
跨子网架构(如分支机构与总部分离)。集中式 DHCP 服务器管理(如数据中心统一分配 IP)。案例:
企业分支通过中继代理获取总部 DHCP 服务器分配的 IP。配置案例全局模式在设备全局启用 DHCP 服务,支持为多个子网分配 IP 地址。
拓扑图DHCP全局模式.png设备
接口
IP地址
子网掩码
默认网关
备注
AR1
GE 0/0/0
10.15.20.254
255.255.255.0
-
路由器接口,连接交换机 LSW2 不配置交换机,让它直接走二层
GE 0/0/1
10.15.30.254
DHCP自动获取
-
路由器接口,连接交换机 LSW3 不配置交换机,让它直接走二层
PC3
Eth 0/0/1
DHCP自动获取
DHCP自动获取
10.15.20.254
通过 DHCP 获取 IP 地址
PC4
Eth 0/0/1
DHCP自动获取
DHCP自动获取
10.15.30.254
通过 DHCP 获取 IP 地址
代码语言:javascript代码运行次数:0运行复制dhcp enable (开启DHCP服务)
#
interface GigabitEthernet0/0/0
ip address 10.15.20.254 255.255.255.0
dhcp select global (开启全局模式)
#
interface GigabitEthernet0/0/1
ip address 10.15.30.254 255.255.255.0
dhcp select global (开启全局模式)
#
ip pool pool-20
gateway-list 10.15.20.254
network 10.15.20.0 mask 255.255.255.0
excluded-ip-address 10.15.20.100 10.15.20.200
lease day 7 hour 0 minute 0
dns-list 8.8.8.8
#
ip pool pool-30
gateway-list 10.15.30.254
network 10.15.30.0 mask 255.255.255.0
excluded-ip-address 10.15.30.100 10.15.30.200
lease day 7 hour 0 minute 0
dns-list 8.8.8.8 验证代码语言:javascript代码运行次数:0运行复制
Enter system view, return user view with Ctrl+Z.
[AR2]dis dhcp server statistics
DHCP Server Statistics:
Client Request : 4
Dhcp Discover : 2
Dhcp Request : 2
Dhcp Decline : 0
Dhcp Release : 0
Dhcp Inform : 0
Server Reply : 4
Dhcp Offer : 2
Dhcp Ack : 2
Dhcp Nak : 0
Bad Messages : 0
P3>ipconfig
Link local IPv6 address...........: fe80::5689:98ff:fe1f:7de
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 10.15.20.253
Subnet mask.......................: 255.255.255.0
Gateway...........................: 10.15.20.254
Physical address..................: 54-89-98-1F-07-DE
DNS server........................: 8.8.8.8
PC4>ipconfig
Link local IPv6 address...........: fe80::5689:98ff:fe27:39ce
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 10.15.30.253
Subnet mask.......................: 255.255.255.0
Gateway...........................: 10.15.30.254
Physical address..................: 54-89-98-27-39-CE
DNS server........................: 8.8.8.8
接口模式接口模式的局限性在于它仅适用于客户端和 DHCP 服务器位于同一网段的情况。如果客户端和 DHCP 服务器处于不同网段,接口模式将无法直接工作。尽管接口模式的配置相对简单,使用的命令较少,但它的适用性有限。
值得注意的是,接口模式与全局模式可以混合使用,但在这样做时,需要确保以下几点:
IP 地址范围不冲突;接口配置正确;路由可达;拓扑图拓扑图设备
接口
IP地址
子网掩码
默认网关
备注
AR1
GE 0/0/0
10.15.10.254
255.255.255.0
-
路由器接口,连接交换机 LSW1(不配置交换机,让它直接走二层
PC1
Eth 0/0/1
DHCP自动获取
DHCP自动获取
10.15.10.254
通过 DHCP 获取 IP 地址
PC2
Eth 0/0/1
DHCP自动获取
DHCP自动获取
10.15.10.254
通过 DHCP 获取 IP 地址
AR1配置
代码语言:javascript代码运行次数:0运行复制dhcp enable (开启DHCP服务)
interface GigabitEthernet0/0/0
ip address 10.15.10.254 255.255.255.0 (配置接口地址)
dhcp select interface (开启DHCP接口模式)
dhcp server excluded-ip-address 10.15.10.100 10.15.10.200 (地址池排除范围)
dhcp server lease day 7 hour 0 minute 0 (租约时间)
dhcp server dns-list 8.8.8.8 (DNS地址)代码语言:javascript代码运行次数:0运行复制[AR1]dis dhcp server statistics
DHCP Server Statistics:
Client Request : 4 # 客户端发送的 DHCP 请求总数
Dhcp Discover : 2 # 客户端发送的 Discover 报文数量(广播寻找 DHCP 服务器)
Dhcp Request : 2 # 客户端发送的 Request 报文数量(确认使用服务器提供的 IP)
Dhcp Decline : 0 # 客户端发送的 Decline 报文数量(拒绝服务器提供的 IP)
Dhcp Release : 0 # 客户端发送的 Release 报文数量(主动释放 IP 地址)
Dhcp Inform : 0 # 客户端发送的 Inform 报文数量(请求其他配置信息)
Server Reply : 4 # 服务器发送的 DHCP 响应总数
Dhcp Offer : 2 # 服务器发送的 Offer 报文数量(提供可用 IP 地址)
Dhcp Ack : 2 # 服务器发送的 Ack 报文数量(确认分配 IP 地址)
Dhcp Nak : 0 # 服务器发送的 Nak 报文数量(拒绝客户端的请求)
Bad Messages : 0 # 无效或错误的 DHCP 报文数量(如格式错误或非法请求)代码语言:javascript代码运行次数:0运行复制PC1>ipconfig
Link local IPv6 address...........: fe80::5689:98ff:fe09:11de
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 10.15.10.253
Subnet mask.......................: 255.255.255.0
Gateway...........................: 10.15.10.254
Physical address..................: 54-89-98-09-11-DE
DNS server........................: 8.8.8.8
PC2>ipconfig
Link local IPv6 address...........: fe80::5689:98ff:fe8c:15b5
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 10.15.10.252
Subnet mask.......................: 255.255.255.0
Gateway...........................: 10.15.10.254
Physical address..................: 54-89-98-8C-15-B5
DNS server........................: 8.8.8.8中继模式支持跨子网集中化管理,分布式网络架构
角色分类DHCP服务器
角色定位:集中管理IP地址池的网络设备(如独立服务器或路由器)。核心职责:
接收中继转发的请求:解析中继代理插入的 giaddr 字段,确定客户端所属子网。分配IP地址:根据 giaddr 选择对应的地址池,分配IP、子网掩码、网关、DNS等参数。响应客户端:通过中继代理返回 DHCP Offer/ACK 报文。DHCP客户端
角色定位:请求IP地址的网络终端设备(如PC、手机、摄像头等)。核心职责:
发起 DHCP Discover 广播报文(``源IP 0.0.0.0,目标IP 255.255.255.255)。接收并处理服务器分配的IP地址(通过 DHCP Offer/ACK 报文)。在租期过半时主动发起续租请求(DHCP Request)。关键限制:
客户端广播报文无法直接跨越子网,需依赖中继代理转发。DHCP中继代理(Relay Agent)
角色定位:通常为三层交换机或路由器,部署在客户端与服务器之间的不同子网中。核心职责:
接收广播报文:监听客户端子网的DHCP广播(Discover/Request)。修改并转发请求:
将客户端的广播报文转换为 单播,目标指向DHCP服务器(或下一跳中继)。插入 giaddr字段(Gateway IP Address),标识客户端所在子网的网关IP,供服务器确定地址池。转发响应报文:将服务器的单播响应(Offer/ACK)转发回客户端子网。拓扑图DHCP中继模式.png设备
接口
VLAN
IP
角色
备注
LSW4
vlanif10
10
10.15.10.254/24
DHCP 中继
转发VLAN 10的DHCP请求
vlanif20
20
10.15.20.254/24
DHCP 中继
转发VLAN 20的DHCP请求
vlanif100
100
10.15.100.2/30
DHCP 服务器
用于与LWS7的DHCP服务器通信交互
GE0/0/1
-
-
连接LSW7
用于与DHCP服务器通信
LSW7
vlanif100
100
192.168.100.1/30
DHCP 服务器
提供DHCP服务
GE0/0/1
-
-
连接LSW4
用于与DHCP中继通信
LSW5
GE0/0/2
10
-
连接PC5
接入VLAN 10(不做任何配置)
LSW6
GE0/0/2
20
-
连接PC6
接入VLAN 20(不做任何配置)
PC5
Ethernet 0/0/1
10
DHCP获取
DHCP客户端
通过VLAN 10获取IP地址
PC6
Ethernet 0/0/1
20
DHCP获取
DHCP客户端
通过VLAN 20获取IP地址
LSW7配置代码语言:javascript代码运行次数:0运行复制
#
sysname LSW7
dhcp enable
ip pool pool-vlan10
gateway-list 10.15.10.254
network 10.15.10.0 mask 255.255.255.0
excluded-ip-address 10.15.10.100 10.15.10.200
lease day 7 hour 0 minute 0
dns-list 8.8.8.8
#
ip pool pool-vlan20
gateway-list 10.15.20.254
network 10.15.20.0 mask 255.255.255.0
excluded-ip-address 10.15.20.100 10.15.20.200
lease day 7 hour 0 minute 0
dns-list 8.8.8.8
interface Vlanif100
ip address 10.15.100.1 255.255.255.0
dhcp select global
interface GigabitEthernet0/0/1
port link-type access
port default vlan 100
ip route-static 0.0.0.0 0.0.0.0 10.15.100.2LSW4配置代码语言:javascript代码运行次数:0运行复制sysname LSW4
#
dhcp enable
#
interface Vlanif10
ip address 10.15.10.254 255.255.255.0
dhcp select relay
dhcp relay server-ip 10.15.100.1
#
interface Vlanif20
ip address 10.15.20.254 255.255.255.0
dhcp select relay
dhcp relay server-ip 10.15.100.1
#
interface Vlanif100
ip address 10.15.100.2 255.255.255.0
#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 100
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 20
PC5代码语言:javascript代码运行次数:0运行复制PC>ipconfig
Link local IPv6 address...........: fe80::5689:98ff:fedc:80f6
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 10.15.10.253
Subnet mask.......................: 255.255.255.0
Gateway...........................: 10.15.10.254
Physical address..................: 54-89-98-DC-80-F6
DNS server........................: 8.8.8.8PC6代码语言:javascript代码运行次数:0运行复制PC>ipconfig
Link local IPv6 address...........: fe80::5689:98ff:fe99:6e9a
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 10.15.20.253
Subnet mask.......................: 255.255.255.0
Gateway...........................: 10.15.20.254
Physical address..................: 54-89-98-99-6E-9A
DNS server........................: 8.8.8.8常见问题排查全局模式地址池未绑定接口
检查接口是否执行 dhcp select global。中继模式无法获取 IP
确认中继代理的 dhcp relay server-ip 配置正确。检查 DHCP 服务器与中继代理之间的路由可达性。接口模式地址耗尽
调整地址池范围:network <网段> mask <掩码>。总结模式
优势
劣势
推荐场景
全局模式
支持多子网,参数灵活配置
配置复杂,需手动维护地址池
中大型多子网环境
接口模式
配置简单,快速部署
仅限单一子网,功能受限
小型网络或单一子网
中继模式
支持跨子网集中化管理
依赖远端服务器,需路由可达
分布式网络架构
华为配置关键命令:
全局模式:dhcp select global + ip pool接口模式:dhcp select interface中继模式:dhcp select relay + dhcp relay server-ip