IT运维管理,创造商业价值!
中国IT运维网首页 | 资讯中心 | 运维管理 | 信息安全 | CIO视界 | 云计算 | 最佳案例 | 运维资源 | 专题策划 | 知识库 | 论坛

解决DHCP动态更改IP地址问题

2009年05月21日
51CTO/

    DHCP是动态主机分配协议的简称。随着企业主机数量的增多,越来越多的企业,开始采用DHCP的形式来动态的分配IP地址。采用DHCP服务器来管理企业网络的IP地址,优势是很明显的。如可以有效的避免IP地址的冲突问题,可以省去手工配置相关网络参数的麻烦。

    但是,采用DHCP服务器分配IP地址也有一个比较麻烦的地方,就是都某台电脑的主人由于出差等原因,一段时间没有开启之后,下次等他来上班时,他打开主机的时候,IP地址就会改变。这是一个让人难以接受的地方。因为如此的话,一些针对IP地址的网络安全策略,如根据IP地址来限制上网等等,会失效。

一、 发生的原因

    这主要是根据DHCP服务器的工作原理相关的。DHCP服务器是根据租约来实现对IP地址的管理的。

   客户端主机第一次登陆网络之后,会从DHCP服务器那边获取一个IP地址,包括租约等信息。除非其租约已经失效,否则的话,下次登陆网络的时候客户端不会再向DHCP服务器发送请求信息,而是直接发送CHCP REQUEST信息。DHCP负uwqi会尽量让客户段使用原来的IP地址。如果没有特殊情况的话,只需要直接相应DHCP PACK来确认即可。但是,如果这个地址已经被其它主机使用了,则服务器就不会再把这个IP地址让其使用,而是会让客户端发送一个DHCP DISCOVER,重新从服务器那边获取一个最新的IP地址。可见,当租约期限满之后,客户端没有继续续租的话,则这个IP地址就有可能改变。而由于有些员工要出差,有时会往往不能在租约到期后,及时向服务器续租,从而造成前后两次登陆网络的IP地址发生改变。

  一开始,DHCP之所以采用租约的形式来管理IP地址,是为了解决IP地址缺少的问题。由于企业网络内部每台网络设备,必须采用一个唯一的IP地址。若IP地址重复的话,就会造成地址冲突,从而影响到相关网络设备的正常使用。所以,当租约到期后,DHCP服务器会释放这个IP地址,给其它的主机采用。而且,DHCP给其它主机分配IP地址的时候,使根据IP地址池中的IP地址从小到大进行分配的,这就更加增大了IP地址变更的几率。

    另外,现在有不少企业是通过IP地址来执行一些网络管理策略的。如根据IP地址限制某些员工访问网络或者根据IP地址允许某些员工使用QQ等即时聊天工具等等。虽然企业可以通过MAC地址来实现这个目的。但是,采用MAC地址的话,管理起来比较麻烦。若让你输IP地址还是输MAC地址,我们当然会选择输入IP地址,因为这个输入起来比较容易,最重要的是,不怎么会输入错误。而MAC地址输入错误的几率就会高的多。

    一方面DHCP服务器会当客户端租约到期后,会不断的更改客户段的IP地址;另一方面,我们又希望客户端的IP地址能够相对的稳定。难道企业就不能够使用DHCP服务器了吗?其实不然。只要稍微动一下脑筋,我们也可以让DHCP服务器,提供固定的IP地址给客户端。

二、 解决方案

    下面我以微软的DHCP服务器为例,谈谈如何把这个IP地址固定下来。

    1、 打开微软的DCHP服务器管理窗口,右键单击DCHP服务器,然后会谈出一个菜单,选择“新建作用域”选项。然后系统会弹出一个对话窗口,根据这个向导一步步的填好相关的内容。如可以采用的IP地址、不能采用的IP地址等等。在填写这些信息的时候,会让网络管理员输入一个“服务器分配的作用率租约期限”,默认的情况为8天。虽然这里可以把这个时间改的足够的大,但是,这个租约期限仍然会到期。若遇到一些员工产假等休长假的员工,休假回来上班后,IP地址仍然可能会改变。所以我们的目的是把这个期限设置为无限长,也就是说,这个租约是永久租约。如此的话,就可以实现利用DHCP服务器来分配固定IP地址的需求。不过要注意的是,在新建作用域的时候,是不能够指定为无限制的。需要作用域建立完毕之后,再进行修改。

    2、 作用域建立好之后,默认情况下,其租约只有八天。也就是说,八天租约完毕之后,客户端若不及时向DHCP服务器申请的话(如员工在租约期限快满的前几天刚好出差在外或者休假的话),则很有可能这个IP地址要改变。所以,我们需要把这个租约期限设置的无限长。在DHCP服务器管理窗口,选择我们刚才建立的那个作用域。右键单击,然后选择菜单中的“属性”,找到“DHCP客户端的租约期限”选项。我们可以看到,有“限制为”与“无限制”两个单选框。默认情况下,其选项为“限制为”,并且其租约期限为八天。在这里我们为了达到固定IP地址的目的,所以,把这个选项选择为“无限制”。如此的话,就没有IP地址租约之说了。DHCP服务器也就不会主动收回IP地址了。

   3、 虽然有时会我们也可以把这个租约的期限设置为足够长的话,也可以实现这个目的。但是,一般来说不怎么保险。因为很可能员工是在到期前的几天休假,那么,这个租约最长也没用。所以,我建议,网络管理员还是把这个租约设置为无限制为好。否则的话,很可能功亏一篑。

