2016-05-28 10:06:31

DHCP协议 免费编辑 添加义项名

B 添加义项
?
义项指多义词的不同概念,如李娜的义项:网球运动员、歌手等;非诚勿扰的义项:冯小刚执导电影、江苏卫视交友节目等。 查看详细规范>>
所属类别 :
通信技术
通信技术
编辑分类

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述。DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口;546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP failover服务,这是需要特别开启的服务,DHCP failover是用来做"双机热备"的。

基本信息

  • 中文名

    动态主机配置协议

  • 外文名

    Dynamic Host Configuration Protocol

  • 前生

    BOOTP

  • 简称

    DHCP

  • 类型

    计算机网络应用层协议

折叠 编辑本段 技术简介

DHCP是DynamicHostConfigurationProtocol之缩写﹐它的前身是BOOTP。BOOTP原本是用于无磁碟主机连接DHCP协议DHCP协议的网路上面的﹕网路主机使用BOOTROM而不是磁碟起动并连接上网路﹐BOOTP则可以自动地为那些主机设定TCP/IP环境。但BOOTP有一个缺点:您在设定前须事先获得客户端的硬体位址,而且,与IP的对应是静态的。换而言之,BOOTP非常缺乏"动态性",若在有限的IP资源环境中,BOOTP的一对一对应会造成非常可观的浪费。

DHCP可以说是BOOTP的增强版本﹐它分为两个部份﹕一个是服务器端﹐而另一个是客户端。所有的IP网路设定资料都由DHCP伺服器集中管理﹐并负责处理客户端的DHCP要求﹔而客户端则会使用从伺服器分配下来的IP环境资料。比较起BOOTP,DHCP透过"租约"的概念,有效且动态的分配客户端的TCP/IP设定,而且,作为兼容考量,DHCP也完全照顾了BOOTPClient的需求[1]

折叠 编辑本段 分配形式

首先﹐必须至少有一台DHCP工作在网路上面﹐它会监听网路的DHCP请求﹐并与客户端搓商TCP/IP的设定环境。它提供两种IP定位方式﹕

AutomaticAllocation

自动分配﹐其情形是﹕一旦DHCP客户端第一次成功的从DHCP伺服器端租用到IP位址之后﹐就永远使用这个位址。

DynamicAllocation

动态分配﹐当DHCP第一次从HDCP伺服器端租用到IP位址之后﹐并非永久的使用该位址﹐只要租约到期﹐客户端就得释放(release)这个IP位址﹐以给其它工作站使用。当然﹐客户端可以比其它主机更优先的延续(renew)租约﹐或是租用其它的IP位址。

动态分配显然比自动分配更加灵活﹐尤其是当您的实际IP位址不足的时候﹐例如﹕您是一家ISP﹐只能提供200个IP位址用来给拨接客户﹐但并不意味着您的客户最多只能有200个。因为要知道﹐您的客户们不可能全部同一时间上网的﹐除了他们各自的行为习惯的不同﹐也有可能是电话线路的限制。这样﹐您就可以将这200个位址﹐轮流的租用给拨接上来的客户使用了。这也是为什么当您查看IP位址的时候﹐会因每次拨接而不同的原因了(除非您申请的是一个固定IP﹐通常的ISP都可以满足这样的要求﹐这或许要另外收费)。当然﹐ISP不一定使用DHCP来分配位址﹐但这个概念和使用IPPool的原理是一样的。

DHCP除了能动态的设定IP位址之外﹐还可以将一些IP保留下来给一些特殊用途的机器使用﹐它可以按照硬体位址来固定的分配IP位址﹐这样可以给您更大的设计空间。同时﹐DHCP还可以帮客户端指定router﹑netmask﹑DNSServer﹑WINSServer﹑等等项目﹐您在客户端上面﹐除了将DHCP选项打勾之外﹐几乎无需做任何的IP环境设定。

折叠 编辑本段 工作原理

似乎客户端是否第一次登录网路﹐DHCP的工作形式会有所不同。

第一次登录的时候﹕

1.寻找Server。当DHCP客户端第一次登录网路的时候﹐也就是客户发现本机上没有任何IP资料设定﹐它会向网路发出一个DHCPDISCOVER封包。因为客户端还不知道自己属于哪一个网路﹐所以封包的来源位址会为0.0.0.0﹐而目的位址则为255.255.255.255﹐然后再附上Dhcpdiscover的信息﹐向网路进行广播。

