• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

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

目录

03-DHCP配置

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

03-DHCP配置


1 DHCP概述

1.1  DHCP组网模型

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

图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 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 33和Option 121同时存在,则忽略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选择服务提供商特有的配置和参数等。CPE和ACS的详细介绍,请参见“网络管理和监控配置指导”中的“CWMP(TR-069)”。

·     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服务器动态获得IP地址等参数。

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

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

2.3  DHCP客户端配置任务简介

DHCP客户端配置任务如下:

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

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

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

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

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

2.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地址。

2.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。

2.6  开启地址冲突检查功能

1. 功能简介

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

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

2. 配置步骤

(1)     进入系统视图。

system-view

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

dhcp client dad enable

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

2.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。

2.8  DHCP客户端显示和维护

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

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

操作

命令

显示DHCP客户端的相关信息

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

 

 


3 BOOTP客户端

3.1  BOOTP客户端简介

3.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地址。

3.1.2  IP地址动态获取过程

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

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

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

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

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

3.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

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

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

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

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

ip address bootp-alloc

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

3.3  BOOTP客户端显示和维护

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

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

操作

命令

显示BOOTP客户端的相关信息

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

 

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

新华三官网
联系我们