欢迎光临
我们一直在努力

Linux VS NT4 DHCP大比拼-网管专栏,DHCP服务

建站超值云服务器,限时71元/月

  dhcp(dynamic host configuration protocol)是动态主机配置协议的简称,它由bootp协议演化而来,它们同属于tcp/ip协议族,是目前以太网上使用较多的自动进行客户机tcp/ip配置的协议。作为被广泛使用的网络操作系统,nt server 4.0和linux都提供了对dhcp的支持,本文就以nt server 4.0自带的dhcp服务器和linux下最常见的dhcpd 2.0为例来分析两种系统下dhcp的使用和区别。

  dhcp协议的工作原理

  每个基于tcp/ip协议的网络主机(host)都需要一个唯一确定的32位ip地址来与网络通信,如果每台主机的ip地址都用手工设定的话,工作量将是不可想象的,能不能让主机在启动时就被自动配置ip地址从而正常工作呢?这正是dhcp协议设计的初衷。一台配置了dhcp的主机启动时会强制发送一个有限地址广播(32位全为1的ip地址即255.255.255.255被称为有限广播地址,对此地址的广播称为有限地址广播或本地网络广播)。当本地网络中的dhcp服务器收到广播后,会根据收到的物理地址(physical address)在服务器上查找相应配置,并从划定的ip池中发送某个ip地址及附加选项(如租用到期时间等)给客户机,由于使用广播,没有中转的dhcp显然不能跨越子网,而且有可能一个客户机的信息被几个服务器响应,所以客户机总是回答最先收到的dhcp响应,收到响应后客户机还要发送一条注册消息,以告诉服务器该ip已被租用,以防止ip地址冲突。整个注册过程实际上是一套相当复杂的程序。双方要进行多次信息交换,才能最终注册成功。

  nt:图形化的dhcp管理

  nt一向以良好的操作界面著称,dhcp server也不例外,通过图形化的dhcp管理器,可以直观地获得目前的dhcp客户机ip使用状况,可以方便地对整个服务项目及客户机配置进行修改。nt的dhcp服务器支持相当多的dhcp选项,但是windows客户机(包括nt自身)仅支持ip地址、子网掩码、默认网关、dns服务器名、域名、wins服务器名、wins节点类型、租用期等较少的选项,不过这已涵盖了局域网中的绝大部分配置。

  nt dhcp服务器通过定义一个或多个ip地址范围来为客户机提供可用的ip、子网掩码、默认网关,但在一个子网内只能有一个ip地址范围。然后,可以通过dhcp选项为客户机提供更多的附加设置,nt的附加设置与rfc1541一致,如006是dns服务器名、044是wins服务器名等。如果一台dhcp客户机租用了某个ip地址,那么附加的选项也将传递给它,前提是客户机没有对这些附加选项进行配置,因为本机配置总是优先的。

  如果需要给某些主机特定的ip而不是自动选择,可以添加相应的保留位置,并输入该主机以太网卡的48位物理地址作为唯一标识符,同时也能对那些特定的主机进行特定的配置。每当具有此物理地址的客户机登录时,服务器都会给它固定的ip地址和选项。

  nt 4.0 dhcp服务器的优点是操作直观简单,易于管理,并且一个有趣的地方是windows客户机总会优先选择nt的dhcp服务(和前面的总是回答第一个响应似乎有些矛盾,但事实如此,在一个全部由windows主机组成的子网里,如果存在nt dhcp 服务器,那么linux dhcp服务器几乎不会被使用)。它的主要缺陷在于不能有效地控制未知用户租用ip,也就是说,只要还有未用地址,任何收到的请求都会被接受,而且在需要对较多的客户机进行单独配置时仍然会很繁琐。

  linux:给你更多的“自由”

  linux作为自由软件的代表,其优势是windows系列不可比拟的。dhcpd就是遵守gpl规则的一款dhcp服务器软件。现在最新版是3.0.1,不过大部分linux自带的是2.0及以下版本。本文即以较低的版本为例。

  dhcpd使用非常简单,在/etc/dhcpd.conf文件中定义好相应的规则和选项,再执行dhcpd eth?就能在相应的网络接口上工作了,如果只有一个网卡,则可以省略该参数。

  前面说过,dhcp必须依靠有限地址广播,通常linux并没有配置这个特殊地址,因此,首先要使用route命令添加一条路由,例如要在eth0上接收广播,就是route add -host 255.255.255.255 dev eth0(要想启动时系统自动添加该路由,请将此命令加入/etc/rc.d/rc.local文件末尾)。dhcpd的配置文件dhcpd.conf不像nt使用标准编号规则,而是使用类似于c语言的定义方法,语句都以分号结尾,以下举例说明:

  定义一个从192.168.0.2到192.168.0.254的ip地址范围:

  subnet 192.168.0.0 netmask 255.255.255.0

  {

  range 192.168.0.2 192.168.0.254;

  }

  指定一个客户机使用特定的ip地址:

  host mycomputer1

  {

  hardware ethernet 00:b0:d0:78:0b:84;

  fixed-address 192.168.0.2;

  }

  默认租用期限(秒):

  default-lease-time 2592000;

  最大租用期限(dhcpd并没指出-1可用作特殊的最大期限,但是windows客户机能使用这个期限,效果和nt dhcp服务器的“-1——没有期限”一样):

  max-lease-time -1;

  其他选项大部分都以option开头,如指定默认网关是option routers 192.168.0.254,还有域名服务器名称(domain-name-servers)、域名(domain-name)、子网掩码(subnet-mask)、广播地址(broadcast-address)、wins服务器地址(netbios-name-servers)等,要特别指出的是,它可以指定对未知用户的处理规则,即是否允许未知用户获得合法ip,在subnet段中加入deny unknown-clients;就会禁止未知用户获取此网段内合法的ip,这对需要严格控制ip地址使用的情况非常有用,这也是与nt dhcp服务相比最大的优势。

  nt的图形化界面是出了名的,但同时也屏蔽了系统的细节。如果出现任何错误,只能依赖nt自身的恢复能力,对于问题的解决,我们其实无能为力。因此,nt的dhcp服务推荐给已习惯使用windows系列的网管,不需要知道什么底层操作也能很快配置和使用这项服务。

  linux下的dhcp服务(及其他服务)则以直接、高效著称,可以最大限度利用现有的资源,而且,这些服务提供的都是最基本的网络信息,一旦出现问题,通过检查log就能一针见血地发现问题的所在,而且故障的恢复也很方便。
(作者:杨鹏)

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » Linux VS NT4 DHCP大比拼-网管专栏,DHCP服务
分享到: 更多 (0)