在Windows的预设情形下,Dhcpdiscover的等待时间预设为1秒﹐也就是当客户端将第一个Dhcpdiscover封包送出去之后﹐在1秒之内没有得到回应的话﹐就会进行第二次Dhcpdiscover广播。若一直得不到回应的情况下﹐客户端一共会有四次Dhcpdiscover广播(包括第一次在内)﹐除了第一次会等待1秒之外﹐其余三次的等待时间分别是9﹑13﹑16秒。如果都没有得到DHCP伺服器的回应﹐客户端则会显示错误信息﹐宣告Dhcpdiscover的失败。之后﹐基于使用者的选择﹐系统会继续在5分钟之后再重复一次Dhcpdiscover的过程。

2.提供IP租用位址。当DHCP伺服器监听到客户端发出的Dhcpdiscover广播后﹐它会从那些还没有租出的位址范围内﹐选择最前面的的空置IP,连同其它TCP/IP设定,回应给客户端一个DHCPOFFER封包。

由于客户端在开始的时候还没有IP位址﹐所以在其Dhcpdiscover封包内会带有其MAC位址信息﹐并且有一个XID编号来辨别该封包﹐DHCP伺服器回应的Dhcpoffer封包则会根据这些资料传递给要求租约的客户。根据伺服器端的设定﹐Dhcpoffer封包会包含一个租约期限的信息。

3.接受IP租约。如果客户端收到网路上多台DHCP伺服器的回应﹐只会挑选其中一个Dhcpoffer而已(通常是最先抵达的那个)﹐并且会向网路发送一个Dhcprequest广播封包﹐告诉所有DHCP伺服器它将指定接受哪一台伺服器提供的IP位址。

同时﹐客户端还会向网路发送一个ARP封包﹐查询网路上面有没有其它机器使用该IP位址﹔如果发现该IP已经被占用﹐客户端则会送出一个DHCPDECLINE封包给DHCP伺服器﹐拒绝接受其Dhcpoffer﹐并重新发送Dhcpdiscover信息。

事实上﹐并不是所有DHCP客户端都会无条件接受DHCP伺服器的offer﹐尤其这些主机安装有其它TCP/IP相关的客户软体。客户端也可以用Dhcprequest向伺服器提出DHCP选择﹐而这些选择会以不同的号码填写在DHCPOptionField里面﹕

换一句话说﹐在DHCP伺服器上面的设定﹐未必是客户端全都接受﹐客户端可以保留自己的一些TCP/IP设定。而主动权永远在客户端这边。

4.租约确认。当DHCP伺服器接收到客户端的Dhcprequest之后﹐会向客户端发出一个DHCPACK回应﹐以确认IP租约的正式生效﹐也就结束了一个完整的DHCP工作过程。

如上的工作流程如下图:

折叠 编辑本段 ​发放流程

第一次登录之后﹕

一旦DHCP客户端成功地从伺服器哪里取得DHCP租约之后﹐除非其租约已经失效并且IP位址也重新设定回0.0.0.0﹐否则就无需再发送Dhcpdiscover信息了﹐而会直接使用已经租用到的IP位址向之前之DHCP伺服器发出Dhcprequest信息﹐DHCP伺服器会尽量让客户端使用原来的IP位址﹐如果没问题的话﹐直接回应Dhcpack来确认则可。如果该位址已经失效或已经被其它机器使用了﹐伺服器则会回应一个DHCPNACK封包给客户端﹐要求其从新执行Dhcpdiscover。

至于IP的租约期限却是非常考究的﹐并非如我们租房子那样简单﹐以NT为例子﹕DHCP工作站除了在开机的时候发出dhcprequest请求之外﹐在租约期限一半的时候也会发出dhcprequest﹐如果此时得不到DHCP伺服器的确认的话﹐工作站还可以继续使用该IP﹔然后在剩下的租约期限的再一半的时候(即租约的75%)﹐还得不到确认的话﹐那么工作站就不能拥有这个IP了。至于为什么不是到租约期限完全结束才放弃IP呢﹖对不起﹐小弟也是不学无术之人﹐没有去深究了﹐只知道要回答MCSE题目的时候﹐您一定要记得NT是这么工作的就是了。