三、 四个注意点

   这个方法的话,也不是说适用于全部场合的。有时会还是要根据实际情况作出一些限制的。

   一是要考虑一下客户端的数量跟DHCP服务器预先留的IP地址数量是否够。如果DHCP服务器预先留的IP地址数量只有200个,而DCHP客户端的话有201个,则由于IP地址不够,很可能某个客户端无法获得IP地址。而若采用了较短租约的话,DCHP服务器就会及时收回那些暂时不用的主机的IP地址,解决燃眉之急。可见,若要把DHCP服务器的IP租约设置为无限制的话,则一个前提条件就是DCHP服务器的IP地址空间,可以满足现有的需求。否则的话,就必须采用租约,而且必须把这个租约设置的足够的短。否则的话,就很可能因为IP地址不够,而导致客户端无法及时的获得IP地址。

    二是当某些客户端不用的时候,需要及时把这个IP地址释放掉。如有时候,可能电脑坏掉或者电脑升级的时候,换掉原有的电脑的时候,在换掉之前,就需要在客户端中,利用DHCP的命令,把这个IP地址人为的释放掉。否则的话,当这台主机换下之后,DHCP服务器并不知道这个客户端已经不用了,就会长期的占用这个IP地址。这跟采用了租约的DHCP服务器不同。若采用了租约的话,当租约期限满后,客户端不申请的话,则DHCP服务器会自动收回这个IP地址。为此,当网络管理员把这个租约设置为“无限制”的话,就需要注意,当更换网络设备的时候,即使把这个IP地址手工的释放。否则的话,无用IP地址累积下去的话,迟早把DHCP服务器中的IP地址耗用光。

    三是对于一些网络设备,如网络打印机、防火墙、应用软件服务器,然后不建议采用这种方式获取ip地址等相关的网路参数。也就是说,对于这些设备的话,我们还是建议用户通过手工的配置其IP地址等参数。这主要是出于保险起见。因为到DHCP服务器出现故障的时候,或者客户端连接不上DHCP服务器的时候,则仍然会出现IP地址混乱的情况。所以,对于稳定性要求比较高的企业应用服务器,我们还是建议网络管理员通过手工管理的方式来固定IP地址,即采用手工配置的方式。不过,这写IP地址的话,必须在DHCP服务器中把它排除掉。不然的话,有可能造成IP地址的冲突。

   四是要注意,若对租约不进行限制的话,则就会失去DHCP服务器很重要的一个特性,即帮助节省IP地址的功能。我们都知道,DHCP可以实现很多功能,如防止IP地址冲突、自动配置相关的网络参数等等。另外,还有一个重要的功能就是提高IP地址的利用率。也就是说,当某个客户端不用的时候,其IP地址有可能被收回给其他的客户端使用,从而提高IP地址的利用率。而我们把租约设置为无限制的话,则就不能够享受这个功能了。不过,若IP地址的数量大于企业客户端数量的话,这个功能有没有也无所谓。

    总之,DHCP服务器给我们网络管理员带来了很大的便利,我们需要灵活配置DHCP服务器,来满足我们日常的需求。若没有DHCP服务器的话,需要手工配置各个客户端主机的相关网络参数,如IP地址、DNS地址、网关信息等等,想想都感到害怕。而且,若网络规划发生改变的话,则可能还需要更改网络掩码等网络参数,那么工作量是可想而知的,需要一台台去更改。而若采用DHCP服务器的话,则只需要在DHCP服务器上进行配置即可,则客户端上的参数会随之更改。所以的话,我们网络管理员要学会扬长避短,灵活配置DHCP服务器。

发表评论请到:http://bbs.cnitom.com

相关阅读

图文热点

以不变应万变 网络虚拟化应对园区网新挑战
以不变应万变 网络虚拟化应对园区网新挑战Forrester Research的分析师Robert Whiteley认为: “十年以来,虚拟化技术与网络...
OpenShift加入更多新元素 友好面对开发者
OpenShift加入更多新元素 友好面对开发者通过网络进行程序提供的服务称之为SaaS(Software as a Service),而将服务器平台...

本类热点