Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1863893
  • 博文数量: 343
  • 博客积分: 10342
  • 博客等级: 上将
  • 技术积分: 2892
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-15 12:34
个人简介

你必须非常努力,才能看起来毫不费力!

文章存档

2012年(3)

2011年(5)

2010年(2)

2009年(40)

2008年(293)

分类: 系统运维

2008-12-04 21:57:53

     在常见的小型网络中(例如家庭网络和学生宿舍网),网络管理员都是采用手工分配IP地址的方法,而到了中、大型网络,这种方法就不太适用了。在中、大型网络,特别是大型网络中,往往有超过100台的客户机,手动分配IP地址的方法就不太合适了。

  因此,我们必须引入一种高效的IP地址分配方法,幸好,(DynamicHostConfigurationProtocol)为我们解决了这一难题。

  的优缺点

  DHCP服务优点不少:网络管理员可以验证IP地址和其它配置参数,而不用去检查每个主机;DHCP不会同时租借相同的IP地址给两台主机;DHCP管理员可以约束特定的计算机使用特定的IP地址;可以为每个DHCP作用域设置很多选项;客户机在不同子网间移动时不需要重新设置IP地址。

  但同时也存在不少缺点:DHCP不能发现网络上非DHCP客户机已经在使用的IP地址;当网络上存在多个DHCP服务器时,一个DHCP服务器不能查出已被其它服务器租出去的IP地址;DHCP服务器不能跨路由器与客户机通信,除非路由器允许BOOTP转发。

  工作流程

  服务的工作过程是这样的:

  1.发现阶段,即DHCP客户机寻找的阶段。DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCPdiscover发现信息来寻找DHCP服务器,即向地址255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应(如图1)。

  

  2.提供阶段,即提供IP地址的阶段。在网络中接收到DHCPdiscover发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的DHCPoffer提供信息(如图2)。

  

  3.选择阶段,即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户机发来的DHCPoffer提供信息,则DHCP客户机只接受第一个收到的DHCPoffer提供信息,然后它就以广播方式回答一个DHCPrequest请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址(如图3)。

  

  4.确认阶段,即确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCPrequest请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCPack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址(如图4)。

  

  5.重新登录。以后DHCP客户机每次重新登录网络时,就不需要再发送DHCPdiscover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCPrequest请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCPack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分配给其它DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCPnack否认信息。当原来的DHCP客户机收到此DHCPnack否认信息后,它就必须重新发送DHCPdiscover发现信息来请求新的IP地址。

  6.更新租约。DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。

  为了便于理解,我们把DHCP客户机比做餐馆里的客人,DHCP服务器比做服务员(一个餐馆里也可以有多个服务员),IP地址比做客户需要的食物。那么可以这样描述整个过程:客人走进餐馆,问:“有没有服务员啊?”(DHCPdiscover),多个服务员同时回答:“有,我这有鸡翅”“有,我这有汉堡”(DHCPoffer)。客人说:“好吧,我要一份汉堡”(DHCPrequest,这个客人比较死板,总是选择第一次听到的食物),端着汉堡的服务员回应了一声:“来啦”(DHCPack),并把食物端到客人面前,供其享用(将网卡和IP地址绑定)。客人下次来的时候,就直接找上次那个服务员点自己喜欢的汉堡了(DHCPrequest),如果还有汉堡,服务员会再次确认并上菜(DHCPack),而如果已经卖完了,服务员则会告诉客人:“不好意思,已经卖完了”(DHCPnack)。当然,服务员隔一段时间会来收拾一次桌子,除非客人特别说明这菜还要继续吃的,服务员会将剩菜端走。