要是您想退租,可以随时送出DHCPLEREASE命令解约﹐就算您的租约在前一秒钟才获得的。

折叠 编辑本段 跨网运作

从前面描述的过程中,我们不难发现:DHCDISCOVER是以广播方式进行的,其情形只能在同一网路之内进行﹐因为router是不会将广播传送出去的。但如果DHCP伺服器安设在其它的网路上面呢﹖由于DHCP客户端还没有IP环境设定﹐所以也不知道Router位址﹐而且有些Router也不会将DHCP广播封包传递出去﹐因此这情形下DHCPDISCOVER是永远没办法抵达DHCP伺服器那端的,当然也不会发生OFFER及其他动作了。要解决这个问题,我们可以用DHCPAgent(或DHCPProxy)主机来接管客户的DHCP请求﹐然后将此请求传递给真正的DHCP伺服器﹐然后将伺服器的回复传给客户。这里﹐Proxy主机必须自己具有路由能力,且能将双方的封包互传对方。

若不使用Proxy,您也可以在每一个网路之中安装DHCP伺服器﹐但这样的话﹐一来设备成本会增加﹐而且﹐管理上面也比较分散。当然啰﹐如果在一个十分大型的网路中﹐这样的均衡式架构还是可取的。端视您的实际情况而定了。

折叠 编辑本段 封包格式

以下为各栏位的简要说明:

OP

若是client送给server的封包,设为1,反向为2。

HTYPE

硬体类别,Ethernet为1。

HLEN

硬体位址长度,Ethernet为6。

HOPS

若封包需经过router传送,每站加1,若在同一网内,为0。

TRANSACTIONID

DHCPREQUEST时产生的数值,以作DHCPREPLY时的依据。

SECONDS

Client端启动时间(秒)。

FLAGS

从0到15共16bits,最左一bit为1时表示server将以广播方式传送封包给client,其余尚未使用。

ciaddr

要是client端想继续使用之前取得之IP位址,则列于这里。

yiaddr

从server送回client之DHCPOFFER与DHCPACK封包中,此栏填写分配给client的IP位址。

siaddr

若client需要透过网路开机,从server送出之DHCPOFFER、DHCPACK、DHCPNACK封包中,此栏填写开机程式码所在server之位址。

giaddr

若需跨网域进行DHCP发放,此栏为relayagent的位址,否则为0。

chaddr

Client之硬体位址。

sname

Server之名称字串,以0x00结尾。

file

若client需要透过网路开机,此栏将指出开机程式名称,稍后以TFTP传送。

options

允许厂商定议选项(Vendor-SpecificArea),以提供更多的设定资讯(如:Netmask、Gateway、DNS、等等)。其长度可变,同时可携带多个选项,每一选项之第一个byte为资讯代码,其后一个byte为该项资料长度,最后为项目内容。

DHCP的选项非常多,有空请查阅RFC或相关文献,并好好理解,这里不再叙述了。

DHCP协定之RFC文件

RFC-951﹑RFC-1084﹑RFC-1123﹑RFC-1533﹑RFC-1534﹑RFC-1497﹑RFC-1541

折叠 编辑本段 网络设备

注意:不同的网络设备配置的语法不一样.

要配置DHCP,可以按照下面任务列表进行配置,其中前三个配置任务是必须的。

l 启用DHCP服务器与中继代理(要求)

l DHCP排斥地址配置(要求)

l DHCP地址池配置(要求)

l 配置CLASS(可选)

l 配置绑定数据库保存(可选)

l 手工地址绑定(可选)

l 配置Ping包次数(可选)

l 配置Ping包超时时间(可选)

l 以太网接口DHCP客户端配置(可选)

l PPP封装链路上的DHCP客户端配置(可选)

l FR封装链路上的DHCP客户端配置(可选)

l HDLC封装链路上的DHCP客户端配置(可选)

启用DHCP服务器与中继代理

要启用DHCP服务器、中继代理,全局配置模式中执行以下命令:

命令

作用

R (config)#service dhcp

启用DHCP服务器和DHCP中继代理功能

R (config)#no service dhcp

关闭DHCP服务器和中继代理功能

DHCP排斥地址配置

如果没有特别配置,DHCP服务器会试图将在地址池中定义的所有子网地址分配给DHCP客户端。因此,如果你想保留一些地址不想分配,比如已经分配给服务器或者设备了,你必须明确定义这些地址是不允许分配给客户端的。

