现在不少企业的网络管理员都通过DHCP服务器来管理企业的IP地址。DHCP的服务器功呢功能确实非常的强大,但是,其也不是万能的。DHCP服务器也有不少的缺陷。我们网络管理员在设计DHCP服务器环境的时候,需要了解这些缺陷,并且在设计过程中尽量的避免。
    DHCP(动态主机分配协议)服务器在企业网络中应用的非常的广泛。可见,DHCP服务器的优势是比较明显的。如果在有一百到两百台电脑的企业局域网中手工去管理IP地址,则是一件工作量非常大的工作。一不小心,就可能造成网络地址的冲突,等等。所以在上规模的企业网络中,利用手工分配IP地址是不怎么合适的。
    所以,现在不少企业的网络管理员都通过DHCP服务器来管理企业的IP地址。采用DHCP服务器网络管理员可以只在DHCP服务器上配置一些公用参数,如DNS地址等等,而不需要重复的给每台电脑设置这些参数;当这些参数变更时,也不需要一台台去更改,只需要在DHCP服务器上更改即可;DHCP服务器可以保证企业局域网内IP地址的唯一,不会同时租借相同的IP地址给两台主机等等。DHCP的服务器功呢功能确实非常的强大,但是,其也不是万能的。DHCP服务器也有不少的缺陷。我们网络管理员在设计DHCP服务器环境的时候,需要了解这些缺陷,并且在设计过程中尽量的避免。
    下面笔者就自己所了解的DHCP服务器的运行缺陷,谈谈自己的看法。欢迎大家就这个问题进行补偿与讨论。
    缺陷一:DHCP服务器不能够跨路由与客户机通信,除非路由器允许BOOTP转发。
    有些企业为了安全的考虑,可能会把企业的网络进行物理划分,划分成几个独立的网段,以控制他们之间彼此的访问。如有一家化工企业,他们的研发部门是一个比较机要的部门。其他部门的主机都不能够访问他们的网络。而他们的网络可以访问其他部门的网络。这从技术上来说,很简单。可以通过IP地址分断特性把研发部门与公司的其他部门网络划分成相对独立的两个网络。然后可以通过路由器把他们连接起来,在路由器上控制他们相互之间的访问。
    但是,若企业局域网中采取了DHCP服务器的话,则就可能会产生一些问题。因为DHCP协议不能够跨路由于客户机通信,除非路由器允许BOOTP转发。也就是说,如果企业中进行子网划分,若在公司一个网段中设置了一个DHCP服务器,另外一个网段是不能够从这个DHCP服务器中获取IP地址的。
    针对这种局限性,我们该采用什么方法呢?
    笔者最常用的方法,就是利用固定IP地址来解决。也就是说,网络管理员虽然把企业的网络划分成不同的网段,但是,这纯粹是出于安全的考虑。所以,有时候一个网段中的主机数量不会很多。如把一个研发部门划分成一个子网,则其最多就是十台电脑。为此,我们也不要再去动其他的脑子,就直接把这个子网的主机通过手工分配IP地址。而且其他的主机则都设置成DHCP服务器的客户端,从DHCP服务器那边取得IP地址。这是一个最简单的、最实用的处理方法。不用费尽脑子,去想着配置DHCP服务器代理、开通路由器的BOOTP协议转发功能等等。这些都是小题大做了。
    若企业不是出于安全的考虑,则就需要另外考虑了。如有些企业比较大,是一个集团企业,下面有各个子公司。他们在设计网络的时候,就集团一个DHCP服务器,然后给各个子公司一个子网。这种情况下,一个子网内的主机数可能就会比较多,此时,若采用手工分配IP地址也就不怎么现实了。为此,我们可以通过路由器中的BOOTP协议转发功能,让其他网段内的主机也能够从这台DHCP服务器中获多IP地址。
    缺陷二:若网络中有非DHCP的客户机,则DHCP服务器不能够发现。
    若企业的局域网中,即有DHCP客户端电脑,又有不是DHCP客户端的网络设备,则DHCP服务器是不知道那些不是DHCP客户端的网络设备所采用的IP地址。若不小心把这些非DHCP客户端所采用的IP地址分配给DHCP客户端的话,则很可能造成网络IP地址的冲突。
    这种情况在一些网络服务器比较多的企业,遇到的情况特别多。如企业有时候可能会在企业中增加一台网络打印服务器,手工的给其配置IP地址为192.168.0.203。而企业DHCP服务器上原先的IP地址池为192.168.0. 020到192.168.0.200。后来因为地址不够,就把这个地址池更改为192.168.0.020到192.168.0.220。可能网络管理员疏忽了,192.168.0.203这个IP地址已经分配给了一台网络打印机。此时,在把这个IP地址放入到DHCP服务器的地址池中,若服务器把这个IP地址分配给其他网络设备的话,那么就可能造成网络地址的冲突,造成网络通信的故障。
    所以,往往手工分配地址与DHCP服务器自动分配地址结合时,这种情况特别容易发生。因为DHCP服务器不能够发现到底自己地址池中的哪些IP地址已经给其他非DHCP服务器的客户端所采用了。
    为此,若采取这种混合模式的话,笔者有如下建议。
    一是对于非DHCP服务器的客户端,其采用的IP地址最好能够固定一给范围之内。如企业中的一些企业级的设备,如网络打印机、路由器、网关、应用软件服务器等等,往往起采用的是固定的IP地址。这对这些网络设备,其往往不是DHCP服务器的客户端。为了使得这些服务器的IP地址跟DHCP服务器可分配的地址池区分开来,企业在IP地址设计与管理的时候,最好能够进行区分。如可以规定前面的20个IP地址是用于这些固定设备的。从2到20一个个分配下去。而其余的IP地址都是自动分配的。若中间要添加一些网络设备,如某个部门要添加一个网络打印机的时候,则为其配置IP地址的话,则直接从这2到20中选择。而不能够采用其他的IP地址。这就可以有效的避免固定IP地址与自动分配的IP地址造成冲突。
    二是合理规划DHCP服务器地址池的空间。在DHCP服务器建立的时候,网络管理员需要在服务器上指定,哪些IP地址可以被用来分配,在DHCP服务器中叫做地址池。同时,也需要指定哪些地址不能够用来被分配,这叫做例外。在DHCP服务器建立的时候,要考虑企业的网络规模,合理的分配DHCP服务器地址池中的IP地址数量。一般来说,最好把一些例外的IP地址设置为连续,这为后续的管理能够提供一定的方便。另外,例外的IP地址不用很多,因为企业用到固定的IP地址的网络设备并不是很多。一般情况下,笔者觉得剩余20个固定的IP地址已经足够了。
    三是若DHCP服务器已经建立好之后,才发现固定IP地址不够的话,由于DHCP服务器分配IP地址的顺序是从小到大。所以在设置例外的IP地址时候,最好能够从后面开始。只有如此,再不够的时候,才能够改变DHCP的服务器地址池,从后面空闲的IP地址中抽出几个给非DHCP的客户端使用。如此的话,即使后续对这个服务器的地址池进行调整,也能够保证给非DHCP客户端使用的IP地址是连续的。这对于我们后续的管理很有帮助。
    缺陷三:若企业网络中存在多个DHCP服务器,可能会产生IP地址的冲突。
    若企业网络中,存在多个DHCP服务器的话,由于某台服务器并不能够了解其他的DHCP服务器把哪些IP地址租借出去了。所以,由此就可能导致某个IP地址,两台DHCP服务器同时把他们租借给别人,从而造成网络地址冲突的发生。
    一般来说,这种情况往往是由于网络管理员疏忽所造成的。如现在某些路由器或者交换机其默认开启了DHCP服务器的功能。当某个路由器后者交换机出现故障,我们把他连接到企业的网络中去的时候,若没有及时关闭掉这个路由器或者交换机的DHCP服务的话,则在企业网络中可能就会存在两个DHCP服务器。此时,由于这两个DHCP服务器之间没有代理关系,这就可能造成他们同时把一个IP地址给租借过去。
    所以,网络管理员在DHCP服务器的管理时,应该尽量避免出现多个独立的DHCP服务器的情况。若为了提高性能的考虑,要设置多个DHCP服务器的时候,则最好在分配各自的地址池的时候,把各个DHCP服务器的Ip地址池独立出来,不要有重复的IP地址出现。如此的话,即使同时存在多个DHCP服务器的话,也不会出现IP地址冲突的问题。
    缺陷四:可能会使得一些网络管理策略失效。
    笔者在前面一篇文章中也谈到过,若采用DHCP服务器管理企业的IP地址的话,则可能会造成IP地址动态的改变。而且要有些网络管理策略,如邮件过滤策略、网络访问控制策略等等,是通过IP地址来实现的。此时,若主机的IP地址经常发生改变的话,则很难根据网络IP地址来执行网络管理策略。
    所以,现在有两种方法来对待这个缺陷。
    一是采用租约无限制的策略。如此的话,在IP地址够用的情况下,可以保证IP地址是固定的。二是改变网络管理策略,通过MAC地址来执行策略,而不是通过IP地址来控制网络行为。不过采用MAC地址的话,就是管理起来比较麻烦一点。因为MAC地址没有IP地址那么直观。
    具体如何处理,则需要网络管理员根据自己企业的实际情况作出明智的判断了。