上期我们详细介绍了的工作原理,接下来,我们就向大家说明如何在服务器上配置DHCP服务,我们选取了两种最为常见的服务器操作系统Windows2000Server和Linux作为讲解实例,另外我们还会介绍如何在常见的网络设备上配置DHCP。

  Windows2000Server

  Windows2000Server在上下了很大的功夫,不仅解决了NT4.0中的种种问题,而且还增加了许多新的特性。例如和DNS的集成,加强的DHCP监视和管理,DHCP集群服务器,DHCP目录授权等等。

  下面是在Windows2000中配置DHCP服务的实例

  1.安装DHCP服务。用管理员账号登录,在控制面板中双击“添加/删除程序”,选择“添加/删除Windows组件”,启动Windows组件向导,选中“网络服务”,单击“详细信息”,选中“动态主机分配协议”,单击“确定”,即可在该服务器上安装DHCP服务。

  2.要想使刚安装的DHCP服务器能为客户机分配IP地址,必须首先在域中为该服务器授权。使用管理员账号登录计算机,在“管理工具”菜单中打开DHCP控制台;在控制树中,右键单击想要授权的服务器,在弹出菜单中,单击“授权”,即可完成对该服务器的授权。

  小知识:授权(Authorize),这个功能非常实用和必要,因为在旧版本的DHCP服务器中任何用户都可以创建一台DHCP服务器,该服务器也可以为用户分配IP地址,这样就可能造成地址冲突,在Windows2000Server中这个问题得到了有效的解决:任何DHCP服务器只有在目录服务中被授权之后才能为客户分配IP地址,否则即使该服务器收到租用请求,也不能为客户机分配IP地址。

  3.创建并配置作用域。在控制树中,右键单击要用来分配地址的服务器,选中“新建作用域”,在接下来的向导中,依次设置作用域名、作用域的起始地址、输入子网掩码、排除的地址或地址范围、DHCP租约期限信息。名称项只是作提示用,可填任意内容。IP地址范围中有起始地址、结束地址和子网掩码的选项,我们可以分别填入10.0.0.1,10.255.255.254,255.0.0.0(如图1)。如果有必要,可在后面的选项中输入要保留的IP地址或IP地址范围。租约期限选项可设定DHCP服务器所分配的IP地址的有效期,比如设8天。最后,分配好DNS、WINS服务器,并激活作用域。

  

  设置IP地址范围

  RedHatLinux

  在Linux上配置需要的文件有/etc/dhcpd.conf,/var/state/dhcp/

  dhcpd.leases,相关工具有/etc/rc.d/init.d/dhcpd。下面是在RedHatLinux上配置DHCP的实例:

  1.设置DHCP服务器的FQDN名

  optiondomain-name"clinet.com"

  2.设置DNS的服务器地址

  optiondomain-name-servers10.1.1.1;

  3.设置子网掩码

  optionsubnet-mask255.255.0.0;

  4.设置租约时间

  如果客户端不能请求一个指定的租用期,就使用该参数来定义该地址租用的时间长度default-lease-time1200;

  如果客户端可以请求一个制订的租用期,就使用该命令来定义最长的租用时间max-lease-time87600

  5.设置子网的网段及相关范围配置

  subnet10.0.0.0netmask255.0.0.0;

  {

  range10.0.0.210.10.10.10;//指定子网的IP范围

  optionbroadcast-address10.0.0.255;//指定子网的广播地址

  optionrouters10.0.0.1;//指定网关的IP

  }

  6.给客户绑定静态IP

  hostclinet{

  hardwareethernet00:50:BA:CA:2E:D2;

  fixed-address10.10.10.10;

  }

  网络设备

  有时候,在一些中高端的网络设备(路由器、交换机)上已经集成了DHCP服务,我们便可以在网络设备上实现DHCP服务,不使用专门的主机做DHCP服务器,以节省成本。

  下面是在cisco路由器上配置DHCP的实例

  1.指定不自动分配的IP地址范围

  ipdhcpexcluded-address10.1.1.110.1.1.19//指定从10.1.1.1到10.1.1.19的IP地址是手工分配的

  2.设置地址池

  ipdhcppoolglobal//这条命令指定了DHCP地址池的名称

  network10.1.0.0255.255.0.0//动态分配的IP地址范围,这里是10.1.0.0网段所有的IP地址(前面指定的非自动分配地址除外)

  3.设置DHCP附加信息

  domain-nameclient.com//为客户机配置域后缀

  dns-server10.1.1.110.1.1.2//为客户机配置DNS服务器的地址,这里是10.1.1.1和10.1.1.2

  netbios-name-server10.1.1.510.1.1.6//为客户机配置WINS服务器地址,这里是10.1.1.5和10.1.1.6

  netbios-node-typeh-node//为客户机配置节点模式(影响名称解释的顺利?如h-node是先通过wins服务器解释)

  default-router10.1.0.10010.1.0.101//为客户机配置默认网关

  4.设置租约期限

  lease8//设置租约时间为8天

  5.有时候我们需要为DHCP服务器设置子地址池,例如我们希望10.1.1.0/24这个网段的客户机的网关为10.1.1.100,我们这样设置:

  ipdhcppoolsubglobal

  network10.1.1.0255.255.255.0//global的子地址池,将从global继承域名等选项

  default-router10.1.1.10010.1.1.101//为客户机配置默认网关

  6.相关的DHCP调试命令

  noservicedhcp//停止DHCP服务

  showipdhcpbinding//显示地址分配情况

  showipdhcpconflict//显示地址冲突情况。

阅读(1687) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~