要配置哪些地址不能分配给客户端,在全局配置模式中执行以下命令:

命令

作用

R (config)#ip dhcp excluded-address

定义IP地址范围,这些地址DHCP不会分配给客户端

R (config)#no ip dhcp excluded-address

low-ip-address[high-ip-address]

取消配置地址排斥

配置DHCP服务器,一个好的习惯是将所有已明确分配的地址全部不允许DHCP分配,这样可以带来两个好处:1)不会发生地址冲突;2)DHCP分配地址时,减少了检测时间,从而提高DHCP分配效率。

DHCP地址池配置

DHCP的地址分配以及给客户端传送的DHCP各项参数,都需要在DHCP地址池中进行定义。如果没有配置DHCP地址池,即使启用了DHCP服务器,也不能对客户端进行地址分配;但是如果启用了DHCP服务器,不管是否配置了DHCP 地址池,DHCP中继代理的总是起作用的。

如果DHCP请求包中没有DHCP中继代理的IP地址,就分配与接收DHCP请求包接口的IP地址同一子网或网络的地址给客户端。如果没定义这个网段的地址池,地址分配就失败;

如果DHCP请求包中有中继代理的IP地址,就分配与该地址同一子网或网络的地址给客户端。如果没定义这个网段的地址池,地址分配就失败。

要进行DHCP地址池配置,请根据实际的需要执行以下任务,其中前三个任务要求执行:

l 配置地址池并进入其配置模式(要求)

l 配置地址池子网及其掩码(要求)

l 配置客户端缺省网关(要求)

l 配置地址租期(可选)

l 配置客户端的域名(可选)

l 配置域名服务器(可选)

l 配置NetBIOS WINS服务器(可选)

l 配置客户端NetBIOS节点类型(可选)

l 配置DHCP地址池根据Option82分配地址(可选)

配置地址池名并进入其配置模式

要配置地址池名并进入地址池配置模式,在全局配置模式中执行以下命令:

命令

作用

R (config)#ip dhcp pooldhcp-pool

配置地址池名并进入地址池配置模式

地址池的配置模式显示为“R(dhcp-config)#”。

配置客户端启动文件

客户端启动文件是客户端启动时要用到的启动映像文件。启动映像文件通常是DHCP客户端需要下载的操作系统。

要配置客户端的启动文件,在地址池配置模式中执行以下命令:

命令

作用

R (dhcp-config)#bootfilefilename

配置客户端启动文件名

配置客户端缺省网关

配置客户端默认网关,这个将作为服务器分配给客户端的默认网关参数。缺省网关的IP地址必须与DHCP客户端的IP地址在同一网络。

要配置客户端的缺省网关,在地址池配置模式中执行以下命令:

命令

作用

R (dhcp-config)#default-routeraddress[address2…address8]

配置缺省网关

配置地址租期

DHCP服务器给客户端分配的地址,缺省情况下租期为1天。当租期快到时客户端需要请求续租,否则过期后就不能使用该地址。

要配置地址租期,在地址池配置模式中执行以下命令:

命令

作用

R (dhcp-config)#lease{days[hours][minutes] |infinite}

配置地址租期

配置客户端的域名

可以指定客户端的域名,这样当客户端通过主机名访问网络资源时,不完整的主机名会自动加上域名后缀形成完整的主机名。

要配置客户端的域名,在地址池配置模式中执行以下命令:

命令

作用

R (dhcp-config)#domain-namedomain

配置域名

配置域名服务器

当客户端通过主机名访问网络资源时,需要指定DNS服务器进行域名解析。要配置DHCP客户端可使用的域名服务器,在地址池配置模式中执行以下命令:

命令

作用

R (dhcp-config)#dns-serveraddress

[address2…address8]

配置DNS服务器

配置NetBIOS WINS服务器

NetBIOS WINS是微软TCP/IP网络解析NetNBIOS名字到IP地址的一种域名解析服务。WINS服务器是一个运行在Windows NT下的服务器。当WINS服务器启动后,会接收从WINS客户端发送的注册请求,WINS客户端关闭时,会向WINS服务器发送名字释放消息,这样WINS数据库中与网络上可用的计算机就可以保持一致了。

要配置DHCP客户端可使用的NetBIOS WINS服务器,在地址池配置模式中执行以下命令:

命令

作用

R (dhcp-config)#netbios-name-serveraddress[address2…address8]

配置NetBIOS WINS服务器

配置客户端NetBIOS节点类型

微软DHCP客户端NetBIOS节点类型有四种:1)Broadcast,广播型节点,通过广播方式进行NetBIOS名字解析;2)Peer-to-peer,对等型节点,通过直接请求WINS服务器进行NetBIOS名字解析;3)Mixed,混合型节点,先通过广播方式请求名字解析,后通过与WINS服务器连接进行名字解析;4)Hybrid,复合型节点,首先直接请求WINS服务器进行NetBIOS名字解析,如果没有得到应答,就通过广播方式进行NetBIOS名字解析。

缺省情况下,微软操作系统的节点类型为广播型或者复合型。如果没有配置WINS服务器,就为广播型节点;如果配置了WINS服务器,就为复合型节点。

要配置DHCP客户端NetBIOS节点类型,在地址池配置模式中执行以下命令:

命令

作用

R (dhcp-config)#netbios-node-typetype

配置NetBIOS节点类型

配置DHCP地址池的网络号和掩码

进行动态地址绑定的配置,必须配置新建地址池的子网及其掩码,为DHCP服务器提供了一个可分配给客户端的地址空间。除非有地址排斥配置,否则所有地址池中的地址都有可能分配给客户端。DHCP在分配地址池中的地址,是按顺序进行的,如果该地址已经在DHCP绑定表中或者检测到该地址已经在该网段中存在,就检查下一个地址,直到分配一个有效的地址。

要配置地址池子网和掩码,在地址池配置模式中执行以下命令:

命令

作用

R (dhcp-config)#networknetwork-number mask

配置DHCP地址池的网络号和掩码

配置DHCP地址池根据Option82分配地址

通常,DHCP中继代理在转发报文的过程中会添加一个Option82选项用来记录客户端的相关信息(如客户端所处的VLAN、设备槽号、端口号或者用户的1X等级等等),DHCP服务器在收到该报文后可以通过解析Option82信息来根据客户端的具体信息进行地址分配。如对某个VLAN或者某个用户等级的客户端分配某个范围内的IP地址。在需要根据用户的具体网络位置信息(如VLAN、槽号、端口号)来为用户分配特有的IP地址范围或者根据用户的优先级分配特有的(如受限、非受限)IP地址时,可以采用该功能。

每个DHCP地址池可以根据Option82信息进行地址分配,我们把Option82信息进行匹配归类,在DHCP地址池中为这些归类分别指定可以分配的网段范围。这个归类称为CLASS,一个DHCP地址池可以关联多个CLASS,每个CLASS可以指定不同的网段范围。

在地址分配的过程中可以先根据客户端所处的网段确定可以分配的地址池,再根据其Option82信息进一步确定其所属的CLASS,从CLASS对应的网段范围中分配IP地址。当一个请求报文匹配地址池中的多个CLASS时,按照CLASS在地址池中配置的先后顺序从对应的CLASS网段范围中分配地址,如果该CLASS已无可分配地址,则继续从下一个匹配的CLASS网段范围进行分配,依此类推。每个CLASS对应一个网段范围,网段范围必须从低地址到高地址,可以允许多个CLASS之间的网段范围重复。如果指明了地址池关联的CLASS,但对应的网段范围没有配置,则该CLASS默认的网段范围和CLASS所处的地址池的网段范围相同。

要配置地址池关联的CLASS以及CLASS所对应的网段范围,在地址池配置模式中执行以下命令:


命令

作用


R (dhcp-config)#classclass-name

配置关联的CLASS名称,并进入地址池的CLASS配置模式


R(config-dhcp-pool-class)#address rangelow-ip-addresshigh-ip-address

配置对应的网段范围

值得注意的是:

  1. 当配置的CLASS在全局CLASS查找不到的情况下,会自动创建一个全局的CLASS;
  2. 在地址池中配置关联CLASS与静态手工绑定配置冲突,不可同时配置。
  3. 每个地址池下允许配置的CLASS数目最大为5个

折叠 配置CLASS

配置CLASS的Option82匹配信息

