• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

04-三层技术-IP业务配置指导

目录

03-DHCP配置

本章节下载 03-DHCP配置  (683.93 KB)

03-DHCP配置

  录

1 DHCP概述

1.1 DHCP组网模型

1.2 DHCP的IP地址分

1.2.1 IP地址分配策略

1.2.2 IP地址获取过程

1.2.3 IP地址的租约更新

1.3 DHCP报文格式

1.4 DHCP选项介绍

1.5 DHCP常用选项

1.6 自定义DHCP选项

1.6.1 厂商特定信息选项(Option 43)

1.6.2 中继代理信息选项(Option 82)

1.6.3 Option 184

1.7 协议规范

2 DHCP中继

2.1 DHCP中继简介

2.1.1 DHCP中继的基本原理

2.1.2 DHCP中继支持Option 82功能

2.1.3 DHCP中继支持MCE

2.1.4 DHCP中继支持共享地址池

2.2 DHCP中继配置限制和指导

2.3 DHCP中继配置任务简介

2.4 开启DHCP服务

2.5 配置接口工作在DHCP中继模式

2.6 指定DHCP服务器的地址

2.6.1 指定DHCP中继对应的DHCP服务器地址

2.6.2 指定远端BAS IP地址池对应的DHCP服务器地址

2.6.3 配置DHCP中继选择DHCP服务器方式

2.6.4 配置DHCP服务器可用性探测功能

2.7 配置DHCP中继的安全功能

2.7.1 配置DHCP中继用户地址表项记录功能

2.7.2 配置DHCP中继动态用户地址表项定时刷新功能

2.7.3 配置清除用户表项时通知DHCP服务器释放租约

2.7.4 配置防止DHCP饿死攻击

2.7.5 配置DHCP中继支持代理功能

2.7.6 配置DHCP中继的用户下线探测功能

2.8 配置通过DHCP中继释放客户端的IP地址

2.9 配置DHCP中继支持Option 82功能

2.10 配置跳过检查远端IP地址与网关地址是否属于同网段

2.11 配置DHCP中继发送DHCP报文的DSCP优先级

2.12 配置DHCP中继在DHCP报文中填充的中继地址

2.12.1 手工指定在DHCP报文中填充的中继地址

2.12.2 通过smart-relay功能指定DHCP报文中填充的中继地址

2.13 指定DHCP中继向DHCP服务器转发报文的源地址

2.13.1 功能简介

2.13.2 指定DHCP中继向DHCP服务器转发报文的源地址(接口视图)

2.13.3 指定DHCP中继向DHCP服务器转发报文的源地址(远端BAS IP地址池视图)

2.14 开启DHCP中继单播转发DHCP应答报文功能

2.15 配置DHCP中继通过Option82信息转发DHCP应答报文

2.16 配置DHCP中继允许从同一个DHCP服务器接收DHCP-NAK报文的最大个数

2.17 配置当为新DHCP客户端分配的地址和已在线DHCP客户端的IP地址发生冲突时,释放已在线DHCP客户端的IP地址

2.18 配置DHCP中继收到物理位置发生变化、MAC地址不变的上线用户发送的DHCP请求的处理方式

2.19 开启非首跳DHCP中继功能

2.20 配置DHCP中继收到应答DHCP-DISCOVER报文的DHCP-NAK报文后,切换到向下一个远端DHCP地址池对应的服务器转发报文的条件

2.21 DHCP中继显示和维护

2.22 DHCP中继配置举例

2.22.1 DHCP中继基本组网配置举例

2.22.2 DHCP中继支持Option 82配置举例

2.22.3 DHCP中继选择DHCP服务器方式配置举例

2.23 DHCP中继常见故障处理

2.23.1 DHCP客户端无法通过DHCP中继获取配置信息

3 DHCP客户端

3.1 DHCP客户端简介

3.2 DHCP客户端配置限制和指导

3.3 DHCP客户端配置任务简介

3.4 配置接口通过DHCP协议获取IP地址

3.5 配置接口使用的DHCP客户端ID

3.6 开启地址冲突检查功能

3.7 配置DHCP客户端发送DHCP报文的DSCP优先级

3.8 开启DHCP客户端告警功能

3.9 DHCP客户端显示和维护

3.10 DHCP客户端配置举例

3.10.1 DHCP客户端基本组网配置举例

4 BOOTP客户端

4.1 BOOTP客户端简介

4.1.1 BOOTP客户端的应用环境

4.1.2 IP地址动态获取过程

4.1.3 协议规范

4.2 配置接口通过BOOTP协议获取IP地址

4.3 BOOTP客户端显示和维护

4.4 BOOTP客户端配置举例

4.4.1 BOOTP客户端基本组网配置举例

 


1 DHCP概述

1.1  DHCP组网模型

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)采用客户端/服务器模式,由服务器为网络设备动态地分配IP地址等网络配置参数。DHCP客户端和DHCP服务器处于不同物理网段时,客户端可以通过DHCP中继与服务器通信,获取IP地址及其他配置信息。DHCP中继的详细介绍,请参见“2.1  DHCP中继简介”。

图1-1 同网段DHCP组网应用

 

1.2  DHCP的IP地址分配

1.2.1  IP地址分配策略

针对客户端的不同需求,DHCP提供三种IP地址分配策略:

·     手工分配地址:由管理员为少数特定客户端(如WWW服务器等)静态绑定固定的IP地址。通过DHCP将配置的固定IP地址分配给客户端。

·     自动分配地址:DHCP为客户端分配租期为无限长的IP地址。

·     动态分配地址:DHCP为客户端分配具有一定有效期限的IP地址,到达使用期限后,客户端需要重新申请地址。绝大多数客户端得到的都是这种动态分配的地址。

1.2.2  IP地址获取过程

图1-2 IP地址动态获取过程

 

图1-2所示,DHCP客户端从DHCP服务器获取IP地址,主要通过四个阶段进行:

(1)     发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCP-DISCOVER报文。

(2)     提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCP-DISCOVER报文后,根据IP地址分配的优先次序选出一个IP地址,与其他参数一起通过DHCP-OFFER报文发送给客户端。

(3)     选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发来DHCP-OFFER报文,客户端只接受第一个收到的DHCP-OFFER报文,然后以广播方式发送DHCP-REQUEST报文,该报文中包含DHCP服务器在DHCP-OFFER报文中分配的IP地址。

(4)     确认阶段,即DHCP服务器确认IP地址的阶段。DHCP服务器收到DHCP客户端发来的DHCP-REQUEST报文后,只有DHCP客户端选择的服务器会进行如下操作:如果确认将地址分配给该客户端,则返回DHCP-ACK报文;否则返回DHCP-NAK报文,表明地址不能分配给该客户端。

客户端收到服务器返回的DHCP-ACK确认报文后,会以广播的方式发送免费ARP报文,探测是否有主机使用服务器分配的IP地址,如果在规定的时间内未收到回应,并且客户端上不存在与该地址同网段的其他地址时,客户端才使用此地址。否则,客户端会发送DHCP-DECLINE报文给DHCP服务器,并重新申请IP地址。

如果网络中存在多个DHCP服务器,除DHCP客户端选中的服务器外,其它DHCP服务器中本次未分配出的IP地址仍可分配给其他客户端。

1.2.3  IP地址的租约更新

DHCP服务器分配给客户端的IP地址具有一定的租借期限(除自动分配的IP地址),该租借期限称为租约。当租借期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,则DHCP客户端需要申请延长IP地址租约。

在DHCP客户端的IP地址租约期限达到一半左右时间时,DHCP客户端会向为它分配IP地址的DHCP服务器单播发送DHCP-REQUEST报文,以进行IP租约的更新。如果客户端可以继续使用此IP地址,则DHCP服务器回应DHCP-ACK报文,通知DHCP客户端已经获得新IP租约;如果此IP地址不可以再分配给该客户端,则DHCP服务器回应DHCP-NAK报文,通知DHCP客户端不能获得新的租约。

如果在租约的一半左右时间进行的续约操作失败,DHCP客户端会在租约期限达到7/8时,广播发送DHCP-REQUEST报文进行续约。DHCP服务器的处理方式同上,不再赘述。

1.3  DHCP报文格式

DHCP有8种类型的报文,每种报文的格式都相同,只是某些字段的取值不同。DHCP的报文格式如图1-3所示,括号中的数字表示该字段所占的字节。

图1-3 DHCP报文格式

 

各字段的解释如下:

·     op:报文的操作类型,分为请求报文和响应报文,1为请求报文;2为响应报文。具体的报文类型在options字段中标识。

·     htype、hlen:DHCP客户端的硬件地址类型及长度。

·     hops:DHCP报文经过的DHCP中继的数目。DHCP请求报文每经过一个DHCP中继,该字段就会增加1。

·     xid:客户端发起一次请求时选择的随机数,用来标识一次地址请求过程。

·     secs:DHCP客户端开始DHCP请求后所经过的时间。目前没有使用,固定为0。

·     flags:第一个比特为广播响应标识位,用来标识DHCP服务器响应报文是采用单播还是广播方式发送,0表示采用单播方式,1表示采用广播方式。其余比特保留不用。

·     ciaddr:DHCP客户端的IP地址。如果客户端有合法和可用的IP地址,则将其添加到此字段,否则字段设置为0。此字段不用于客户端申请某个特定的IP地址。

·     yiaddr:DHCP服务器分配给客户端的IP地址。

·     siaddr:DHCP客户端获取启动配置信息的服务器IP地址。

·     giaddr:DHCP客户端发出请求报文后经过的第一个DHCP中继的IP地址。

·     chaddr:DHCP客户端的硬件地址。

·     sname:DHCP客户端获取启动配置信息的服务器名称。

·     file:DHCP服务器为DHCP客户端指定的启动配置文件名称及路径信息。

·     options:可选变长选项字段,包含报文的类型、有效租期、DNS服务器的IP地址、WINS服务器的IP地址等配置信息。

1.4  DHCP选项介绍

为了与BOOTP(Bootstrap Protocol,自举协议)兼容,DHCP保留了BOOTP的消息格式。DHCP和BOOTP消息的不同主要体现在选项(Options)字段。DHCP在BOOTP基础上增加的功能,通过Options字段来实现。

DHCP利用Options字段传递控制信息和网络配置参数,实现地址动态分配的同时,为客户端提供更加丰富的网络配置信息。

DHCP选项的格式如图1-4所示。

图1-4 DHCP选项格式

 

1.5  DHCP常用选项

常见的DHCP选项有:

·     Option 3:路由器选项,用来指定为客户端分配的网关地址。如果Option 3和Option 121同时存在,则忽略Option 3。

·     Option 6:DNS服务器选项,用来指定为客户端分配的DNS服务器地址。

