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所示。

12                             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月