在全局模式下进入CLASS配置模式后,可以配置每个CLASS对应的具体的Option82匹配信息。一个CLASS可以匹配多个Option82信息,请求报文匹配时只要匹配其中一条信息即认为通过匹配,如果CLASS不配置任何的匹配信息,则认为该CLASS可以匹配任何携带Option82信息的请求报文。请求报文只有匹配了具体的CLASS后,才可从对应的地址池关联的CLASS网段范围中分配地址。

要配置全局的CLASS以及CLASS所对应的匹配Option82信息,在全局配置模式中执行以下命令:

命令

作用

R (config)#ip dhcp classclass-name

配置CLASS名并进入全局CLASS配置模式

R (config-dhcp-class)#relay agent information

进入Option82匹配信息配置模式

R (config-dhcp-class-relayinfo)#relay-information hexaabb.ccdd.eeff…[*]

配置具体的Option82匹配信息

1. aabb.ccdd.eeff..为16进制数

2. *代表不完全匹配模式,只需要匹配*之前信息即通过匹配

值得注意的是:全局CLASS可匹配的最大个数为20个。


配置CLASS的标识信息

要配置标识信息来描述CLASS代表的含义,在全局配置模式中执行以下命令:

命令

作用

R (config)#ip dhcp classclass-name

配置CLASS名并进入CLASS配置模式

R (config-dhcp-class)#remarkused in #1 building

配置标识信息

配置是否使用CLASS分配

要设置使用CLASS来进行地址分配,在全局配置模式中执行如下命令:

命令

作用

R (config)#ip dhcp use class

配置使用CLASS进行地址分配

应注意的是:默认情况下该命令打开,执行NO命令关闭使用CLASS进行地址分配。

配置定时把绑定数据库保存到FLASH

为了防止设备断电重启导致设备上的DHCP服务器的绑定数据库(租约信息)丢失,DHCP提供可配置的定时把绑定数据库写入FLASH的命令,默认情况下,定时为0,即不定时写FLASH。

要配置定时把绑定数据库保存到FLASH,在全局配置模式中执行以下命令:

命令

作用

R (config)# [no]ip dhcp database write-delay[time]

设置DHCP延迟写FLASH的时间

time:600s--86400s,缺省为0

值得注意的是:由于不停擦写FLASH会造成FLASH的使用寿命缩短,所以在设置延迟写FLASH时间时需要注意,设置时间较短有利于设备信息更有效的保存,设置时间较长能够减少写FLASH的次数,延长FLASH的使用寿命。

配置手动把绑定数据库保存到FLASH

为了防止设备断电重启导致设备上的DHCP绑定数据库(租约信息)丢失,除了配置定时写FLASH外,也可以根据需要手动地把当前的绑定数据库信息立即写入FLASH。

要配置手动把绑定数据库保存到FLASH,在全局配置模式中执行以下命令:

命令

作用

R (config)#ip dhcp database write-to-flash

把DHCP绑定数据库信息写入FLASH

折叠 手工地址绑定

地址绑定是指IP地址和客户端MAC地址的映射关系。地址绑定有两种:1)手工绑定,就是在DHCP服务器数据库中,通过手工定义将IP地址和MAC地址进行静态映射,手工绑定其实是一个特殊地址池;2)动态绑定,DHCP 服务器接收到DHCP请求时,动态地从地址池中分配IP地址给客户端,而形成的IP地址和MAC地址映射。

要定义手工地址绑定,首先需要为每一个手动绑定定义一个主机地址池,然后定义DHCP客户端的IP地址和硬件地址或客户端标识。硬件地址就是MAC地址。客户端标识,微软客户端一般定义客户端标识,而不定义MAC地址,客户端标识包含了网络媒介类型和MAC地址。关于媒介类型的编码,请参见RFC 1700中关于“Address Resolution Protocol Parameters”部分内容。以太网类型为“01”。

要配置手工地址绑定,在地址池配置模式中执行以下命令:

命令

作用

R (config)#ip dhcp poolname

定义地址池名,进入DHCP配置模式

R (dhcp-config)#hostaddress[netmask]

定义客户端IP地址

R (dhcp-config)#client-identifierunique-identifier

定义客户端硬件地址,如aabb.bbbb.bb88

定义客户端的标识,如01aa.bbbb.bbbb.88

R (dhcp-config)#client-namename

(可选)用标准的ASCII字符定义客户端的名字,名字不要包括域名。如定义mary主机名,不可定义成mary.rg.com

