03-DHCP配置
本章节下载: 03-DHCP配置 (820.32 KB)
目 录
2.4.9 配置DHCP客户端使用的WINS服务器地址和NetBIOS节点类型
2.4.12 配置DHCP客户端使用的下一个提供服务的服务器IP地址
2.4.13 配置DHCP客户端使用的Option 184参数
2.11.3 配置DHCP服务器以RFC 1048规定的格式发送BOOTP应答报文
2.11.4 配置DHCP服务器发送DHCP应答报文不携带Option 60选项
2.12 配置DHCP服务器发送DHCP报文的DSCP优先级
3.11.2 通过smart-relay功能指定DHCP报文中填充的中继地址
3.13 配置DHCP中继通过Option82信息转发DHCP应答报文
3.15.1 DHCP客户端无法通过DHCP中继获取配置信息
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)采用客户端/服务器模式,由服务器为网络设备动态地分配IP地址等网络配置参数。DHCP客户端和DHCP服务器处于不同物理网段时,客户端可以通过DHCP中继与服务器通信,获取IP地址及其他配置信息。DHCP中继的详细介绍,请参见“3.1 DHCP中继简介”。
图1-1 同网段DHCP组网应用
针对客户端的不同需求,DHCP提供三种IP地址分配策略:
· 手工分配地址:由管理员为少数特定客户端(如WWW服务器等)静态绑定固定的IP地址。通过DHCP将配置的固定IP地址分配给客户端。
· 自动分配地址:DHCP为客户端分配租期为无限长的IP地址。
· 动态分配地址:DHCP为客户端分配具有一定有效期限的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地址仍可分配给其他客户端。
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服务器的处理方式同上,不再赘述。
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地址等配置信息。
为了与BOOTP(Bootstrap Protocol,自举协议)兼容,DHCP保留了BOOTP的消息格式。DHCP和BOOTP消息的不同主要体现在选项(Options)字段。DHCP在BOOTP基础上增加的功能,通过Options字段来实现。
DHCP利用Options字段传递控制信息和网络配置参数,实现地址动态分配的同时,为客户端提供更加丰富的网络配置信息。
DHCP选项的格式如图1-4所示。
图1-4 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。
有些选项的内容,RFC 2132中没有统一规定,例如Option 43、Option 82和Option 184。下面将介绍设备上定义的几种选项。
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引导服务器获取启动文件或其他控制信息。
为了提供可扩展性,通过Option 43为客户端分配更多的信息,Option 43采用子选项的形式,通过不同的子选项为用户分配不同的网络配置参数。如图1-5所示。子选项中各字段的含义为:
· Sub-option type:子选项类型。目前,子选项类型值可以为0x01表示ACS参数子选项,0x02表示服务提供商标识子选项,0x80表示PXE引导服务器地址子选项。
· Sub-option length:子选项的长度,不包括子选项类型和子选项长度字段。
· Sub-option value:子选项的取值。不同类型的子选项,取值格式有所不同。
· 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引导服务器地址子选项取值字段的格式
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命令配置。
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用户建立连接并通信。
与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
DHCP服务器通过地址池保存IP地址和网络参数,从地址池中选择IP地址和网络参数分配给客户端。
地址池的地址管理方式有以下几种:静态绑定IP地址,即通过将客户端的MAC地址或客户端ID与IP地址绑定的方式,实现为特定的客户端分配特定的IP地址;动态选择IP地址,即在地址池中指定可供分配的IP地址范围,当收到客户端的IP地址申请时,从该地址范围中动态选择IP地址,分配给该客户端。
在地址池中指定可供分配的IP地址范围,有以下几种方法:
多个地址范围是指一个地址池动态分配的IP地址范围(公共地址范围)和多个为DHCP用户类分配的IP地址范围。
DHCP服务器通过定义DHCP用户类,实现为满足特定条件的客户端分配特定地址范围的IP地址。DHCP服务器根据客户端发送的请求报文,判断DHCP客户端所属的用户类。每个用户类可以配置多个匹配条件,只要客户端发送的DHCP请求报文满足任意一个匹配条件,就认为该客户端属于该用户类。在地址池下,可以为不同的用户类指定不同的地址范围。如果DHCP客户端属于某个用户类,则从该用户类的地址范围内选择地址分配给该客户端。
采用这种地址管理方式时,地址选择过程为:
(1) 按照地址池下用户类地址范围的配置顺序,将DHCP客户端和用户类进行匹配。
(2) 如果DHCP客户端属于某个用户类,则从该用户类的地址范围中选择地址分配给客户端。
(3) 如果该用户类中没有可供分配的地址,则继续匹配下一个用户类。如果所有匹配上的用户类地址范围都没有可供分配的地址,则从公共地址范围中选择地址分配给客户端。
(4) 如果DHCP客户端不属于任何一个DHCP用户类,则会从地址池动态分配的IP地址范围(通过address range命令配置)中选择地址分配给DHCP客户端。
(5) 如果动态分配的IP地址范围内也没有空闲地址,或者未配置动态分配的IP地址范围,则地址分配失败,即DHCP服务器无法为DHCP客户端分配地址。
每个地址范围内的地址都必须属于指定的主网段,否则无法分配该范围内的地址。
采用此种地址分配方式时,地址选择的过程是:首先从地址池主网段中查找可供分配的IP地址。如果主网段中没有可供分配的IP地址,则按照该地址池下从网段的配置顺序,依次查找可供分配的IP地址。
DHCP服务器为客户端分配IP地址时,按照如下顺序选择地址池:
(1) 如果存在将客户端MAC地址或客户端ID与IP地址静态绑定的地址池,则选择该地址池,并将静态绑定的IP地址和其他网络参数分配给客户端。
(2) 如果配置了DHCP策略,则DHCP客户端匹配某个DHCP用户类时,DHCP服务器选择与该DHCP用户类关联的DHCP地址池;DHCP客户端未匹配到DHCP用户类时,若配置了默认DHCP地址池,则选择该DHCP地址池;若未配置默认DHCP地址池或DHCP默认地址池不存在可供分配的IP地址时,IP地址或其他参数分配失败。
(3) 如果接收到DHCP请求报文的接口引用了某个地址池,则选择该地址池,从该地址池中选取IP地址和其他网络参数分配给客户端。
(4) 如果上述条件均不满足,则使用以下方法选择DHCP地址池:
¡ 如果客户端与服务器在同一网段,则将DHCP请求报文接收接口的IP地址与所有地址池配置的主网段进行匹配,并选择最长匹配的主网段所对应的地址池。如果未匹配到主网段,则将DHCP请求报文接收接口的IP地址与所有地址池配置的从网段进行匹配,并选择最长匹配的网段所对应的地址池。
¡ 如果客户端与服务器不在同一网段,即客户端通过DHCP中继获取IP地址,则将DHCP请求报文中giaddr字段指定的IP地址与所有地址池配置的主网段进行匹配,并选择最长匹配的网段所对应的地址池。如果未匹配到主网段,则将DHCP请求报文中giaddr字段指定的IP地址与所有地址池配置的从网段进行匹配,并选择最长匹配的网段所对应的地址池。
例如,DHCP服务器上配置了两个地址池,动态分配的网段分别是1.1.1.0/24和1.1.1.0/25,如果接收DHCP请求报文的接口IP地址为1.1.1.1/25,且未引用地址池,服务器将从1.1.1.0/25地址池中选择IP地址分配给客户端,1.1.1.0/25地址池中如果没有可供分配的IP地址,则服务器无法为客户端分配地址;如果接收DHCP请求报文的接口IP地址为1.1.1.130/25,服务器将从1.1.1.0/24地址池中选择IP地址分配给客户端。
· 配置地址池动态分配的网段和IP地址范围时,请尽量保证其与DHCP服务器接口或DHCP中继接口地址的网段一致,以免分配错误的IP地址。
· 建议合理规划DHCP服务器上各地址池中主网段的配置,尽量避免客户端匹配不到主网段、直接匹配从网段的情况发生。
DHCP服务器为客户端分配IP地址的优先次序如下:
(1) 与客户端MAC地址或客户端ID静态绑定的IP地址。
(2) DHCP服务器记录的曾经分配给客户端的IP地址。
(3) 客户端发送的DHCP-DISCOVER报文中Option 50字段指定的IP地址。Option 50为客户端请求的IP地址选项(Requested IP Address),客户端通过在DHCP-DISCOVER报文中添加该选项来指明客户端希望获取的IP地址。该选项的内容由客户端决定。
(4) 按照“2.1.1 地址池的地址管理方式”和“2.1.2 地址池的选取原则”中所述的动态分配地址选择原则,顺序查找可供分配的IP地址,选择最先找到的IP地址。
(5) 如果未找到可用的IP地址,则从当前匹配地址池中依次查询租约过期、曾经发生过冲突的IP地址,如果找到则进行分配,否则将不予处理。
· 如果客户端所在的网段发生变化,服务器不会为客户端分配曾经分配给它的IP地址,而是从匹配新网段的地址池中重新选择IP地址。
· 使用曾经发生过冲突的IP地址时,只有冲突状态超过一小时的IP地址才能够被服务器分配给新的DHCP客户端。
DHCP服务器配置任务如下:
(1) (可选)创建DHCP用户类
(2) 配置DHCP服务器的地址池
(3) (可选)修改DHCP服务器的地址池选择方式
(4) 开启DHCP服务
(5) 配置接口工作在DHCP服务器模式
(6) (可选)配置高级功能
(7) (可选)配置告警及日志功能
DHCP用户类通过DHCP请求报文中的硬件地址、Option信息或Giaddr字段来匹配一组特定的DHCP客户端,以实现为特定的DHCP客户端分配特定的IP地址和其他参数。
(1) 进入系统视图。
system-view
(2) 创建DHCP用户类,并进入DHCP用户类视图。
dhcp class class-name
(3) 配置DHCP用户类的匹配规则。
if-match rule rule-number { hardware-address hardware-address mask hardware-address-mask | option option-code [ ascii ascii-string [ offset offset | partial ] | hex hex-string [ mask mask | offset offset length length | partial ] ] | relay-agent gateway-address }
缺省情况下,未配置DHCP用户类的匹配规则。
DHCP服务器地址池配置任务如下:
(1) 创建DHCP地址池
(2) 配置为DHCP客户端分配地址
同一个地址池中不能同时配置两种动态地址管理方式,但可以同时配置动态地址管理方式和静态地址绑定。
¡ 配置静态地址绑定
(3) 配置为DHCP客户端分配其他参数
¡ 配置DHCP客户端使用的WINS服务器地址和NetBIOS节点类型
(4) (可选)为DHCP服务器上的地址池绑定VPN实例
(5) (可选)配置DHCP用户类白名单功能
(6) (可选)配置DHCP服务器辅助网关信息
(7) (可选)配置DHCP服务器辅助路由信息
(1) 进入系统视图。
system-view
(2) 创建DHCP地址池,并进入DHCP地址池视图。
dhcp server ip-pool pool-name
在某些组网应用中,需要将一个网段下的不同客户端,按照一定的规则划分到不同的地址范围中。此时,可以按照客户端划分规则创建对应的DHCP用户类,并在地址池内为不同的用户类配置不同的地址范围,从而实现为特定的客户端分配特定范围的地址。在这种情况下,还可以配置一个公共地址范围,为不匹配任何用户类的客户端分配给该范围的地址。如果不配置公共地址范围,则不匹配任何用户类的客户端将无法获取到IP地址。
如果不需要对客户端进行分类,而仅需要限制网段内可分配的动态地址范围,则可以只配置公共地址范围,而不配置用户类的地址范围。
配置为客户端分配的IP地址时,需要注意:
· 在同一个DHCP地址池中,如果多次执行network或address range命令,新的配置会覆盖已有配置;如果多次执行class命令,则可以为多个用户类指定不同的地址范围;多次执行forbidden-ip命令或forbidden-ip-range命令,可以配置多个不参与自动分配的IP地址或IP地址段。
· 在DHCP地址池视图下通过forbidden-ip命令或forbidden-ip-range命令配置不参与自动分配的IP地址或IP地址段后,只有当前的地址池不能分配这些IP地址或IP地址段,其他地址池仍然可以分配这些IP地址或IP地址段;通过dhcp server forbidden-ip命令指定不参与自动分配的IP地址后,所有地址池都不能分配这些IP地址。
· 当用户配置class range命令修改已存在的为DHCP用户类动态分配的IP地址范围,且新的IP地址范围包括之前IP地址范围中已分配的地址租约时,如果DHCP服务器收到该地址租约的续约需求,DHCP服务器会给该DHCP客户端分配新的IP地址租约,已分配的地址租约会继续老化等待超期释放。如果需要已分配的地址租约立即释放,则需配置reset dhcp server ip-in-use命令进行清除地址租约操作。
(1) 进入系统视图。
system-view
(2) 进入DHCP地址池视图。
dhcp server ip-pool pool-name
(3) 配置DHCP地址池动态分配的主网段。
network network-address [ mask-length | mask mask ]
缺省情况下,未配置主网段。
(4) (可选)配置地址池动态分配的IP地址范围,即公共地址范围。
address range start-ip-address end-ip-address
缺省情况下,未配置动态分配的IP地址范围。
(5) (可选)配置DHCP地址池为指定DHCP用户类动态分配的IP地址范围。
class class-name range start-ip-address end-ip-address
缺省情况下,未配置为指定DHCP用户类动态分配的IP地址范围。
只有先通过dhcp class命令创建DHCP用户类,再通过本命令指定该用户类,才能为该用户类分配指定范围的地址。
(6) (可选)配置动态分配的IP地址的租约有效期限。
expired { day day [ hour hour [ minute minute [ second second ] ] ] | unlimited }
缺省情况下,IP地址租约有效期限为1天。
(7) (可选)配置DHCP地址池中不参与自动分配的IP地址。
forbidden-ip ip-address&<1-8>
缺省情况下,未配置DHCP地址池中不参与自动分配的IP地址。
(8) (可选)配置DHCP地址池中不参与自动分配的IP地址段。
forbidden-ip-range start-ip-address [ end-ip-address ]
缺省情况下,未配置DHCP地址池中不参与自动分配的IP地址段。
(9) (可选)在系统视图配置全局不参与自动分配的IP地址。
a. 退回系统视图。
quit
b. 配置全局不参与自动分配的IP地址。
dhcp server forbidden-ip start-ip-address [ end-ip-address ] [ vpn-instance vpn-instance-name ]
缺省情况下,除DHCP服务器接口的IP地址外,DHCP地址池中的所有IP地址都参与自动分配。
在配置了一个主网段和多个从网段的地址池中,从网段的作用是对主网段地址空间的补充。当主网段中没有空闲地址分配给客户端时,服务器会从该地址池中的从网段获取地址分配给客户端。
在DHCP地址池视图下通过forbidden-ip命令或forbidden-ip-range命令配置不参与自动分配的IP地址或IP地址段后,只有当前的地址池不能分配这些IP地址或IP地址段,其他地址池仍然可以分配这些IP地址或IP地址段;通过dhcp server forbidden-ip命令指定不参与自动分配的IP地址后,所有地址池都不能分配这些IP地址。
(1) 进入系统视图。
system-view
(2) 进入DHCP地址池视图。
dhcp server ip-pool pool-name
(3) 配置DHCP地址池动态分配的主网段。
network network-address [ mask-length | mask mask ]
缺省情况下,未配置主网段。
每个DHCP地址池中只能配置一个主网段,如果多次执行network命令配置主网段,则新的配置会覆盖已有配置。
(4) (可选)配置DHCP地址池动态分配的从网段。
network network-address [ mask-length | mask mask ] secondary
缺省情况下,未配置从网段。
每个DHCP地址池中,最多可以配置32个从网段。
(5) (可选)退回地址池视图。
quit
(1) 进入系统视图。
system-view
(2) 进入DHCP地址池视图。
dhcp server ip-pool pool-name
(3) 配置动态分配的IP地址的租约有效期限。
expired { day day [ hour hour [ minute minute [ second second ] ] ] | unlimited }
缺省情况下,IP地址租约有效期限为1天。
(1) 进入系统视图。
system-view
(2) 进入DHCP地址池视图。
dhcp server ip-pool pool-name
(3) 配置DHCP地址池中不参与自动分配的IP地址。
forbidden-ip ip-address&<1-8>
缺省情况下,未配置地址池中不参与自动分配的IP地址。
多次执行forbidden-ip命令,可以配置多个不参与自动分配的IP地址段。
(4) 配置地址池中不参与自动分配的IP地址段。
forbidden-ip-range start-ip-address [ end-ip-address ]
缺省情况下,未配置地址池中不参与自动分配的IP地址段。
多次执行forbidden-ip-range命令,可以配置多个不参与自动分配的IP地址段。
(5) (可选)在系统视图下配置全局不参与自动分配的IP地址。
a. 退回系统视图。
quit
b. 配置全局不参与自动分配的IP地址。
dhcp server forbidden-ip start-ip-address [ end-ip-address ] [ vpn-instance vpn-instance-name ]
缺省情况下,除DHCP服务器接口的IP地址外,DHCP地址池中的所有IP地址都参与自动分配。
多次执行dhcp server forbidden-ip命令,可以配置多个不参与自动分配的IP地址段。
某些客户端(如Web服务器等)需要固定的IP地址,通过以下几种方式可以实现为特定的客户端分配特定的IP地址:
· 将客户端的硬件地址与IP地址绑定:当具有此MAC地址的客户端申请IP地址时,DHCP服务器将根据客户端的MAC地址查找到对应的IP地址,并分配给客户端。
· 将客户端ID与IP地址绑定:某些客户端在向DHCP服务器发送DHCP-DISCOVER报文申请IP地址时,会构建客户端ID并添加到报文中一起发送。如果在DHCP服务器上将客户端ID与IP地址绑定,则当该客户端申请IP地址时,DHCP服务器将根据客户端ID查找到对应的IP地址并分配给客户端。
· 静态绑定的IP地址不能是DHCP服务器的接口IP地址,否则会导致IP地址冲突,被绑定的客户端将无法正常获取到IP地址。
· 如果作为DHCP客户端的设备,接口的MAC地址相同,则为了区分不同接口,采用静态绑定方式进行地址分配时,需要在服务器上配置静态绑定的客户端ID,而不能配置静态绑定的客户端MAC地址,否则可能导致客户端无法成功获取IP地址。
(1) 进入系统视图。
system-view
(2) 进入DHCP地址池视图。
dhcp server ip-pool pool-name
(3) 配置静态地址绑定。
static-bind ip-address ip-address [ mask-length | mask mask ] { client-identifier client-identifier | hardware-address hardware-address [ ethernet | token-ring ] }
缺省情况下,未配置静态地址绑定。
同一地址只能绑定给一个客户端。不允许通过重复执行static-bind ip-address命令的方式修改IP地址与客户端的绑定关系。只有删除了某个地址的绑定关系,才能将该地址与其他客户端绑定。
(4) (可选)配置静态绑定IP地址的租约有效期限。
expired { day day [ hour hour [ minute minute [ second second ] ] ] | unlimited }
缺省情况下,IP地址租约有效期限为1天。
DHCP客户端访问本网段以外的服务器或主机时,数据必须通过网关进行转发。DHCP服务器可以为客户端指定网关的地址。
· 在DHCP服务器上,可以为每个地址池分别指定客户端对应的网关地址。目前,每个DHCP地址池视图下、每个从网段视图下最多可以配置64个网关地址。
· DHCP地址池视图下执行gateway-list命令,配置的是为地址池中所有DHCP客户端分配的网关地址。如果用户需要为地址池下某个从网段的DHCP客户端分配其它的网关地址,可以在地址池的从网段视图下执行gateway-list命令。如果在地址池视图和从网段视图下都配置了网关地址,则优先将从网段视图下配置的网关地址分配给从网段的DHCP客户端。
(1) 进入系统视图。
system-view
(2) 进入DHCP地址池视图。
dhcp server ip-pool pool-name
(3) 配置为DHCP客户端分配的网关地址。
gateway-list ip-address&<1-64>
缺省情况下,未配置为DHCP客户端分配的网关地址。
(4) (可选)在从网段视图中配置为DHCP客户端分配的网关地址。
a. 进入从网段视图。
network network-address [ mask-length | mask mask ] secondary
b. 配置为DHCP客户端分配的网关地址。
gateway-list ip-address&<1-64>
缺省情况下,未配置为DHCP客户端分配的网关地址。
在DHCP服务器上,可以为每个地址池指定客户端使用的域名后缀。
在客户端进行域名解析时,用户只需要输入域名的部分字段,客户端会自动将输入的域名加上从DHCP服务器获得的域名后缀进行解析。有关域名后缀的详细介绍,请参见“三层技术-IP业务配置指导”中的“域名解析”。
(1) 进入系统视图。
system-view
(2) 进入DHCP地址池视图。
dhcp server ip-pool pool-name
(3) 配置为DHCP客户端分配的域名后缀。
domain-name domain-name
缺省情况下,未配置为DHCP客户端分配的域名后缀。
为了使DHCP客户端能够通过域名访问Internet上的主机,DHCP服务器应在为客户端指定DNS(Domain Name System,域名系统)服务器地址。目前,每个DHCP地址池视图下最多可以配置8个DNS服务器地址。
(1) 进入系统视图。
system-view
(2) 进入DHCP地址池视图。
dhcp server ip-pool pool-name
(3) 配置为DHCP客户端分配的DNS服务器地址。
dns-list ip-address&<1-8>
缺省情况下,未配置为DHCP客户端分配的DNS服务器地址。
对于使用Microsoft Windows操作系统的客户端,由WINS(Windows Internet Naming Service,Windows Internet名称服务)服务器为通过NetBIOS协议通信的主机提供主机名到IP地址的解析。所以,大部分Windows网络客户端需要进行WINS的设置。
为了使DHCP客户端实现主机名到IP地址的解析,DHCP服务器应该为客户端指定WINS服务器地址。
DHCP客户端在网络上使用NetBIOS协议通信时,需要在主机名和IP地址之间建立映射关系。根据获取映射关系方式的不同,NetBIOS节点分为四种:
· b类节点(b-node):“b”代表广播(broadcast),即此类节点采用广播方式获取映射关系。源节点通过发送带有目的节点主机名的广播报文来获取目的节点的IP地址,目的节点收到广播报文后,就将自己的IP地址返回给源节点。
· p类节点(p-node):“p”代表端到端(peer-to-peer),即此类节点采用发送单播报文与WINS服务器通信的方式获取映射关系。源节点给WINS服务器发送单播报文,WINS服务器收到单播报文后,返回源节点请求的目的节点名所对应的IP地址。
· m类节点(m-node):“m”代表混合(mixed),是具有部分广播特性的p类节点。即此类节点首先发送广播报文来获取映射关系,如果没有获取到,则再发送单播报文与WINS服务器通信来获取映射关系。
· h类节点(h-node):“h”代表混合(hybrid),是具备“端到端”通信机制的b类节点。即此类节点首先发送单播报文与WINS服务器通信来获取映射关系,如果没有获取到,再发送广播报文来获取映射关系。
(1) 进入系统视图。
system-view
(2) 进入DHCP地址池视图。
dhcp server ip-pool pool-name
(3) 配置为DHCP客户端分配的WINS服务器地址。
nbns-list ip-address&<1-8>
缺省情况下,未配置为DHCP客户端分配的WINS服务器地址。
对于b类节点,为可选;其他情况下,为必选。每个DHCP地址池视图下最多可以配置8个WINS服务器地址。
(4) 配置为DHCP客户端分配的NetBIOS节点类型。
netbios-type { b-node | h-node | m-node | p-node }
缺省情况下,未配置为DHCP客户端分配的NetBIOS节点类型。
为了使DHCP客户端通过BIMS(Branch Intelligent Management System,分支网点智能管理系统)服务器进行软件的备份和升级等操作,DHCP服务器需要将BIMS服务器的IP地址、端口号以及加密的共享密钥等信息发给DHCP客户端。之后,DHCP客户端就可以定期向BIMS服务器发送连接请求,从BIMS服务器上获取配置文件,进行软件的备份和升级等操作。
(1) 进入系统视图。
system-view
(2) 进入DHCP地址池视图。
dhcp server ip-pool pool-name
(3) 配置为DHCP客户端分配的BIMS服务器的IP地址、端口及共享密钥信息。
bims-server ip ip-address [ port port-number ] sharekey { cipher | simple } string
缺省情况下,未配置为DHCP客户端分配的BIMS服务器信息。
服务器自动配置功能在空配置启动的设备上不需要进行任何配置,但需要在DHCP服务器上配置一些必需的参数,包括TFTP服务器地址、TFTP服务器名和启动文件名或远程启动文件的HTTP形式URL等。
(1) 进入系统视图。
system-view
(2) 进入DHCP地址池视图。
dhcp server ip-pool pool-name
(3) 配置DHCP客户端使用的TFTP服务器信息。请选择其中至少一项进行配置。
¡ 配置DHCP客户端使用的TFTP服务器地址。
tftp-server ip-address ip-address
缺省情况下,未配置DHCP客户端使用的TFTP服务器地址。
¡ 配置DHCP客户端使用的TFTP服务器名。
tftp-server domain-name domain-name
缺省情况下,未配置DHCP客户端使用的TFTP服务器名。
(4) 配置DHCP客户端使用的启动文件名。
bootfile-name bootfile-name
缺省情况下,未配置DHCP客户端使用的启动文件名。
(1) 进入系统视图。
system-view
(2) 进入DHCP地址池视图。
dhcp server ip-pool pool-name
(3) 配置DHCP客户端使用的远程启动文件的HTTP形式URL。
bootfile-name url
缺省情况下,未配置DHCP客户端使用的远程启动文件的HTTP形式URL。
设备在启动后,可能需要访问某些服务器获取设备运行需要的信息,例如从TFTP服务器上获取配置文件。通过本配置可以指定DHCP服务器为DHCP客户端分配的下一个提供服务的服务器IP地址,以便客户端启动后访问该服务器,获取必要的信息。
(1) 进入系统视图。
system-view
(2) 进入DHCP地址池视图。
dhcp server ip-pool pool-name
(3) 配置DHCP地址池为DHCP客户端分配的下一个提供服务的服务器IP地址。
next-server ip-address
缺省情况下,未配置DHCP地址池为DHCP客户端分配的下一个提供服务的服务器IP地址。
为了使具有语音功能的DHCP客户端能够在通过DHCP获取IP地址的同时,获取到语音呼叫所需的相关信息,需要在DHCP服务器上配置Option 184。Option 184内容的详细介绍,请参见“1.6.3 Option 184”。
(1) 进入系统视图。
system-view
(2) 进入DHCP地址池视图。
dhcp server ip-pool pool-name
(3) 配置网络呼叫处理器的地址。
voice-config ncp-ip ip-address
缺省情况下,未配置网络呼叫处理器的地址。
只有配置了网络呼叫处理器的地址,其他配置才能生效。
(4) (可选)配置备用服务器的地址。
voice-config as-ip ip-address
缺省情况下,未配置备用服务器的地址。
(5) (可选)配置语音VLAN。
voice-config voice-vlan vlan-id { disable | enable }
缺省情况下,未配置语音VLAN。
(6) (可选)配置自动故障转移呼叫路由。
voice-config fail-over ip-address dialer-string
缺省情况下,未配置自动故障转移呼叫路由。
本配置为DHCP服务器提供了灵活的选项配置方式,使得DHCP服务器可以为DHCP客户端提供更加丰富的选项内容。在以下情况下,可以使用本命令自定义DHCP选项:
· 随着DHCP的不断发展,新的DHCP选项会陆续出现。通过自定义DHCP选项,可以方便地添加新的DHCP选项。
· 有些选项的内容,RFC中没有统一规定。厂商可以根据需要定义选项的内容,如Option 43。通过自定义DHCP选项,可以为DHCP客户端提供厂商指定的信息。
· 设备上只提供了有限的选项配置命令(如gateway-list、dns-list命令),对于没有专门命令来配置的DHCP选项,可以通过option命令配置选项内容。例如,可以通过option 4 ip-address 1.1.1.1命令指定为DHCP客户端分配的时间服务器地址为1.1.1.1。
· 扩展已有的DHCP选项。当前已提供的方式无法满足用户需求时(比如通过dns-list命令最多只能配置8个DNS服务器地址,如果用户需要配置的DNS服务器地址数目大于8,则该命令无法满足需求),可以通过自定义DHCP选项的方式进行扩展。
表2-1中列出了常用的DHCP选项名称、对应的配置命令和推荐的Option命令参数信息。
表2-1 常用Option选项信息
|
选项编号 |
选项名称 |
对应的配置命令 |
推荐的option命令参数 |
|
3 |
Router Option |
gateway-list |
ip-address |
|
6 |
Domain Name Server Option |
dns-list |
ip-address |
|
15 |
Domain Name |
domain-name |
ascii |
|
44 |
NetBIOS over TCP/IP Name Server Option |
nbns-list |
ip-address |
|
46 |
NetBIOS over TCP/IP Node Type Option |
netbios-type |
hex |
|
66 |
TFTP server name |
tftp-server |
ascii |
|
67 |
Bootfile name |
bootfile-name |
ascii |
|
43 |
Vendor Specific Information |
- |
hex |
· 自定义DHCP选项时,取值的获取比较复杂,配置错误可能会对DHCP的工作过程造成影响,请谨慎使用该功能。
· 用户可在DHCP地址池中自定义选项信息。
· 用户可在DHCP选项组中自定义选项信息,并在DHCP地址池中配置DHCP用户类和DHCP选项组关联,为DHCP客户端分配选项信息。
(1) 进入系统视图。
system-view
(2) 进入DHCP地址池视图。
dhcp server ip-pool pool-name
(3) 自定义DHCP地址池选项。
option code { ascii ascii-string | hex hex-string | ip-address ip-address&<1-8> }
缺省情况下,未自定义DHCP地址池选项。
DHCP服务器在应答DHCP客户端报文时,如果DHCP选项组的选项编号和DHCP地址池选项编号相同且匹配用户类时,以DHCP选项组的选项为准。
(1) 进入系统视图。
system-view
(2) 创建DHCP选项组,并进入DHCP选项组视图。
dhcp option-group option-group-number
(3) 自定义DHCP选项组选项。
option code { ascii ascii-string | hex hex-string | ip-address ip-address&<1-8> }
缺省情况下,未定义DHCP选项组的选项。
DHCP服务器在应答客户端报文时,如果多个DHCP选项组的选项编号相同时,以最先匹配的DHCP用户类对应的DHCP选项组的选项为准。
(4) 返回系统视图。
quit
(5) 进入DHCP地址池视图。
dhcp server ip-pool pool-name
(6) 配置DHCP用户类与DHCP选项组的关联。
class class-name option-group option-group-number
缺省情况下,未配置指定DHCP用户类与DHCP 选项组的关联。
当地址池绑定了VPN实例后,DHCP服务器可以将网络划分成公网和VPN私网。未配置VPN属性的地址池被划分到公