·     Option 33:静态路由选项。该选项中包含一组有分类静态路由(即目的网络地址的掩码固定为自然掩码,不能划分子网),客户端收到该选项后,将在路由表中添加这些静态路由。如果Option 33和Option 121同时存在,则忽略Option 33。

·     Option 51:IP地址租约选项。

·     Option 53:DHCP消息类型选项,标识DHCP消息的类型。

·     Option 55:请求参数列表选项。客户端利用该选项指明需要从服务器获取哪些网络配置参数。该选项内容为客户端请求的参数对应的选项值。

·     Option 60:厂商标识选项。客户端利用该选项标识自己所属的厂商;DHCP服务器可以根据该选项区分客户端所属的厂商,并为其分配特定范围的IP地址。

·     Option 66:TFTP服务器名选项,用来指定为客户端分配的TFTP服务器的域名。

·     Option 67:启动文件名选项,用来指定为客户端分配的启动文件名。

·     Option 121:无分类路由选项。该选项中包含一组无分类静态路由(即目的网络地址的掩码为任意值,可以通过掩码来划分子网),客户端收到该选项后,将在路由表中添加这些静态路由。如果Option 3、Option 33和Option 121同时存在,则忽略Option 3和Option 33。

·     Option 150:TFTP服务器地址选项,用来指定为客户端分配的TFTP服务器的地址。

更多DHCP选项的介绍,请参见RFC 2132和RFC 3442。

1.6  自定义DHCP选项

有些选项的内容,RFC 2132中没有统一规定,例如Option 43、Option 82和Option 184。下面将介绍设备上定义的几种选项。