配置Ping包次数

缺省情况,当DHCP服务器试图从地址池中分配一个IP地址时,会对该地址执行两次Ping命令(一次一个数据包)。如果Ping没有应答,DHCP服务器认为该地址为空闲地址,就将该地址分配给DHCP客户端;如果Ping有应答,DHCP服务器认为该地址已经在使用,就试图分配另外一个地址给DHCP客户端,直到分配成功。

要配置Ping包次数,在全局配置模式中执行以下命令:

命令

作用

R (config)#ip dhcp ping packets[number]

配置DHCP服务器在分配地址之前的Ping包次数,如果设为0则不进行Ping操作,缺省为2。

配置Ping包超时时间

缺省情况下,DHCP服务器Ping操作如果500毫秒没有应答,就认为没有该IP地址主机存在。你可以通过调整Ping包超时时间,改变服务器Ping等待应答的时间。

要配置Ping包超时时间,在全局配置模式中执行以下命令:

命令

作用

R (config)#ip dhcp ping timeoutmilliseconds

配置DHCP服务器Ping包超时时间,缺省为500ms。

以太网接口DHCP客户端配置

配置以太网接口DHCP客户端,在接口配置模式中执行以下命令:

命令

作用

R (config-if)#ip address dhcp

配置通过DHCP得到IP地址

PPP封装链路上的DHCP客户端配置

配置DHCP客户端,在接口配置模式中执行以下命令:

命令

作用

R(config-if)#ip address dhcp

配置通过DHCP得到IP地址

FR封装链路上的DHCP客户端配置

在接口配置模式中执行以下命令:

命令

作用

R(config-if)#ip address dhcp

配置通过DHCP得到IP地址

HDLC封装链路上的DHCP客户端配置

配置DHCP客户端,在接口配置模式中执行以下命令:

命令

作用

R (config-if)#ip address dhcp

配置通过DHCP得到IP地址

折叠 编辑本段 配置案例

折叠 应用需求

1、 Host A可以作为DHCP Server为一部分客户端用户分配动态IP地址。可分配地址的网段为172.16.1.0/24,缺省网关为172.16.1.254,域名为ruijie.com.cn,域名服务器为172.16.1.253,WINS服务器为172.16.1.252,NetBIOS节点类型为复合型,地址租期为1天。在地址的网段中除了172.16.1.2~172.16.1.100地址外,其余地址均为可分配地址。

2、 Host A为一部分客户端用户分配固定IP地址。对MAC地址为00d0.df34.32a3的DHCP客户端分配的IP地址为172.16.1.101,掩码为255.255.255.0,主机名为admin,缺省网关为172.16.1.254,域名服务器为172.16.1.253,WINS服务器为172.16.1.252,NetBIOS节点类型为复合型。

3、 HOST B为设备接口FastEthernet 0/0配置DHCP自动分配地址。

折叠 配置要点

1、 在Host A上开启DHCP服务器功能[2],创建一个地址池,用于配置动态分配IP地址,另外创建一个地址池,用于手工绑定IP地址。并在相应的地址池指定域名服务器地址(本例为DNS Server和WINS Server的地址)以及客户端的域名。

2、 在Host B上指定接口开启DHCP客户端功能,自动获取IP地址。

折叠 配置步骤

第一步,在Host A上,创建新的DHCP地址池,配置动态分配IP地址。

!配置地址池名为“dynamic”,并进入DHCP配置模式。

HostA# configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

HostA(config)# ip dhcp pool dynamic

!在DHCP配置模式下,配置一个可分配给客户的IP地址网段,并配置该地址网段的默认网关。并设置租期为1天。

HostA(dhcp-config)# network 172.16.1.0 255.255.255.0

HostA(dhcp-config)# default-router 172.16.1.254

HostA(dhcp-config)# lease 1

第二步,指定“dynamic”地址池的DNS Server,并配置客户端的域名。

!假设DNS Server的IP地址是172.16.1.253,在地址池中配置域名服务器,并配置客户端域名为AAAAA.com.cn。

HostA(dhcp-config)# dns-server 172.16.1.253

HostA(dhcp-config)# domain-name AAAAA.com.cn

第三步,指定“dynamic”地址池的WINS Server,并配置客户端NetBIOS节点类型。

