在前面,我们也曾经介绍过两种DHCP中继故障问题,不知道大家是否还记得。如果不清楚的朋友,可以简要去回顾一下。那么这里我们所讲解的DHCP中继故障是关于不同业务类型的客户端不能通过中继获取不同网段的IP地址的问题。
DHCP中继故障◆网络环境
组网环境如下图所示。使用过程中,发现客户端无法从DHCP中继获取与中继代理接口的从IP地址同一网段的地址。
图 为不同业务类型客户端分配IP地址的典型组网应用
DHCP中继故障◆故障分析
1.执行display dhcp server tree all命令,查看DHCP服务器是否配置了中继代理的从IP地址所在网段的地址池。
2.执行display ip interface brief命令,查看中继代理和DHCP服务器接口的配置信息。查看各接口是否配置了正确的主IP地址和从IP地址。
进入GigabitEthernet1/0/0接口视图,查看中继代理接口的配置。
- <HUAWEI> system-view
- [HUAWEI] interface gigabitethernet 1/0/0
- [HUAWEI-GigabitEthernet1/0/0] display this
- #
- interface GigabitEthernet1/0/0
- ip address 10.110.1.1 255.255.0.0
- ip address 11.110.1.1 255.255.0.0 sub
- ip address 12.110.1.1 255.255.0.0 sub
- ip address 13.110.1.1 255.255.0.0 sub
- ip relay address 20.110.1.1
- ip relay giaddr 13.110.1.1 dhcp-option 12
- ip relay giaddr 12.110.1.1 dhcp-option 60
- ip relay giaddr 11.110.1.1 dhcp-option 82
- dhcp select relay
- isis enable 1
- dhcp snooping enable
- dhcp option82 insert enable
- #
- return
3.执行display dhcp relay address all命令,查看使能中继代理功能的接口是否配置了DHCP Option与DHCP服务器地址、中继代理地址的关联。
4.执行display fib 11.110.1.1命令查看路由信息。
在服务器端查看路由信息,发现有到达Relay的路由。
在中继代理上执行ping 20.110.1.1命令,可以ping通。在DHCP服务器上执行ping 11.110.1.1、ping 12.110.1.1、ping 13.110.1.1,可以ping通,由此可见路由正常。
5.在DHCP服务器上打开DHCP的调试开关,执行debugging dhcp server packet命令。
发现无论是哪个客户端申请都是按配置的option82来选取中继代理地址。通过检查,发现配置了dhcp option82 insert enable,这样到达中继代理的报文都会先由DHCP SNOOPING处理,在报文中加入option82信息。之后,报文再转发给中继代理进行处理,此时无论是哪个客户端发送至中继代理的报文都会被解析出option82选项,这样所有报文都会按照dhcp-option 82的关联配置进行报文转发,导致客户端无法正确申请到IP地址。
DHCP中继故障◆处理步骤
1.检查中继代理和DHCP服务器是否使能了DHCP功能。
2.检查DHCP服务器是否配置有与DHCP客户端所需IP地址同网段的地址池。
3.检查是否在连接DHCP客户端所在网段的接口上正确配置了所代理的DHCP服务器地址;是否因为配置有多个所代理的DHCP服务器地址而造成冲突。
4.检查带DHCP中继代理和DHCP服务器是否配置有相互可达路由,即到达中继代理接口的主IP地址和从IP地址的路由。
5.检查DHCP服务器的配置,DHCP服务器和客户端之间最多有4个中继代理。
6.检查是否在中继代理接口上使能了DHCP中继代理的命令。如果没有使能,进入GigabitEthernet1/0/0的接口视图后,执行dhcp select relay命令。
7.检查中继代理接口上的中继代理地址是否为接口主或从IP地址,如果不配置中继代理地址,则默认选取中继代理接口的主IP地址作为中继代理地址;如果配置giaddr必须配置为接口主或从地址,否则无法发布路由,从而客户端无法正常获取IP)。
8.检查中继代理接口上配置的DHCP Option与中继代理地址的关联是否正确。
9.检查是否配置了dhcp snooping,因为这时会在报文中加入option 82信息,导致对中继代理地址和DHCP服务器地址的选择产生影响。
中继代理地址选取规则同DHCP服务器IP地址选取规则类似:中继代理处理报文时,根据DHCP协议报文解析出的DHCP option编号查找配置,如果有多个DHCP option配置,则选择编号***的DHCP option配置转发报文。如果选定的DHCP option编号为60,则优先根据字符串内容查找匹配配置,若没有匹配配置则选用不带字符串内容的option 60配置。若中继代理上没有DHCP option的配置,则根据没有DHCP option的配置转发报文。如果没有配置中继代理所代理的DHCP服务器地址,中继代理则丢弃协议报文;如果没有配置中继代理地址,则默认以接口主IP地址为中继代理地址。
DHCP中继故障◆案例总结
中继的配置虽然并不复杂,但是很容易出现配错命令、漏掉命令等情况。缺省情况下,服务器从全局地址池分配IP地址,如果需要从接口地址池分配IP地址,必须执行dhcp select interface命令,如果想从中继分配IP地址,必须执行dhcp select relay命令。另外,ip relay address和dhcp select relay命令必须在与客户端相连的接口上(此处为GigabitEthernet1/0/0)执行,不能配置在GigabitEthernet1/0/1接口上。