1.6.1  厂商特定信息选项(Option 43

1. Option 43的作用

Option 43称为厂商特定信息选项。DHCP服务器和DHCP客户端通过Option 43交换厂商特定的信息。

设备作为DHCP客户端时,可以通过Option 43获取:

·     ACS(Auto-Configuration Server,自动配置服务器)的参数,包括URL地址、用户名和密码。

·     服务提供商标识,CPE(Customer Premises Equipment,用户侧设备)从DHCP服务器获取该信息后,将该信息通告给ACS,以便ACS选择服务提供商特有的配置和参数等。

·     PXE(Preboot eXecution Environment,预启动执行环境)引导服务器地址,以便客户端从PXE引导服务器获取启动文件或其他控制信息。

·     在无线网络中,AP(Access Point,接入点)作为DHCP客户端,可以通过Option 43获取AC(Access Controller,接入控制器)地址,以便AP从AC获取启动文件或其他控制信息。

2. Option 43格式

图1-5 Option 43格式

 

为了提供可扩展性,通过Option 43为客户端分配更多的信息,Option 43采用子选项的形式,通过不同的子选项为用户分配不同的网络配置参数。如图1-5所示。子选项中各字段的含义为:

·     Sub-option type:子选项类型。目前,子选项类型值可以为0x01表示ACS参数子选项,0x02表示服务提供商标识子选项,0x80表示PXE引导服务器地址子选项。

·     Sub-option length:子选项的长度,不包括子选项类型和子选项长度字段。

·     Sub-option value:子选项的取值。不同类型的子选项,取值格式有所不同。

3. Option 43子选项取值字段的格式

·     ACS参数子选项的取值字段格式如图1-6所示。ACS的URL地址、用户名和密码长度可变,每个参数之间用空格(十六进制数为20)隔开。

图1-6 ACS参数子选项取值字段的格式

 

·     服务提供商标识子选项的取值字段内容为服务提供商的标识。

·     PXE引导服务器地址子选项的取值字段格式如图1-7所示。其中,PXE服务器类型目前取值只能为0;Server number为子选项中包含的PXE服务器地址的数目;Server IP addresses为PXE服务器的IP地址。

图1-7 PXE引导服务器地址子选项取值字段的格式

 

1.6.2  中继代理信息选项(Option 82

Option 82称为中继代理信息选项,该选项记录了DHCP客户端的位置信息。DHCP中继或DHCP Snooping设备接收到DHCP客户端发送给DHCP服务器的请求报文后,在该报文中添加Option 82,并转发给DHCP服务器。

管理员可以从Option 82中获得DHCP客户端的位置信息,以便定位DHCP客户端,实现对客户端的安全和计费等控制。支持Option 82的服务器还可以根据该选项的信息制定IP地址和其他参数的分配策略,提供更加灵活的地址分配方案。

Option 82最多可以包含255个子选项。若定义了Option 82,则至少要定义一个子选项。目前设备只支持两个子选项:sub-option 1(Circuit ID,电路ID子选项)和sub-option 2(Remote ID,远程ID子选项)。

由于Option 82的内容没有统一规定,不同厂商通常根据需要进行填充。

设备上,Circuit ID的填充模式有以下几种:

·     采用string模式填充:sub-option 1的内容是用户配置的字符串。

·     采用normal模式填充:sub-option 1的内容是接收到DHCP客户端请求报文的接口所属的VLAN ID以及接口编号。

·     采用verbose模式填充:sub-option 1的内容包括用户配置的接入节点标识,接收到DHCP客户端请求报文的接口类型、接口编号和接口所属的VLAN ID。

Remote ID的填充模式有以下几种:

·     采用string模式填充:sub-option 2的内容是用户配置的字符串。

·     采用normal模式填充:sub-option 2的内容是接收到DHCP客户端请求报文的接口MAC地址(DHCP中继)或设备的桥MAC地址(DHCP Snooping)。

·     采用sysname模式填充:sub-option 2的内容是设备的系统名称。设备的系统名称可以通过系统视图下的sysname命令配置。

1.6.3  Option 184

Option 184是RFC中规定的保留选项,用户可以自定义该选项中携带的信息。设备上,Option 184携带了语音呼叫所需的信息。通过Option 184,可以实现在为具有语音功能的DHCP客户端提供语音呼叫相关信息。

目前Option 184支持四个子选项,承载的内容如下:

·     sub-option 1:网络呼叫处理器的IP地址,用来标识作为网络呼叫控制源及应用程序下载的服务器。只有定义了sub-option 1(网络呼叫处理器的IP地址子选项),其他子选项才能生效。

·     sub-option 2:备用服务器的IP地址,当sub-option 1中携带的网络呼叫处理器不可达或不合法时,DHCP客户端使用该选项指定的备用服务器作为网络呼叫处理器。

·     sub-option 3:语音VLAN信息,指定语音VLAN的ID及DHCP客户端是否会将所指定的VLAN作为语音VLAN。

·     sub-option 4:自动故障转移呼叫路由,指定故障转移呼叫路由的IP地址及其关联的拨号串,即SIP(Session Initiation Protocol,会话初始协议)用户之间互相通信时对端的IP地址和呼叫号码。当网络呼叫处理器和备用服务器均不可达时,SIP用户可以使用对端IP地址及呼叫号码直接与对端SIP用户建立连接并通信。

1.7  协议规范

与DHCP相关的协议规范有:

·     RFC 2131:Dynamic Host Configuration Protocol

·     RFC 2132:DHCP Options and BOOTP Vendor Extensions

·     RFC 1542:Clarifications and Extensions for the Bootstrap Protocol

·     RFC 3046:DHCP Relay Agent Information Option

·     RFC 3442:The Classless Static Route Option for Dynamic Host Configuration Protocol (DHCP) version 4


2 DHCP中继

2.1  DHCP中继简介

DHCP客户端和DHCP服务器处于不同物理网段时,客户端可以通过DHCP中继与DHCP服务器通信,获取IP地址及其他配置信息。

图2-1是DHCP中继的典型应用示意图。

图2-1 DHCP中继的典型组网应用

 

2.1.1  DHCP中继的基本原理

通过DHCP中继完成动态配置的过程中,DHCP客户端与DHCP服务器的处理方式与不通过DHCP中继时的处理方式基本相同。下面只说明DHCP中继的转发过程,报文的具体交互过程请参见“1.2.2  IP地址获取过程”。

图2-2 DHCP中继的工作过程

 

图2-2所示,DHCP中继的工作过程为:

(1)     具有DHCP中继功能的网络设备收到DHCP客户端以广播方式发送的DHCP-DISCOVER或DHCP-REQUEST报文后,将报文中的giaddr字段填充为DHCP中继的IP地址,并根据配置将报文单播转发给指定的DHCP服务器。

(2)     DHCP服务器根据giaddr字段为客户端分配IP地址等参数,并通过DHCP中继将配置信息转发给客户端,完成对客户端的动态配置。

2.1.2  DHCP中继支持Option 82功能

Option 82记录了DHCP客户端的位置信息。管理员可以利用该选项定位DHCP客户端,实现根据Option 82为客户端分配特定范围的地址、对客户端进行安全和计费等控制。Option 82的详细介绍请参见“1.6.2  中继代理信息选项(Option 82)”。

如果DHCP中继支持Option 82功能,则当DHCP中继接收到DHCP请求报文后,将根据报文中是否包含Option 82以及用户配置的处理策略及填充模式等对报文进行相应的处理,并将处理后的报文转发给DHCP服务器。具体的处理方式见表2-1

如果DHCP中继收到的应答报文中带有Option 82,则会将Option 82删除后再转发给DHCP客户端。

表2-1 DHCP中继支持Option 82的处理方式

收到DHCP请求报文

处理策略

DHCP中继对报文的处理

收到的报文中带有Option 82

Drop

丢弃报文

Keep

保持报文中的Option 82不变并进行转发

Replace

根据DHCP中继上配置的填充模式、内容、格式等填充Option 82,替换报文中原有的Option 82并进行转发

收到的报文中不带有Option 82

-

根据DHCP中继上配置的填充模式、内容、格式等填充Option 82,添加到报文中并进行转发

 

2.1.3  DHCP中继支持MCE

设备作为MCE(Multi-VPN-instance Customer Edge,多VPN实例用户网络边界设备)时,在设备上配置DHCP中继功能,不仅可以为公网上的DHCP服务器和DHCP客户端转发DHCP报文,还可以实现为私网内的DHCP服务器和DHCP客户端转发DHCP报文。MCE的详细介绍,请参见“MPLS配置指导”中的“MCE”。

2.1.4  DHCP中继支持共享地址池

共享地址池是DHCP中继组网中,一种解决客户端无法从与giaddr同网段地址池获取可用IP地址的情况下,当服务器从其它地址池选择了一个与giaddr不同网段的IP地址下发时,允许中继分配给客户端的策略。这种共享地址池的配置方案可以确保客户端能够获取到有效的IP地址,并保证网络连接的稳定性。

DHCP中继上配置了dhcp-server remote-ip-check bypass命令的地址池互为共享池。

2.2  DHCP中继配置限制和指导

在DHCP中继组网环境中,DHCP服务器如果通过非授权地址池方式为DHCP客户端分配地址,则DHCP中继的用户上线口必须配置IP地址。若接口存在主IP,则主IP必须与地址池内的地址网段同网段;若接口无主IP,则首个从IP地址必须与地址池内的地址网段同网段。

DHCP中继组网环境中,当用户通过非接入方式上线后,如果此时在DHCP中继上更改用户上线方式为接入类型,则用户无法主动下线,只有在DHCP服务器上清除用户IP地址绑定信息才能删除用户。

2.3  DHCP中继配置任务简介

DHCP中继配置任务如下:

(1)     开启DHCP服务

(2)     配置接口工作在DHCP中继模式

(3)     指定DHCP服务器的地址

(4)     (可选)配置DHCP中继的安全功能

(5)     (可选)配置高级功能

¡     配置通过DHCP中继释放客户端的IP地址

¡     配置DHCP中继支持Option 82功能

¡     配置跳过检查远端IP地址与网关地址是否属于同网段

¡     配置DHCP中继发送DHCP报文的DSCP优先级

¡     配置DHCP中继在DHCP报文中填充的中继地址

¡     指定DHCP中继向DHCP服务器转发报文的源地址

¡     开启DHCP中继单播转发DHCP应答报文功能

¡     配置DHCP中继通过Option82信息转发DHCP应答报文

¡     配置DHCP中继允许从同一个DHCP服务器接收DHCP-NAK报文的最大个数

¡     配置当为新DHCP客户端分配的地址和已在线DHCP客户端的IP地址发生冲突时,释放已在线DHCP客户端的IP地址

¡     配置DHCP中继收到物理位置发生变化、MAC地址不变的上线用户发送的DHCP请求的处理方式

¡     开启非首跳DHCP中继功能

¡     配置DHCP中继收到应答DHCP-DISCOVER报文的DHCP-NAK报文后,切换到向下一个远端DHCP地址池对应的服务器转发报文的条件

2.4  开启DHCP服务

1. 配置限制和指导

只有开启DHCP服务后,其它相关的DHCP中继配置才能生效。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启DHCP服务。

dhcp enable

缺省情况下,DHCP服务处于关闭状态。

2.5  配置接口工作在DHCP中继模式

1. 功能简介

配置接口工作在中继模式后,当接口收到DHCP客户端发来的DHCP报文时,会将报文转发给DHCP服务器,由服务器分配地址。

DHCP客户端通过DHCP中继获取IP地址时,DHCP服务器上需要配置与DHCP中继连接DHCP客户端的接口IP地址所在网段(网络号和掩码)匹配的地址池,否则会导致DHCP客户端无法获得正确的IP地址。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置接口工作在DHCP中继模式。

dhcp select relay

缺省情况下,开启DHCP服务后,接口工作在DHCP服务器模式。

2.6  指定DHCP服务器的地址

2.6.1  指定DHCP中继对应的DHCP服务器地址

1. 功能简介

为了提高可靠性,可以在一个网络中设置多个DHCP服务器。DHCP中继上配置多个DHCP服务器后,DHCP中继会将客户端发来的DHCP报文转发给所有的服务器。

2. 配置限制和指导

指定的DHCP服务器的IP地址不能与DHCP中继的接口IP地址在同一网段。否则,可能导致客户端无法获得IP地址。

当DHCP服务器同时配置了主、从IP地址时,不支持指定DHCP中继对应的DHCP服务器地址为DHCP服务器的从IP地址。

如果指定了vpn-instance参数,则DHCP中继根据配置的DHCP服务器地址对应的VPN信息,向该VPN内的DHCP服务器转发报文。如果未指定publicvpn-instance vpn-instance-name参数,则以当前DHCP客户端位置(公网或VPN)为准。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     指定DHCP中继对应的DHCP服务器地址。

dhcp relay server-address ip-address[ public | vpn-instance vpn-instance-name ]

缺省情况下,未指定DHCP服务器的地址。

通过多次执行dhcp relay server-address命令可以指定多个DHCP服务器,一个接口下最多可以指定8个DHCP服务器。

2.6.2  指定远端BAS IP地址池对应的DHCP服务器地址

1. 功能简介

对于某些特定的用户接入方式(如IPoE接入方式),基于用户接入位置信息的不同,网络中存在大量不同类型的用户。为了使相同类型的用户可以从指定的DHCP服务器申请IP地址等网络参数,IPoE模块根据用户注册信息,使不同的用户选择不同的远端BAS IP地址池,并从远端BAS IP地址池下配置的DHCP服务器获取IP地址等网络参数。

为了提高可靠性,一个远端BAS IP地址池下配置多个DHCP服务器地址,当DHCP客户端匹配该远端BAS IP地址池后,DHCP中继会将DHCP客户端发来的DHCP报文转发给该地址池对应所有的DHCP服务器。

一台DHCP中继的一个接口下可能连接不同类型的用户,当DHCP中继转发DHCP客户端请求报文给DHCP服务器时,不能再以中继接口的IP地址作为选择地址池的依据。为了解决这个问题,需要使用gateway命令指定IP地址池的网关IP地址和网络掩码,并将该地址添加到转发给DHCP服务器的报文字段中,为DHCP服务器选择地址池提供依据。

2. 配置限制和指导

和IPoE或PPPoE配合使用时,如果设备的地址池中配置了remote-server命令,则可以认定该设备一定是DHCP中继设备,所以不需要在接口视图下执行dhcp select relay命令。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     创建远端BAS IP地址池,并进入远端BAS IP地址池视图。

ip pool pool-name bas remote

(3)     指定匹配该地址池的网关IP地址和网络掩码。

gateway ip-address { mask mask | mask-len }

缺省情况下,未配置IP地址池的网关IP地址和网络掩码。

(4)     指定远端BAS IP地址池对应的DHCP服务器地址。

remote-server ip-address&<1-8>

缺省情况下,未指定远端BAS IP地址池对应的DHCP服务器的地址。

通过执行remote-server命令一次最多可以指定8个DHCP服务器的地址信息。

2.6.3  配置DHCP中继选择DHCP服务器方式

1. 功能简介

一般来说,DHCP中继是向所有DHCP服务器转发DHCP请求报文(即polling方式),且DHCP客户端会选择最快收到DHCP应答报文。如果用户想指定一台DHCP服务器作为主用DHCP服务器,其他DHCP服务器只在主用DHCP服务器不可用或没有空闲地址时才起作用,就需要DHCP中继支持优先选择用户期望的DHCP服务器作为主用DHCP服务器的功能。

当DHCP中继使用主备方式选择DHCP服务器后,会优先向配置的第一个DHCP服务器地址转发DHCP请求报文。当该DHCP服务器确定无法分配IP地址时,DHCP中继将之后的DHCP请求报文向下一个DHCP服务器地址转发。如果DHCP中继已切换到配置的最后一个DHCP服务器地址且发现该DHCP服务器仍不可用,则重新选择第一个配置的DHCP服务器地址进入下一个循环。

主备方式有两种配置方法:

·     对于普通组网,用户可以在DHCP中继接口上指定多个DHCP服务器地址。这样当配置DHCP中继主备方式选择DHCP服务器时,配置的第一个地址对应的DHCP服务器为主用DHCP服务器,之后配置的地址对应的DHCP服务器为备用DHCP服务器。

·     对于某些用户接入方式(如IPoE方式),用户必须配置远端BAS IP地址池,并指定多个DHCP服务器地址。这样当配置DHCP中继主备方式选择DHCP服务器时,配置的第一个地址对应的DHCP服务器为主用DHCP服务器,之后配置的地址对应的DHCP服务器为备用DHCP服务器。

此外,本特性还支持配置以下功能:

·     配置DHCP服务器应答超时切换时间,缺省应答超时切换时间为30秒。当DHCP中继向DHCP服务器转发DHCP请求报文,如果超过配置的应答超时切换时间后还未收到该DHCP服务器的应答报文,则DHCP中继认为该DHCP服务器已不可用,并切换到下一个DHCP服务器。

·     配置回切主用DHCP服务器并指定回切延迟时间,缺省DHCP中继是不回切的。当用户在DHCP中继配置了回切主用DHCP服务器延迟时间且当前生效的不是主用DHCP服务器时,经过该回切延迟时间后,DHCP服务器会将DHCP请求报文转发到主用DHCP服务器。如果主用DHCP服务器不可用或没有空闲地址时则重新使用当前生效的DHCP服务器;如果主用DHCP服务器可用则继续使用主用DHCP服务器。

2. 配置DHCP中继选择DHCP服务器方式(接口视图)

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置DHCP中继选择DHCP服务器方式。

dhcp relay server-address algorithm { master-backup | polling }

缺省情况下,DHCP中继同时向所有DHCP服务器转发DHCP请求报文(polling方式)。

(4)     (可选)配置DHCP服务器应答超时切换时间。

dhcp relay dhcp-server timeout time

缺省情况下,DHCP服务器应答超时切换时间为30秒。

(5)     (可选)配置回切主用DHCP服务器并指定回切延迟时间。

dhcp relay master-server switch-delay delay-time

缺省情况下,DHCP中继不回切到主用DHCP服务器。

3. 配置DHCP中继选择DHCP服务器方式(远端BAS IP地址池视图)

(1)     进入系统视图。

system-view

(2)     进入远端BAS IP地址池视图。

ip pool pool-name bas remote

(3)     配置DHCP中继选择DHCP服务器方式。

remote-server algorithm { master-backup | polling }

缺省情况下,DHCP中继同时向所有DHCP服务器转发DHCP请求报文(polling方式)。

(4)     (可选)配置DHCP服务器应答超时切换时间。

dhcp-server timeout time

缺省情况下,DHCP服务器应答超时切换时间为30秒。

(5)     (可选)配置回切主用DHCP服务器并指定回切延迟时间。

master-server switch-delay delay-time

缺省情况下,DHCP中继不回切到主用DHCP服务器。

2.6.4  配置DHCP服务器可用性探测功能

1. 功能简介

本功能只适用于IP地址池组中的远端BAS IP地址池选择DHCP服务器的组网环境。

配置本功能后,当DHCP中继向DHCP服务器转发第一个DHCP请求报文时,开始对请求报文进行计数,并开始计时。DHCP中继会在每次转发请求报文时重新开始timeout计时,每经过一个timeout时长后,DHCP中继都会检查向DHCP服务器转发的报文数。

当DHCP中继选择DHCP服务器方式不同时,DHCP中继探测DHCP服务器可用性的机制不同:

·     DHCP中继选择DHCP服务器方式为master-backup时,机制如下:

¡     DHCP中继向选中的远端DHCP服务器转发第一个DHCP请求报文时,启动timeout计时器。timeout时长为DHCP中继为该DHCP服务器配置的timeout值。

¡     如果中继发送请求报文后在timeout内收到应答报文,则中继将请求报文计数清零,同时关闭timeout计时器。再次发送请求报文时,中继会重新进行报文计数,并重新开始timeout计时。

¡     如果中继向服务器转发的请求报文数不多于dead-count-value未收到一个应答报文,则请求报文数继续累计。

¡     如果中继向服务器转发的请求报文数多于dead-count-value却仍未收到一个应答报文,则中继认为该DHCP服务器不可用或没有空闲地址。后续DHCP中继收到请求报文后,会选择其他可用的远端服务器转发请求报文。如果所有的远端DHCP服务器均不可用,DHCP中继收到请求报文后,会向所有的远端DHCP服务器转发DHCP请求报文,但是不会启动timeout计时器。

¡     当DHCP中继在转发了用户续约报文后连续收到DHCP服务器应答的nak-count个DHCP-NAK报文后,也会认为该DHCP服务器不可用或没有空闲地址。

·     DHCP中继选择DHCP服务器方式为polling时,机制如下:

¡     DHCP中继向所有可用的远端DHCP服务器转发第一个DHCP请求报文时,启动timeout计时器。计时器的时长选取所有可用的DHCP服务器中timeout的最大值,且仅通过该条timeout配置中指定的DHCP服务器判断可用性

¡     如果在timeout内收到应答报文,且报文中包含可用的地址,中继会清除报文计数,关闭timeout计时器。再次发送请求时,DHCP中继会重新进行报文计数,并重新开始timeout计时。

¡     如果在timeout内收到地址分配失败的应答报文,DHCP中继认为该远端DHCP服务器不可用。同时,timeout计时器继续计时,DHCP中继继续报文计数。

¡     如果DHCP中继向远端DHCP服务器转发了不多于dead-count-value个请求报文,且未收到一个应答报文,则DHCP中继会在下次转发报文时重新开始计时,并继续报文计数。

¡     如果DHCP中继向远端服务器转发了多于dead-count-value个请求报文,却仍未收到一个应答报文,则认为所有的远端服务器不可用。这种情况下,如果DHCP中继收到一个请求报文,会向所有的远端DHCP服务器转发DHCP请求报文,但是不会启动timeout计时器。

当DHCP中继认为DHCP服务器不可用后:

·     在dead-time时长内,该DHCP服务器处于不可用状态。如果在dead-time时长内匹配到该DHCP服务器时,则不会向其转发DHCP请求报文。经过dead-time时长后,DHCP中继会重新认为该DHCP服务器可用。当再次匹配到该DHCP服务器时,会向其转发DHCP请求报文。

·     当DHCP中继认为所有DHCP服务器都不可用后,如果DHCP中继收到一个请求报文,则远端BAS IP地址池会重新认为所有的DHCP服务器可用,并重新开始向第一个DHCP服务器转发报文。

2. 配置限制和指导

对于将DHCP中继选择DHCP服务器方式配置成polling方式的远端BAS IP地址池:

·     如果远端BAS IP地址池下各个DHCP服务器配置的可用判断条件不同,则中继会选择timeout最大的那条可用性配置,且仅通过该条配置指定的DHCP服务器判断可用性。如果该DHCP服务器不可用,则该远端BAS IP地址池下的所有DHCP服务器均置为不可用。

·     如果存在不同DHCP服务器配置了相同的最大timeout,则选择最先下发配置的DHCP服务器

对于同一台DHCP服务器来说,DHCP中继优先使用指定判断条件;如果指定判断条件不存在,则使用共用判断条件。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置DHCP服务器可用性探测功能。

dhcp server [ ip-address [ vpn-instance vpn-instance-name ] ] { dead-count dead-count-value | dead-time dead-time | nak-count nak-count-value | timeout timeout } *

缺省情况下,DHCP中继在25秒还未收到DHCP服务器应答,则DHCP中继认为该DHCP服务器不可用。

2.7  配置DHCP中继的安全功能

2.7.1  配置DHCP中继用户地址表项记录功能

1. 功能简介

为了防止非法主机静态配置一个IP地址并访问外部网络,设备支持DHCP中继用户地址表项记录功能。

开启该功能后,当客户端通过DHCP中继从DHCP服务器获取到IP地址时,DHCP中继可以自动记录客户端IP地址与硬件地址的绑定关系,生成DHCP中继的用户地址表项。

本功能与其他IP地址安全功能(如ARP地址检查、授权ARP)配合,可以实现只允许匹配用户地址表项中绑定关系的报文通过DHCP中继。从而,保证非法主机不能通过DHCP中继与外部网络通信。

2. 配置限制和指导

对于广域网接入类型(如IPoE和PPPoE)的用户,本命令不生效:

·     当接入用户通过配置了授权地址池的DHCP中继上线时,DHCP中继无法记录用户地址表项。

·     当接入用户通过未配置授权地址池的DHCP中继上线时,DHCP中继用户地址表项记录功能自动开启且无法关闭,DHCP中继会一直记录此类接入用户的地址表项。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启DHCP中继的用户地址表项记录功能。

dhcp relay client-information record

缺省情况下,DHCP中继用户地址表项记录功能处于关闭状态。

2.7.2  配置DHCP中继动态用户地址表项定时刷新功能

1. 功能简介

DHCP客户端释放动态获取的IP地址时,会向DHCP服务器单播发送DHCP-RELEASE报文,DHCP中继不会处理该报文的内容。如果此时DHCP中继上记录了该IP地址与MAC地址的绑定关系,则会造成DHCP中继的用户地址表项无法实时刷新。为了解决这个问题,DHCP中继支持动态用户地址表项的定时刷新功能。

DHCP中继动态用户地址表项定时刷新功能开启时,DHCP中继每隔指定时间采用客户端获取到的IP地址和DHCP中继接口的MAC地址向DHCP服务器发送DHCP-REQUEST报文:

·     如果DHCP中继接收到DHCP服务器响应的DHCP-ACK报文或在指定时间内未接收到DHCP服务器的响应报文,则表明这个IP地址已经可以进行分配,DHCP中继会删除动态用户地址表中对应的表项。为了避免地址浪费,DHCP中继收到DHCP-ACK报文后,会发送DHCP-RELEASE报文释放申请到的IP地址。

·     如果DHCP中继接收到DHCP服务器响应的DHCP-NAK报文,则表示该IP地址的租约仍然存在,DHCP中继不会删除该IP地址对应的表项。

2. 配置限制和指导

对于广域网接入类型(如IPoE和PPPoE)的用户,不受本功能限制。这类用户通过未配置授权地址池的DHCP中继上线时,DHCP中继记录的用户地址表项会根据租约自动老化,当租约到期后会同步删除DHCP中继上对应的用户地址表项。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启DHCP中继动态用户地址表项定时刷新功能。

dhcp relay client-information refresh enable

缺省情况下,DHCP中继动态用户地址表项定时刷新功能处于开启状态。

(3)     (可选)配置DHCP中继动态用户地址表项的定时刷新周期。

dhcp relay client-information refresh { auto | interval interval }

缺省情况下,定时刷新周期为auto,即根据表项的数目自动计算刷新时间间隔。

2.7.3  配置清除用户表项时通知DHCP服务器释放租约

1. 功能简介

如果未配置本功能,当删除DHCP中继用户表项时(如执行reset dhcp relay client-information命令)只会删除DHCP中继上保存的用户表项信息,不会通知服务器释放租约,容易造成地址资源浪费。

配置本功能后,删除DHCP中继用户表项时,DHCP中继会主动向DHCP服务器发送释放该表项对应IP租约的Release报文。DHCP服务器收到该报文后,会将该租约状态从已分配转化为过期。

2. 配置限制和指导

对于PPPoE用户,当通过cut access-user命令强制用户下线时,本功能不生效,DHCP中继始终会通知服务器释放租约。cut access-user命令的详细介绍请参见“安全命令参考”中的“UCM”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置清除用户表项时通知DHCP服务器释放租约。

dhcp relay release-agent

缺省情况下,清除用户表项时会通知DHCP服务器释放租约。

2.7.4  配置防止DHCP饿死攻击

1. 功能简介

DHCP饿死攻击是指攻击者伪造chaddr字段各不相同的DHCP请求报文,向DHCP服务器申请大量的IP地址,导致DHCP服务器地址池中的地址耗尽,无法为合法的DHCP客户端分配IP地址,或导致DHCP服务器消耗过多的系统资源,无法处理正常业务。

如果封装DHCP请求报文的数据帧的源MAC地址各不相同,则限制三层接口上可以学习到的ARP表项数,或限制二层端口上可以学习到的MAC地址数,并配置学习到的MAC地址数达到最大值时,丢弃源MAC地址不在MAC地址表里的报文,能够避免攻击者申请过多的IP地址,在一定程度上缓解DHCP饿死攻击。

如果封装DHCP请求报文的数据帧的源MAC地址都相同,则通过上述方法无法防止DHCP饿死攻击。在这种情况下,需要开启DHCP中继的MAC地址检查功能。开启该功能后,DHCP中继检查接收到的DHCP请求报文中的chaddr字段和数据帧的源MAC地址字段是否一致。如果一致,则认为该报文合法,将其转发给DHCP服务器;如果不一致,则丢弃该报文。

因为DHCP中继转发DHCP报文时会修改报文的源MAC地址,所以只能在靠近DHCP客户端的第一跳DHCP中继设备上开启MAC地址检查功能。

设备支持配置DHCP中继的MAC地址检查表项老化时间,当老化时间到达以后,该表项信息会被老化掉,DHCP中继收到该MAC地址对应的DHCP请求报文后重新进行合法性检查。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置DHCP中继的MAC地址检查表项的老化时间。

dhcp relay check mac-address aging-time time

缺省情况下,DHCP中继的MAC地址检查表项的老化时间为30秒。

如果未通过dhcp relay check mac-address命令开启DHCP中继的MAC地址检查功能,则本命令的配置不会生效。

(3)     进入接口视图。

interface interface-type interface-number

(4)     开启DHCP中继的MAC地址检查功能。

dhcp relay check mac-address

缺省情况下,DHCP中继的MAC地址检查功能处于关闭状态。

2.7.5  配置DHCP中继支持代理功能

1. 功能简介

设备可以通过配置DHCP中继支持代理功能,来防止非法用户攻击DHCP服务器。

开启该功能后,DHCP中继收到DHCP服务器的应答报文,会把报文中的DHCP服务器地址修改为中继的报文出接口或giaddr字段的地址,并转发给DHCP客户端。当DHCP客户端通过DHCP中继从DHCP服务器获取到IP地址等网络参数后,DHCP客户端会把DHCP中继当做自己的服务器,来进行后续的DHCP功能的报文交互。从而达到了把真正的DHCP服务器和DHCP客户端隔离开,保护DHCP服务器的目的。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置DHCP中继支持代理功能。

dhcp-proxy enable

缺省情况下,开启DHCP服务后,接口工作在DHCP服务器模式。

2.7.6  配置DHCP中继的用户下线探测功能

1. 功能简介

DHCP中继的用户下线探测功能以ARP表项老化功能为基础,当ARP表项老化时认为该表项对应的用户已经下线。

如果在接口上配置了DHCP中继的用户下线检测功能,则当ARP表项老化时,DHCP中继认为该表项对应的用户已经下线,删除对应的用户地址表项,并通过发送Release报文通知DHCP服务器删除下线用户的IP地址租约。

2. 配置限制和指导

手工删除ARP表项,不会触发DHCP中继删除对应的用户地址表项。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启DHCP中继的用户地址表项记录功能。

dhcp relay client-information record

缺省情况下,DHCP中继用户地址表项记录功能处于关闭状态。

用户需要开启DHCP中继用户地址表项记录功能,否则用户下线探测功能无法完全生效。

(3)     进入接口视图。

interface interface-type interface-number

(4)     配置接口工作在DHCP中继模式。

dhcp select relay

缺省情况下,开启DHCP服务后,接口工作在DHCP服务器模式。

(5)     开启DHCP中继的用户下线探测功能。

dhcp client-detect

缺省情况下,DHCP中继的用户下线探测功能处于关闭状态。

2.8  配置通过DHCP中继释放客户端的IP地址

1. 功能简介

在某些情况下,可能需要通过DHCP中继手工释放客户端申请到的IP地址。如果DHCP中继上存在客户端IP地址对应的动态用户地址表项,则配置通过DHCP中继释放该客户端IP地址后,DHCP中继会主动向DHCP服务器发送DHCP-RELEASE报文。DHCP服务器收到该报文后,将会释放指定IP地址的租约。DHCP中继也会删除该动态用户地址表项。

释放的客户端IP地址必须是动态用户地址表项中存在的IP地址,否则DHCP中继无法释放该IP地址。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     向DHCP服务器请求释放客户端申请到的IP地址。

dhcp relay release ip ip-address [ vpn-instance vpn-instance-name ]

2.9  配置DHCP中继支持Option 82功能

1. 配置限制和指导

为使Option 82功能正常使用,需要在DHCP服务器和DHCP中继上都进行相应配置。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     开启DHCP中继支持Option 82功能。

dhcp relay information enable

缺省情况下,DHCP中继支持Option 82功能处于关闭状态。

(4)     (可选)配置DHCP中继对包含Option 82的请求报文的处理策略。

dhcp relay information strategy { drop | keep | replace }

缺省情况下,处理策略为replace

DHCP中继对包含Option 82请求报文的处理策略为replace时,需要配置Option 82的填充模式和填充格式;处理策略为keepdrop时,不需要配置Option 82的填充模式和填充格式。

(5)     (可选)配置Circuit ID子选项的填充模式和填充格式。

dhcp relay information circuit-id { bas [ sub-interface-vlan ] [ with-vxlan ] | string circuit-id | { normal | verbose [ node-identifier { mac | sysname | user-defined node-identifier } ] [ interface [ vlan-in-vlan ] ] } [ sub-interface-vlan ] [ format { ascii | hex } ] }

缺省情况下,Circuit ID子选项的填充模式为Normal,填充格式为hex。

如果以设备的系统名称(sysname)作为节点标识填充DHCP报文的Option 82,则系统名称中不能包含空格;否则,DHCP中继添加或替换Option 82失败。

(6)     (可选)配置Remote ID子选项的填充模式和填充格式。

dhcp relay information remote-id { normal [ format { ascii | hex } ] | string remote-id | sysname }

缺省情况下,Remote ID子选项的填充模式为Normal;填充格式为hex。

2.10  配置跳过检查远端IP地址与网关地址是否属于同网段

1. 功能简介

普通DHCP中继组网环境中,缺省情况下,当DHCP中继收到服务器给客户端分配的IP地址时,会检查分配的IP地址是否与中继地址池网关地址属于同一网段,如果不属于同一网段,则用户不能通过该地址上线。

但在共享地址池应用场景下,当服务器中与网关地址同网段的地址池中无空闲地址分配时,服务器会从共享地址池中为用户分配地址。如果该地址与网关地址非同网段,则将导致用户无法通过该地址上线。为了保证用户能使用与网关非同网段的地址上线,需要配置跳过检查远端IP地址与网关地址是否属于同网段。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入中继地址池视图。

ip pool pool-name [ bas remote ]

(3)     配置跳过检查远端IP地址与网关地址是否属于同网段。

dhcp-server remote-ip-check bypass

中继收到服务器分配的IP地址后,会检查其与中继地址池网关地址是否属于同网段。如果非同网段,则用户上线失败。

 

2.11  配置DHCP中继发送DHCP报文的DSCP优先级

1. 功能简介

DSCP优先级用来体现报文自身的优先等级,决定报文传输的优先程度。通过本配置可以指定DHCP中继发送的DHCP报文的DSCP优先级。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置DHCP中继发送DHCP报文的DSCP优先级。

dhcp dscp dscp-value

缺省情况下,DHCP中继发送的DHCP报文的DSCP优先级为56。

2.12  配置DHCP中继在DHCP报文中填充的中继地址

2.12.1  手工指定在DHCP报文中填充的中继地址

1. 功能简介

当未开启该功能时,DHCP中继收到DHCP客户端的请求报文后,只能将接口的主IP地址添加到报文中,然后转发给DHCP服务器。对于某些特定需求,DHCP中继需要添加指定的地址到报文中,这时就需要配置此功能。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     手工指定在DHCP报文中填充的中继地址。

dhcp relay gateway ip-address

缺省情况下,DHCP中继填充的中继地址是接口下的主IP地址。

2.12.2  通过smart-relay功能指定DHCP报文中填充的中继地址

1. 功能简介

当DHCP中继收到DHCP客户端发来的请求报文时,会使用中继接口的主IP地址填充请求报文的giaddr字段,然后转发给DHCP服务器,DHCP服务器根据giaddr字段中的地址选择合适的地址池为客户端分配IP地址。当DHCP服务器中该网段地址分配完毕后,不管DHCP服务器上是否存在其他网段的地址,都不会再为该DHCP中继下的其他DHCP客户端分配IP地址。

DHCP中继通过smart-relay解决上述问题,开启该功能后,DHCP中继可以使用除中继接口主地址外的其他IP地址来填充giaddr字段,从而使DHCP客户端可以获取到其他网段的IP地址。

DHCP中继转发3次DHCP-DISCOVER报文后,若还未收到DHCP服务器的应答报文,DHCP中继将使用下一个可用IP地址来填充DHCP-DISCOVER报文的giaddr字段。DHCP中继使用所有配置的IP地址填充giaddr字段之后,将重新选择第一个配置的IP地址进入下一个循环。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启DHCP中继支持smart-relay功能。

dhcp smart-relay enable

缺省情况下,DHCP中继支持smart-relay功能处于关闭状态。

2.13  指定DHCP中继向DHCP服务器转发报文的源地址

2.13.1  功能简介

缺省情况下,DHCP中继向DHCP服务器转发报文的源地址与DHCP中继连接服务器的接口VPN和DHCP服务器所属的VPN有关,DHCP服务器所属的VPN判断如下:

·     通过dhcp relay server-address命令指定DHCP服务器地址时,如果未指定publicvpn-instance参数时,则DHCP服务器所属的VPN与客户端VPN(配置中继模式的接口VPN)一致

·     通过dhcp relay server-address命令指定DHCP服务器地址时,如果指定了publicvpn-instance参数时,则DHCP服务器属于公网或者配置的VPN。

确定DHCP服务器所属的VPN后,DHCP中继向DHCP服务器转发报文的源地址选择如下:

·     当DHCP中继连接服务器的接口和DHCP服务器属于同一个VPN时,将DHCP中继向DHCP服务器转发报文出接口的地址作为报文源地址(如图2-3所示,即接口B的IP地址)。

图2-3 DHCP中继连接服务器的接口和DHCP服务器属于同一个VPN

 

·     当DHCP中继连接服务器的接口和DHCP服务器不属于同一个VPN时,DHCP中继会选择一个中继上和DHCP服务器同VPN的最小地址作为报文源地址(如图2-4所示,即接口C的IP地址;若同VPN下存在多个IP地址,则选择最小地址)。

图2-4 DHCP中继连接服务器的接口和DHCP服务器不属于同一个VPN

 

在某些组网中,多个DHCP中继接口IP地址相同或者中继接口IP到服务器没有可达路由,用户需要配置本命令指定一个IP地址或选择中继设备上的另一个接口的IP地址填充到转发给DHCP服务器的DHCP请求报文中的源地址字段中。

指定DHCP中继向DHCP服务器转发报文的源地址有两种配置方法:

·     对于普通组网,管理员可以在DHCP中继接口上指定DHCP中继向DHCP服务器转发报文的源地址。当使用ip-address时,会同时修改报文中的源地址和giaddr字段,导致giaddr字段地址和DHCP中继接口地址不在同一网段。因此,指定这个参数时需要先开启DHCP中继支持Option 82功能,DHCP中继收到DHCP请求报文时在Option 82选项填充的中继接口的主IP地址,DHCP服务器可以根据该地址来给DHCP客户端分配IP地址。DHCP中继收到DHCP应答报文后,通过查找MAC地址表中的接口信息向DHCP客户端转发。

·     对于某些用户接入方式(如IPoE方式),管理员必须配置远端BAS IP地址池,并在地址池中指定DHCP中继向DHCP服务器转发报文的源地址。

2.13.2  指定DHCP中继向DHCP服务器转发报文的源地址(接口视图)

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     指定DHCP中继向DHCP服务器转发报文的源地址。

dhcp relay source-address { ip-address [ option code [ option-text ] ] | gateway | relay-interface }

缺省情况下,当DHCP中继连接服务器的接口和DHCP服务器属于同一个VPN时,将DHCP中继向DHCP服务器转发报文出接口的地址作为报文源地址;当DHCP中继连接服务器的接口和DHCP服务器不属于同一个VPN时,DHCP中继会选择一个中继上和DHCP服务器同VPN的最小地址作为报文源地址。

参数

说明

ip-address [ option code [ option-text ] ]

如果DHCP请求报文中携带指定的Option选项,则发送给DHCP服务器的报文源地址和giaddr字段值为指定的IP地址。

gateway

发送给DHCP服务器的报文源地址会取DHCP报文中giaddr字段的地址,如果giaddr字段为空,则按照缺省情况填充地址

relay-interface

发送给DHCP服务器的报文源地址为DHCP中继连接DHCP客户端接口的IP地址,如果该接口不存在地址,则按照缺省情况填充地址

 

2.13.3  指定DHCP中继向DHCP服务器转发报文的源地址(远端BAS IP地址池视图)

(1)     进入系统视图。

system-view

(2)     创建远端BAS IP地址池,并进入远端BAS IP地址池视图。

ip pool pool-name bas remote

(3)     指定DHCP中继向DHCP服务器转发报文的源地址。

dhcp-server source-address { ip-address | gateway | interface interface-type interface-number }

缺省情况下,当DHCP中继连接服务器的接口和DHCP服务器属于同一个VPN时,将DHCP中继向DHCP服务器转发报文出接口的地址作为报文源地址;当DHCP中继连接服务器的接口和DHCP服务器不属于同一个VPN时,DHCP中继会选择一个中继上和DHCP服务器同VPN的最小地址作为报文源地址。

参数

说明

ip-address

发送给DHCP服务器的报文源地址为指定的IP地址

gateway

发送给DHCP服务器的报文源地址会取DHCP报文中giaddr字段的地址,如果giaddr字段为空,则按照缺省情况填充地址

interface interface-type interface-number

发送给DHCP服务器的报文源地址为指定接口的IP地址,如果该接口不存在地址,则按照缺省情况填充地址

 

2.14  开启DHCP中继单播转发DHCP应答报文功能

1. 功能简介

某些局域网内(比如WLAN组网中)不建议使用广播报文进行通信,这时用户可以开启DHCP中继单播转发应答报文功能。开启本功能后,DHCP中继会忽略DHCP应答报文中的广播标志位,统一以单播形式向DHCP客户端转发DHCP应答报文。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启DHCP中继单播转发DHCP应答报文功能。

dhcp relay always-unicast

缺省情况下,DHCP中继根据应答报文中的广播标志位选择广播还是单播转发DHCP应答报文。

2.15  配置DHCP中继通过Option82信息转发DHCP应答报文

1. 功能简介

对于某些组网环境,DHCP中继需要通过DHCP服务器的DHCP应答报文中携带的Option 82信息(VLAN ID)把DHCP应答报文转发给DHCP客户端。如在IPRAN组网主备PW网关收敛N:1方式中,主备网关设备上都配置L3VE口作为中继接口,配置多个L2VE子接口(L2VE子接口与PW是一一对应的)接收报文。只有主设备会收到DHCP请求报文,但是主备设备都可能收到DHCP应答报文,主设备可通过记录的用户信息将报文从对应的PW发送,但备设备没有记录用户信息,所以备设备会向所有的PW发送DHCP应答报文。

为了解决这个问题,需要配置:

·     在主设备上配置dhcp relay information enabledhcp relay information circuit-id(指定sub-interface-vlan关键字)命令。当主设备收到DHCP请求报文时,会添加Option 82选项,并记录L2VE子接口所在的VLAN编号。

·     在备设备上配置dhcp relay information enabledhcp relay information circuit-id(指定sub-interface-vlan关键字)和dhcp relay forward reply by-option82命令。这样,当备设备收到DHCP应答报文时,可根据报文中Option 82选项记录的L2VE子接口所在的VLAN编号直接向对应的PW转发DHCP应答报文。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     开启DHCP中继支持Option 82功能。

dhcp relay information enable

缺省情况下,DHCP中继支持Option 82功能处于关闭状态。

(4)     配置Circuit ID子选项的填充模式和填充格式。

dhcp relay information circuit-id { bas [ sub-interface-vlan ] [ with-vxlan ] | string circuit-id | { normal | verbose [ node-identifier { mac | sysname | user-defined node-identifier } ] [ interface [ vlan-in-vlan ] ] } [ sub-interface-vlan ] [ format { ascii | hex } ] }

缺省情况下,Circuit ID子选项的填充模式为Normal,填充格式为hex。

如果以设备的系统名称(sysname)作为节点标识填充DHCP报文的Option 82,则系统名称中不能包含空格;否则,DHCP中继添加或替换Option 82失败。

(5)     配置DHCP中继通过Option82信息转发DHCP应答报文。

dhcp relay forward reply by-option82

缺省情况下,DHCP中继不通过Option82信息转发DHCP应答报文。

2.16  配置DHCP中继允许从同一个DHCP服务器接收DHCP-NAK报文的最大个数

1. 功能简介

本功能只适用于DHCP中继使用主备方式选择DHCP服务器的组网环境中。

当DHCP中继使用远端BAS IP地址池指定DHCP服务器地址时,可以通过配置gateway命令指定多个类型用户所在网段地址。当收到DHCP客户端的续约请求报文后,DHCP中继会向主备方式当前选择到的DHCP服务器地址转发DHCP续约请求报文。当DHCP中继收到该DHCP服务器应答的DHCP-NAK报文达到配置的最大值时,DHCP中继会执行以下操作:

·     如果未配置gateway-only参数,则DHCP中继会继续向下一个DHCP服务器发送续约报文;

·     如果配置了gateway-only参数并开启了DHCP中继的smart-relay功能,则DHCP中继使用gateway命令配置的下一个地址修改DHCP-DISCOVER报文中的giaddr字段;

·     如果未配置gateway-only参数并开启DHCP中继的smart-relay功能,则DHCP中继既会向下一个DHCP服务器发送续约报文,也会使用gateway命令配置的下一个地址修改DHCP-DISCOVER报文中的giaddr字段。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入远端BAS IP地址池视图。

ip pool pool-name bas remote

(3)     配置DHCP中继允许从同一个DHCP服务器接收DHCP-NAK报文的最大个数。

dhcp-server nak-count nak-count-value [ gateway-only ]

缺省情况下,DHCP中继允许接收DHCP-NAK报文的最大个数为10。

2.17  配置当为新DHCP客户端分配的地址和已在线DHCP客户端的IP地址发生冲突时,释放已在线DHCP客户端的IP地址

1. 功能简介

当DHCP服务器为新DHCP客户端分配的IP地址和中继记录的用户地址表项冲突,或者DHCP中继上配置的认证授权模块分配的地址和已在线DHCP客户端的地址发生冲突时,已在线的客户端不受影响,新客户端或认证授权用户上线失败。配置本功能后,DHCP中继会有以下处理方式:

·     如果是认证授权模块分配的地址和DHCP中继记录的用户地址表项冲突,则中继向DHCP服务器发送DHCP-RELEASE报文释放冲突地址,并通知接入模块此地址冲突不可用;

·     如果DHCP服务器发送的应答报文中记录的地址和DHCP中继记录的用户表项冲突,则中继向DHCP服务器发送DHCP-RELEASE报文释放冲突地址,并丢弃该应答报文,新客户端无法获取到IP地址。

当新客户端或认证授权用户再次发起地址申请时,可以正常申请到该地址,不会再发生地址冲突问题。

2. 配置限制和指导

只有开启了DHCP中继用户地址表项记录功能后,在DHCP中继上配置本功能才生效。

在IPoE和普通接入混合组网中,IPoE环境需要配置dhcp relay client-information record命令并关闭dhcp relay client-information refresh enable,这就会导致普通组网环境中DHCP中继记录地址租约但不会更新。如果DHCP服务器为普通组网中DHCP客户端分配了不同地址的租约,在DHCP中继上就会产生冲突,DHCP客户端获取不到地址。配置本功能后,如果是普通组网环境中DHCP中继记录地址租约但DHCP服务器向客户端分配了不同地址的租约,DHCP中继向DHCP服务器发送DHCP-RELEASE报文释放冲突地址并删除表项,保证在分配不同地址时不会冲突。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置当为新DHCP客户端分配的地址和已在线DHCP客户端的IP地址发生冲突时,释放已在线DHCP客户端的IP地址。

dhcp conflict-ip-address offline

缺省情况下,当为新DHCP客户端分配的地址和已在线DHCP客户端的IP地址发生冲突时,已在线DHCP客户端不受影响。

2.18  配置DHCP中继收到物理位置发生变化、MAC地址不变的上线用户发送的DHCP请求的处理方式

1. 功能简介

当用户的物理接入位置发生变化时,例如无线终端用户漫游时,若需要该用户下线后重新上线,则DHCP中继可能会因为未及时收到用户的下线请求,而导致DHCP中继认为该终端用户还在线。因为终端用户所在的无线网络发生变化,但MAC地址不变,则DHCP中继会认为收到的终端用户重新发送的DHCP请求报文是攻击报文,直接丢弃该DHCP请求报文。

为了解决以上问题,需要在DHCP中继上配置本功能:

·     指定fast-renew参数后,当DHCP中继收到物理位置发生变化,MAC地址不变的上线用户发送的DHCP请求报文,先向服务器发报文释放对应MAC地址的已在线租约,再将请求报文转发给DHCP服务器。

·     指定roam参数后,当DHCP中继收到物理位置发生变化,MAC地址不变的上线用户发送的DHCP请求报文,直接将该请求报文转发给DHCP服务器。这样,可以保证用户继续使用相同的IP地址上线,避免了重新进行接入认证。

2. 配置限制和指导

本功能仅适用于IPoE组网,其中roam参数仅在通过ip subscriber roaming enable命令开启个人接入用户的漫游功能才生效。IPoE漫游功能的详细介绍请参见“二层技术-广域网接入配置指导”中的“IPoE”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置DHCP服务器收到物理位置发生变化、MAC地址不变的上线用户发送的DHCP请求的处理方式。

dhcp session-mismatch action { fast-renew | roam }

缺省情况下,DHCP设备收到物理位置发生变化、MAC地址不变的上线用户发送的DHCP请求报文时,直接丢弃该DHCP请求报文。

2.19  开启非首跳DHCP中继功能

1. 功能简介

在某些网络环境中,在DHCP客户端和DHCP服务器之间可能存在多跳DHCP中继。缺省情况下,只有连接DHCP客户端的第一跳DHCP中继处理DHCP请求报文,后续的DHCP中继只会转发该报文。若需要在非第一跳DHCP中继设备上开启接入认证功能,则需要在该DHCP中继设备开启本功能,DHCP中继收到DHCP请求报文后,会将报文发送接入认证模块进行用户的认证、授权等操作。

2. 配置限制和指导

本命令只适用于接入认证组网环境,普通组网不需要配置本功能。只需要在开启接入认证功能的DHCP中继开启本功能,其他中继不需要配置本功能。

需要在DHCP中继的上行口和下行口同时配置本命令,本功能才正常生效。

对于开启本功能的非首跳中继设备,不能配置如下命令修改报文的giaddr字段,否则将导致报文转发异常:

·     dhcp relay gateway

·     dhcp relay source-address

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     开启非首跳DHCP中继功能。

dhcp relay non-first-hop enable

缺省情况下,非首跳DHCP中继功能处于关闭状态。

2.20  配置DHCP中继收到应答DHCP-DISCOVER报文的DHCP-NAK报文后,切换到向下一个远端DHCP地址池对应的服务器转发报文的条件

1. 功能简介

某些DHCP服务器上的地址池中不存在可分配的DHCP地址时,收到DHCP客户端发送的DHCP-DISCOVER报文后,会应答DHCP-NAK报文。DHCP中继收到DHCP-NAK报文后,会将该报文直接转发给DHCP客户端。如果DHCP中继上创建了DHCP地址池组,且在DHCP地址池组中添加了多个远端DHCP地址池。DHCP中继无论收到多少应答DHCP-DISCOVER报文的DHCP-NAK报文,也不会切换到下一个远端DHCP地址池。这就导致DHCP中继将收到的DHCP请求报文全部转发给不存在可分配的DHCP地址的DHCP服务器,DHCP客户端无法获取到DHCP地址。配置本功能后,当DHCP中继在指定的时间内收到应答DHCP-DISCOVER报文的DHCP-NAK报文超过一定数目时,将切换到下一个远端DHCP地址池对应的服务器转发报文,保证DHCP客户端可以获取到DHCP地址。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入IP地址池组。

ip pool-group pool-group-name

(3)     配置DHCP中继收到应答DHCP-DISCOVER报文的DHCP-NAK报文后,切换到向下一个远端DHCP地址池对应的服务器转发报文的条件。

discover-nak-count nak-count seconds

缺省情况下,DHCP中继无论收到多少应答DHCP-DISCOVER报文的DHCP-NAK报文,都无法切换到向下一个远端BAS IP地址池对应的服务器转发报文。

2.21  DHCP中继显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后DHCP中继的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令清除DHCP中继的统计信息。

表2-2 DHCP中继显示和维护

操作

命令

显示接口上指定的DHCP服务器地址信息

display dhcp relay server-address [ interface interface-type interface-number ]

显示DHCP中继上的Option 82配置信息

display dhcp relay information [ interface interface-type interface-number ]

显示DHCP中继的用户地址表项信息

display dhcp relay client-information [ interface interface-type interface-number | [ ip ip-address ] [ vpn-instance vpn-instance-name ] ]

显示DHCP中继的DHCP地址池对应的远端DHCP服务器配置和状态信息

display dhcp relay remote-server-info [ vpn-instance vpn-name ] [ slot slot-number ]

显示DHCP中继的相关报文统计信息

display dhcp relay packet statistics [ interface interface-type interface-number ]

显示DHCP中继的MAC地址检查表项

display dhcp relay check mac-address

清除DHCP中继的用户地址表项信息

reset dhcp relay client-information [ interface interface-type interface-number | ip ip-address [ vpn-instance vpn-instance-name ] ]

清除DHCP中继的相关报文统计信息

reset dhcp relay packet statistics [ interface interface-type interface-number ]

 

2.22  DHCP中继配置举例

2.22.1  DHCP中继基本组网配置举例

1. 组网需求

·     DHCP客户端所在网段为10.10.1.0/24,DHCP服务器的IP地址为10.1.1.1/24;

·     由于DHCP客户端和DHCP服务器不在同一网段,因此,需要在客户端所在网段设置DHCP中继设备,以便客户端可以从DHCP服务器申请到10.10.1.0/24网段的IP地址及相关配置信息;

·     Router A作为DHCP中继通过Ten-GigabitEthernet2/0/0接口连接到DHCP客户端所在的网络,Ten-GigabitEthernet2/0/0接口的IP地址为10.10.1.1/24,Ten-GigabitEthernet2/0/1接口的IP地址为10.1.1.2/24。

2. 组网图

图2-5 DHCP中继组网示意图

3. 配置准备

·     由于DHCP中继连接DHCP客户端的接口IP地址与DHCP服务器的IP地址不在同一网段,因此需要在DHCP服务器上通过静态路由或动态路由协议保证两者之间路由可达。

·     为了使DHCP客户端能从DHCP服务器获得IP地址,还需要在DHCP服务器上进行地址池等相关配置。

4. 配置步骤

# 配置各接口的IP地址(略)。

# 开启DHCP服务。

<RouterA> system-view

[RouterA] dhcp enable

# 配置Ten-GigabitEthernet2/0/0接口工作在DHCP中继模式。

[RouterA] interface ten-gigabitethernet 2/0/0

[RouterA-Ten-GigabitEthernet2/0/0] dhcp select relay

# 指定DHCP服务器的地址。

[RouterA-Ten-GigabitEthernet2/0/0] dhcp relay server-address 10.1.1.1

配置完成后,DHCP客户端可以通过DHCP中继从DHCP服务器获取IP地址及相关配置信息。通过display dhcp relay packet statistics命令可以显示DHCP中继转发的DHCP报文统计信息;如果在DHCP中继上通过dhcp relay client-information record命令开启了DHCP中继的用户地址表项记录功能,则可以通过display dhcp relay client-information命令可以显示通过DHCP中继获取IP地址的客户端信息。

2.22.2  DHCP中继支持Option 82配置举例

1. 组网需求

·     在DHCP中继Router A上开启Option 82功能;

·     对包含Option 82的请求报文的处理策略为replace

·     Circuit ID填充内容为company001,Remote ID填充内容为device001;

·     Router A将添加Option 82的DHCP请求报文转发给DHCP服务器Router B,使得DHCP客户端可以获取到IP地址。

2. 组网图

图2-5所示。

3. 配置准备

为使Option 82功能正常使用,DHCP服务器也需要进行相应配置。

4. 配置步骤

# 配置各接口的IP地址(略)。

# 开启DHCP服务。

<RouterA> system-view

[RouterA] dhcp enable

# 配置Ten-GigabitEthernet2/0/0接口工作在DHCP中继模式。

[RouterA] interface ten-gigabitethernet 2/0/0

[RouterA-Ten-GigabitEthernet2/0/0] dhcp select relay

# 指定DHCP服务器的地址。

[RouterA-Ten-GigabitEthernet2/0/0] dhcp relay server-address 10.1.1.1

# 配置Option 82的处理策略和填充内容。

[RouterA-Ten-GigabitEthernet2/0/0] dhcp relay information enable

[RouterA-Ten-GigabitEthernet2/0/0] dhcp relay information strategy replace

[RouterA-Ten-GigabitEthernet2/0/0] dhcp relay information circuit-id string company001

[RouterA-Ten-GigabitEthernet2/0/0] dhcp relay information remote-id string device001

2.22.3  DHCP中继选择DHCP服务器方式配置举例

1. 组网需求

·     DHCP客户端所在网段为22.22.22.0/24;

·     由于DHCP客户端和DHCP服务器不在同一网段,需要在DHCP客户端所在网段设置DHCP中继,以便DHCP客户端可以从DHCP服务器申请到22.22.22.0/24网段的IP地址及相关配置信息;

·     DHCP中继Router A通过接口Ten-GigabitEthernet2/0/0连接到DHCP客户端所在的网络,接口Ten-GigabitEthernet2/0/0的IP地址为22.22.22.1/24,通过接口Ten-GigabitEthernet2/0/1连接Router B,接口Ten-GigabitEthernet2/0/1的IP地址为1.1.1.100/24,通过接口Ten-GigabitEthernet2/0/2连接Router C,接口Ten-GigabitEthernet2/0/2的IP地址为2.2.2.100/24;

·     Router B配置了22.22.22.0网段的地址池,但未开启DHCP服务;Router C配置了22.22.22.0网段的地址池,也未开启DHCP服务。

2. 组网图

图2-6 DHCP中继组网示意图

3. 配置步骤

(1)     配置各设备上各接口的IP地址(略)。

(2)     配置DHCP服务器Router B和Router C(略)。

(3)     配置DHCP中继Router A。

# 开启DHCP服务。

<RouterA> system-view

[RouterA] dhcp enable

# 配置Ten-GigabitEthernet2/0/0接口工作在DHCP中继模式。

[RouterA] interface ten-gigabitethernet 2/0/0

[RouterA-Ten-GigabitEthernet2/0/0] dhcp select relay

# 指定DHCP服务器的IP地址。

[RouterA-Ten-GigabitEthernet2/0/0] dhcp relay server-address 1.1.1.1

[RouterA-Ten-GigabitEthernet2/0/0] dhcp relay server-address 2.2.2.2

# 指定DHCP中继选择DHCP服务器方式为主备方式。

[RouterA-Ten-GigabitEthernet2/0/0] dhcp relay server-address algorithm master-backup

# 配置回切主用DHCP服务器并指定回切延迟时间为3分钟。

[RouterA-Ten-GigabitEthernet2/0/0] dhcp relay master-server switch-delay 3

[RouterA-Ten-GigabitEthernet2/0/0] quit

4. 验证配置

# 配置完成后,DHCP客户端一开始不能申请到IP地址,等待大约30秒后打印日志信息。

DHCPR/3/DHCPR_SERVERCHANGE:

 Switched to the server at 2.2.2.2 because the current server did not respond.

# 用户开启Router B的DHCP服务。

# 此时DHCP客户端仍然无法申请到IP地址,再等待大约3分钟后打印日志信息。

DHCPR/3/DHCPR_SWITCHMASTER:

 Switched to the master DHCP server at 1.1.1.1.

# 此时DHCP客户端可以成功申请到IP地址。

2.23  DHCP中继常见故障处理

2.23.1  DHCP客户端无法通过DHCP中继获取配置信息

1. 故障现象

DHCP客户端无法通过DHCP中继获得配置信息。

2. 故障分析

DHCP中继或DHCP服务器的配置可能有问题。可以打开调试开关显示调试信息,并通过执行display命令显示接口状态信息的方法来分析定位。

3. 故障处理

·     检查DHCP服务器和DHCP中继是否开启了DHCP服务。

·     检查DHCP服务器是否配置有DHCP客户端所在网段的地址池。

·     检查具有DHCP中继功能的网络设备和DHCP服务器是否配置有相互可达的路由。

·     检查具有DHCP中继功能的网络设备是否在连接DHCP客户端所在网段的接口上指定了正确的DHCP服务器地址。


3 DHCP客户端

3.1  DHCP客户端简介

为了方便用户配置和集中管理,可以指定设备的接口作为DHCP客户端,使用DHCP协议从DHCP服务器动态获得IP地址等参数。

3.2  DHCP客户端配置限制和指导

DHCP客户端中对于接口的相关配置,目前只能在三层以太网接口(包括子接口)和三层聚合接口上进行。

3.3  DHCP客户端配置任务简介

DHCP客户端配置任务如下:

(1)     配置接口通过DHCP协议获取IP地址

(2)     配置接口使用的DHCP客户端ID

DHCP客户端使用客户端ID从DHCP服务器获取特定地址时配置。

(3)     (可选)开启地址冲突检查功能

(4)     (可选)配置DHCP客户端发送DHCP报文的DSCP优先级

(5)     (可选)开启DHCP客户端告警功能

3.4  配置接口通过DHCP协议获取IP地址

1. 配置限制和指导

配置接口通过DHCP协议获取IP地址,需要注意:

·     接口作为DHCP客户端多次申请IP地址失败后,将停止申请,并为接口配置缺省IP地址。

·     接口可以采用多种方式获得IP地址,新的配置方式会覆盖原有的配置方式。

·     当接口被配置为通过DHCP动态获取IP地址后,不能再给该接口配置从IP地址。

·     如果DHCP服务器为接口分配的IP地址与设备上其他接口的IP地址在同一网段,则该接口不会使用该IP地址,且会再向DHCP服务器重新申请IP地址。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置接口通过DHCP协议获取IP地址。

ip address dhcp-alloc

缺省情况下,接口不通过DHCP协议获取IP地址。

3.5  配置接口使用的DHCP客户端ID

1. 功能简介

DHCP客户端ID用来填充DHCP报文Option 61,作为识别DHCP客户端的唯一标识。DHCP服务器可以根据客户端ID为特定的客户端分配特定的IP地址。DHCP客户端ID包括类型和取值两部分,用户可以通过ASCII字符串、十六进制数和指定接口的MAC地址来指定DHCP客户端ID:

·     当客户端ID的取值为ASCII字符串时,对应的类型值为00;

·     当客户端ID的取值为十六进制数时,对应的类型值为该十六进制数的前两个字符;

·     当客户端ID使用指定接口的MAC地址时,对应的类型值为01。

DHCP客户端ID类型值可通过命令display dhcp server ip-in-usedisplay dhcp client进行查看。

2. 配置限制和指导

用户在指定客户端ID时,需要确保不同客户端的客户端ID不能相同。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置接口使用的DHCP客户端ID。

dhcp client identifier { ascii ascii-string | hex hex-string | mac interface-type interface-number }

缺省情况下,根据本接口MAC地址生成DHCP客户端ID,如果本接口没有MAC地址,则获取设备第一个以太接口的MAC地址生成DHCP客户端ID。

3.6  开启地址冲突检查功能

1. 功能简介

通常情况下,DHCP客户端上开启地址冲突检查功能,通过发送和接收ARP报文,对DHCP服务器分配的IP地址进行地址冲突检测。

如果攻击者仿冒地址拥有者进行ARP应答,就可以欺骗DHCP客户端,导致DHCP客户端无法正常使用分配到的IP地址。在网络中存在上述攻击者时,建议在客户端上关闭地址冲突检查功能。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启地址冲突检查功能。

dhcp client dad enable

缺省情况下,地址冲突检查功能处于关闭状态。

3.7  配置DHCP客户端发送DHCP报文的DSCP优先级

1. 功能简介

DSCP优先级用来体现报文自身的优先等级,决定报文传输的优先程度。通过本配置可以指定DHCP客户端发送的DHCP报文的DSCP优先级。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置DHCP客户端发送DHCP报文的DSCP优先级。

dhcp client dscp dscp-value

缺省情况下,DHCP客户端发送的DHCP报文的DSCP优先级为56。

3.8  开启DHCP客户端告警功能

1. 功能简介

DHCP客户端告警功能是用来将DHCP客户端上发生的重要事件告知给网络管理员,比如DHCP客户端获得的IP地址与网络中其它主机地址冲突或DHCP客户端获得的IP地址与本设备上的其它接口地址冲突。

当上述事件发生时,DHCP客户端模块会生成告警信息,并将告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启DHCP客户端的告警功能。

snmp-agent trap enable dhcp-client [ arp-conflict | local-conflict ] *

缺省情况下,DHCP客户端所有类型的告警功能均处于开启状态。

3.9  DHCP客户端显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后DHCP客户端的信息,通过查看显示信息验证配置的效果。

表3-1 DHCP客户端显示和维护

操作

命令

显示DHCP客户端的相关信息

display dhcp client [ verbose ] [ interface interface-type interface-number ]

 

3.10  DHCP客户端配置举例

3.10.1  DHCP客户端基本组网配置举例

1. 组网需求

Router B的以太网接口Ten-GigabitEthernet2/0/0接入局域网,通过DHCP协议从DHCP服务器获取IP地址、DNS服务器地址和静态路由信息:

·     DHCP客户端的IP地址所在网段为10.1.1.0/24;

·     DNS服务器地址为20.1.1.1;

·     静态路由信息为到达20.1.1.0/24网段的下一跳地址是10.1.1.2。

DHCP服务器需要通过自定义选项的方式配置Option 121的内容,以便为客户端分配静态路由信息。Option 121的格式如图3-1所示。其中,目的描述符由子网掩码长度和目的网络地址两部分组成。在本例中,目的描述符字段取值为18 14 01 01(十六进制数值,表示子网掩码长度为24,目的网络地址为20.1.1.0);下一跳地址字段取值为0A 01 01 02(十六进制数值,表示下一跳地址为10.1.1.2)。

图3-1 Option 121选项格式

 

 

2. 组网图

图3-2 DHCP客户端配置举例组网图

3. 配置步骤

(1)     配置DHCP服务器Router A,此处略

(2)     配置DHCP客户端Router B

# 配置接口Ten-GigabitEthernet2/0/0通过DHCP动态获取地址。

<RouterB> system-view

[RouterB] interface ten-gigabitethernet 2/0/0

[RouterB-Ten-GigabitEthernet2/0/0] ip address dhcp-alloc

[RouterB-Ten-GigabitEthernet2/0/0] quit

4. 验证配置

# 通过display dhcp client命令可以查看Router B申请到的IP地址和网络配置参数。

[RouterB] display dhcp client verbose

Ten-GigabitEthernet2/0/0 DHCP client information:

 Current state: BOUND

 Allocated IP: 10.1.1.3 255.255.255.0

 Allocated lease: 864000 seconds, T1: 331858 seconds, T2: 756000 seconds

 Lease from May 21 19:00:29 2012   to   May 31 19:00:29 2012

 DHCP server: 10.1.1.1

 Transaction ID: 0xcde72232

 Classless static routes:

   Destination: 20.1.1.0, Mask: 255.255.255.0, NextHop: 10.1.1.2

 DNS servers: 20.1.1.1

 Client ID type: acsii(type value=00)

 Client ID value: 000c.29d3.8659-XGE2/0/0

 Client ID (with type) hex: 0030-3030-632e-3239-

                            6433-2e38-3635-392d-

                            4574-6830-2f30-2f32

 T1 will timeout in 3 days 19 hours 48 minutes 43 seconds

# 通过display ip routing-table命令可以查看Router B的路由表中添加了到达20.1.1.0/24网络的静态路由。

[RouterB] display ip routing-table

 

Destinations : 11        Routes : 11

 

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

10.1.1.0/24         Direct 0    0            10.1.1.3        XGE2/0/0

10.1.1.3/32         Direct 0    0            127.0.0.1       InLoop0

20.1.1.0/24         Static 70   0            10.1.1.2        XGE2/0/0

10.1.1.255/32       Direct 0    0            10.1.1.3        XGE2/0/0

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.0/32        Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

127.255.255.255/32  Direct 0    0            127.0.0.1       InLoop0

255.255.255.255/32  Direct 0    0            127.0.0.1       InLoop0


4 BOOTP客户端

4.1  BOOTP客户端简介

4.1.1  BOOTP客户端的应用环境

BOOTP是Bootstrap Protocol(自举协议)的简称。指定设备的接口作为BOOTP客户端后,该接口可以通过BOOTP协议从BOOTP服务器获取IP地址等信息,从而方便用户配置。

使用BOOTP协议时,管理员需要在BOOTP服务器上为每个BOOTP客户端配置BOOTP参数文件,该文件包括BOOTP客户端的MAC地址及其对应的IP地址等信息。当BOOTP客户端向BOOTP服务器发起请求时,服务器会查找BOOTP参数文件,并返回相应的配置信息。

由于BOOTP协议需要在BOOTP服务器上为每个客户端事先配置参数文件,BOOTP一般运行在相对稳定的环境中。当网络变化频繁时,推荐采用DHCP协议。

由于DHCP服务器可以与BOOTP客户端进行交互,因此用户可以不配置BOOTP服务器,而使用DHCP服务器为BOOTP客户端分配IP地址。DHCP服务器会按照服务器分配地址的优先次序为BOOTP客户端分配IP地址。

4.1.2  IP地址动态获取过程

BOOTP客户端从BOOTP服务器动态获取IP地址的具体过程如下:

(1)     BOOTP客户端以广播方式发送BOOTP请求报文,其中包含了BOOTP客户端的MAC地址;

(2)     BOOTP服务器接收到请求报文后,根据报文中的BOOTP客户端MAC地址,从配置文件数据库中查找对应的IP地址等信息,并向客户端返回包含这些信息的BOOTP响应报文;

(3)     BOOTP客户端从接收到的响应报文中即可获得IP地址等信息。

在下面的IP地址动态获取过程中,BOOTP服务器的功能可以用DHCP服务器替代。

4.1.3  协议规范

与BOOTP相关的协议规范有:

·     RFC 951:Bootstrap Protocol (BOOTP)

·     RFC 2132:DHCP Options and BOOTP Vendor Extensions

·     RFC 1542:Clarifications and Extensions for the Bootstrap Protocol

4.2  配置接口通过BOOTP协议获取IP地址

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

BOOTP客户端中对于接口的相关配置,目前只能在三层以太网接口(包括子接口)和三层聚合接口上进行。

(3)     配置接口通过BOOTP协议获取IP地址。

ip address bootp-alloc

缺省情况下,接口不通过BOOTP协议获取IP地址。

4.3  BOOTP客户端显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后BOOTP客户端的运行情况,通过查看显示信息验证配置的效果。

表4-1 BOOTP客户端显示和维护

操作

命令

显示BOOTP客户端的相关信息

display bootp client [ interface interface-type interface-number ]

 

4.4  BOOTP客户端配置举例

4.4.1  BOOTP客户端基本组网配置举例

1. 组网需求

Router B的以太网接口Ten-GigabitEthernet2/0/0接入局域网,通过BOOTP协议从DHCP服务器获取IP地址。

2. 组网图

图4-1 BOOTP客户端组网图

3. 配置准备

为了使BOOTP客户端能从DHCP服务器获得IP地址,还需要在DHCP服务器上进行地址池等相关配置。

4. 配置步骤

下面只列出图4-1中作为客户端的Router B的配置。

# 配置接口Ten-GigabitEthernet2/0/0通过BOOTP动态获取地址。

<RouterB> system-view

[RouterB] interface ten-gigabitethernet 2/0/0

[RouterB-Ten-GigabitEthernet2/0/0] ip address bootp-alloc

通过display bootp client命令可以查看BOOTP客户端申请到的IP地址。

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们