!假设WIN Server的IP地址是172.16.1.252,在地址池中配置NetBIOS WINS服务器,并配置NetBIOS节点类型为Hybrid。

HostA(dhcp-config)# netbios-name-server 172.16.1.252

HostA(dhcp-config)# netbios-node-type h-node

第四步,在全局模式下配置排斥地址。

!如上,IP地址为172.16.1.254、172.16.1.253、172.16.1.252已经分配作为对应网段的网关、DNS服务器、WINS服务器的地址,并且地址范围172.16.1.2~172.16.1.100也不允许分配。通过排斥地址配置明确这些地址不允许分配给客户端用户。

HostA(dhcp-config)# exit

HostA(config)# ip dhcp excluded-address 172.16.1.252 172.16.1.254

HostA(config)# ip dhcp excluded-address 172.16.1.2 172.16.1.100

第五步,创建另一个地址池,配置手工绑定IP地址。

!配置地址池名为“static”,并进入DHCP配置模式。

HostA(config)# ip dhcp pool static

! 指明IP地址为172.16.1.101/24手工绑定MAC地址为00d0.df34.32a3,客户端名称为admin。注意:定义客户端的标识需增加网络媒介类型标识(以太网类型为“01”),即手工绑定的MAC地址对应的客户端标识为00d0.df34.32a3.14。

HostA(dhcp-config)# host 172.16.1.101 255.255.255.0

HostA(dhcp-config)# client-identifier 00d0.df34.32a3.14

HostA(dhcp-config)# client-name admin

第六步,指定“static”地址池对应的网关地址。

!配置网关地址为172.16.1.254。

HostA(dhcp-config)# default-router 172.16.1.254

第七步,指定“static”地址池的DNS Server,并配置客户端的域名。

!同上,并配置客户端域名为ruijie.com。

HostA(dhcp-config)# dns-server 172.16.1.253

HostA(dhcp-config)# domain-name AAAAA.com

第八步,指定“static”地址池的WINS Server,并配置客户端NetBIOS节点类型。

!同上。

HostA(dhcp-config)# netbios-name-server 172.16.1.252

HostA(dhcp-config)# netbios-node-type h-node

HostA(dhcp-config)# exit

第九步,在Host A上启用DHCP Server。

HostA(dhcp-config)# exit

HostA(config)# service dhcp

第十步,在Host B上启用DHCP Client。

!此例默认客户端的接口为三层口,启动DHCP client。

HostB(config)# interface fastEthernet 0/1

HostB(config-if-fastEthernet 0/1)# ip address dhcp

折叠 验证结果

第一步,查看Host A的配置信息

HostA# show running-config

!

service dhcp

!

ip dhcp excluded-address 172.16.1.252 172.16.1.254

ip dhcp excluded-address 172.16.1.2 172.16.1.100

!

!

ip dhcp pool dynamic

netbios-node-type n-node

netbios-name-server 172.16.1.252

domain-name AAAAA.com.cn

lease 1 0 0

network 172.16.1.0 255.255.255.0

dns-server 172.16.1.253

default-router 172.16.1.254

!

ip dhcp pool static

client-name admin

client-identifier 00d0.df34.32a3.14

host 172.16.1.101 255.255.255.0

netbios-node-type n-node

netbios-name-server 172.16.1.252

domain-name AAAAA.com.cn

dns-server 172.16.1.253

default-router 172.16.1.254

!

第二步,查看Host B的配置信息

HostB# show running-config

!

interface fastEthernet 0/1

//注:如果是交换机设备,这里应该还有no switchport命令,将接口设置为三层口

ip address dhcp

第三步,接入一台MAC地址为0013.2049.9014的PC,在Host A上查看DHCP Server分配IP地址信息。

R#show ip dhcp bindingIP address Client-Identifier/ Lease expiration Type

Hardware address

172.16.1.101 00d0.df34.32a3.14 IDLE Manual 172.16.1.102 0100.e04c.70b7.e2 000 days 23 hours 48 mins Automatic

DHCP主要用途

1)配置安全:避免了由于需要手动在每台PC上输入值而引起的配置错误

2)防止地址冲突:有助于防止由于在网络上配置新的PC时重用以前指派的IP地址而引起的地址冲突

3)减少配置管理:使用DHCP服务器可以大大降低用户配置和重新配置网上PC的时间

参考资料

阅读全文

热点资讯