DHCP三种经典的组网方式及故障处理
一、DHCP简介
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)采用客户/服务器通信模式。由客户端先向服务器发送请求配置信息的报文(包括分配的IP地址、子网掩码、缺省网关等参数),服务器根据策略返回携带相应配置信息的报文,以实现IP地址等信息的动态配置,请求报文和回应报文都采用 UDP 进行封装。DHCP客户端从DHCP服务器动态获取IP地址,通过四个阶段完成地址分配。
二、DHCP典型组网应用
(1)DHCP客户端和DHCP服务器处于相同的物理网段,DHCP客户端可以与DHCP服务器直接通信。一般包含一台DHCP服务器和多台客户端,如图1所示。
(2)DHCP客户端和DHCP服务器处于不同的网段,客户端通过DHCP中继与服务器通信,获取IP地址及其他配置信息,如图2所示。
(3)DHCP客户端和DHCP服务器处于相同的网段,DHCP客户端与DHCP服务器通过DHCP Snooping通信。如图3所示。
图1图2 图3
三、DHCP常见问题
3.1 故障一
1、问题描述。
DHCP 服务器与 DHCP 客户端在相同网段,DHCP 客户端无法获取地址。
2、问题定位。
可能的故障原因包括:
(1)物理链路不畅通。
(2)DHCP未使能。
(3)DHCP服务器没有配置地址池:通过 display dhcp server tree all 查看是否配置了地址池。
(4)DHCP服务器地址池配置错误:如果DHCP客户端请求DHCP服务器单播回应,则配置的地址池必须与接收接口IP在相同网段,否则回应报文会发送失败。
(5)租约达到规格:DHCP服务器分配的租约是有规格限制的(各款产品不同,请参考产品规格),如
果达到规格,则DHCP服务器不再分配IP地址。可以通过 display dhcp serverip-in-use all查看DHCP 服务器已经分配的租约是否达到上限。
(6)DHCP 服务器没有可分配的地址。
在用户视图下打开DHCP服务器的debug开关:debugging dhcp server all,根据具体debug信息进行定位。
Debug信息 | 可能故障原因 |
没有收到报文的debug信息 | (1) (2) |
Failed to get available ip from interface | (3) (6) |
DHCPServer: Lease is exhausted! | (3) (6) |
Sending Message-Type failed! | (4) |
DHCPServer: The number of leases has | (5) |
3、问题解决
(1)重新连接网线;
(2)在系统视图下配置命令 dhcp enable;
(3)配置包含或与接收接口 IP 地址在相同网段的地址池;
(4)配置与接口IP地址相同的网段;
(5)通过display dhcp server expired all 查看是否存在过期租约,如果有,通过reset dhcp server ip-in-use 命令删除过期租约;
(6)扩大配置的地址池网段。
3.2 故障二
1、问题描述
DHCP客户端无法通过DHCP中继获取IP地址。
2、问题定位
可能的故障原因包括:
(1)物理链路不畅通。
(2)DHCP未使能。
(3)DHCP中继接口没有选择服务器组。
(4)DHCP中继接口配置的 server-group 中指定的 DHCP 服务器不存在。
(5)DHCP中继接口配置的 server-group中指定的DHCP服务器不是与DHCP中继相连的DHCP服务器。
(6)DHCP服务器没有配置地址池。
(7)DHCP服务器地址池配置错误。
(8)DHCP服务器租约达到规格:DHCP 服务器分配的租约是有规格限制的(各款产品不同),如果达到规格,则DHCP服务器不再分配IP地址。可以通过 display dhcp server ip-in-use all查看DHCP服务器已经分配的租约是否达到上限。
(9)DHCP 服务器没有可分配的地址,查看DHCP服务器是否有可分配的IP地址,依次查看如下表项:
u 通过 display dhcp server free-ip 查看是否存在可分配的地址(与接收报文接口 IP 在相同网段的 IP 地址);
u 通过display dhcp server expired all查看是否存在与接收报文接口在相同网段的 IP 地址;
u 通过display dhcp server conflict all查看是否存在与接收报文接口在相同网段的冲突 IP 地址,且冲突时间在1小时之前。
(10)通过display ip routing-table查看在 DHCP服务器上是否存在到 DHCP中继接口 IP 地址的路由,如果没有,DHCP 服务器的回应报文无法发送给 DHCP中继。
在DHCP服务器的用户视图下打开debug开关:debugging dhcp server all,在DHCP 中继的用户视图下打开 debug 开关:debugging dhcp relay all, 根据具体debug 信息进行定位。
Debug信息 | 可能故障原因 |
DHCP 服务器的 debug 信息中没有收到报文的 debug 信息 | (1) (2) (3) (5) |
DHCP 中继的 debug 信息中没有收到报文的 debug 信息 | (1) (2) |
DHCP 中继有如下 debug 信息: The interface does not exist | (3) |
DHCP 中继有如下 debug 信息: Sending packet failed when processing Message-Typepacket! 其中 Message-Type 为 DHCP 请求报文类型 | (4) |
DHCP 服务器有如下 debug 信息: Failed to get available ip from interface ip-address mask | (6) (9) |
DHCP 服务器有如下 debug 信息:DHCPServer: Lease is exhausted | (6) (9) |
DHCPServer: The number of leases has reached themaximum! | (8) |
DHCP 服务器有如下 debug 信息:Sending Message-Type failed | (10) |
DHCP 中继有如下 debug 信息: Sending packet failed when processing Message-Typepacket! | (7) |
3、问题解决
(1)重新连接网线;
(2)在系统视图下配置命令 dhcp enable;
(3)在 DHCP 中继接口上通过命令 dhcp relay server-select查看接口的服务器组;
(4)DHCP中继接口配置的 server-group 中指定的 DHCP 服务器不存在。
(5)DHCP中继接口配置的 server-group中指定的DHCP服务器不是与DHCP中继相连的DHCP服务器。(6)DHCP服务器没有配置地址池。
(7)DHCP服务器地址池配置错误。
(8)通过 display dhcp server expired all 查看是否存在过期租约,如果有,通过reset dhcp server ip-in-use 命令删除过期租约;
(9)扩大配置的地址池;
(10)配置路由协议或者 DHCP 服务器到 DHCP 中继接口的静态路由。
3.3 故障三
1、问题描述
DHCP客户端无法通过DHCP Snooping获取IP地址。
2、问题定位
检查如下配置是否正确:
(1)参考“DHCP服务器与DHCP客户端在相同物理网段,DHCP客户端无法获取地址”中问题定位的(1)~(6),检查DHCP服务器配置。
(2)检查DHCP Snooping与DHCP服务器连接的端口是否配置了dhcp-snooping trust。如果没有配置,DHCP Snooping会丢弃DHCP服务器的回应报文。
3、问题解决
u 对于(1)中的情况,请参考“DHCP服务器与DHCP客户端在相同物理网段,DHCP客户端无法获取地址”中的问题解决;
u 对于(2),请在 DHCP Snooping 与 DHCP 服务器连接的端口上配置dhcp-snooping trust 命令。
2017年05月
本期文章
-
卷首语
-
公司动态
-
行业聚焦
-
产品推荐
-
案例介绍
-
经验共享
-
培训天地