返回首页

Linux中实现DHCP的配置

时间:2005-08-11 来源: 作者: 点击:
大家知道,DHCP(动态主机配置协议)可以使客户端自动从服务器得到一个IP地址。如何配置DHCP服务器,在Windows 2000 Server中很容易实现。那在Linux中能否实现呢?答案是肯定的,大家知道Linux是非常好的网络操作系统,使用它可以很轻松的搭建一台高性能的DHCP服务器。
  

  大家知道,DHCP(动态主机配置协议)可以使客户端自动从服务器得到一个IP地址。如何配置DHCP服务器,在Windows 2000 Server中很容易实现。那在Linux中能否实现呢?答案是肯定的,大家知道Linux是非常好的网络操作系统,使用它可以很轻松的搭建一台高性能的DHCP服务器。本文就使用红旗Linux Server 2.0搭建DHCP的过程讲述一下。

  首先,我们来看DHCP工作的过程,看一下客户端是通过哪些手段得到IP地址的。当DHCP启动时,TCP/IP初始化并且由客户端发送一个DHCP DISCOVER的报文向DHCP服务器申请一个IP。DHCP服务器收到DHCP DISCOVER后,它将从客户端主机的地址池中为它提供一个尚未被分配的IP地址。该报文信息被返回到上述主机。客户端随后发出一个包含有DHCP服务器提供IP地址的DHCP REQUEST的报文。DHCP服务器向客户端发回一个含有原先被发出IP地址及其分配方案的应答报文。DHCP服务器提供给客户端的IP地址是有时间限制的,DHCP客户端要想继续使用这个IP地址,必须在租期到来时对它进行更新和续借。

  配置DHCP服务器的过程:

  DHCP服务是通过程序/usr/sbin/dhcpd提供的。在DHCP服务器启动时,dhcpd要读取dhcpd.conf文件的内容(dhcpd.conf保存的是DHCP服务器的配置信息)。dhcpd将客户端租用的信息保存在dhcpd.lease文件中。在DHCP服务器为客户提供IP地址之前,将在这个文件中记录租用的信息。新的租用信息会添加到dhcpd.leases的尾部。为了向一个子网提供DHCP服务,dhcpd需要知道子网的网络号码和子网掩码。还有地址范围等等。

  DHCP服务器配置文件内容:

  文件名:

  /etc/dhcpd.conf

  内容:

  subnet 192.168.0.0 netmask 255.255.255.0{
   range 192.168.0.10 192.168.0.30;
  default-lease-time 86400;
  max-lease-time 604800;
  option subnet-mask 255.255.255.0;
  option routers 192.168.0.2;
  option domain-name "cy.com";
  option broadcast-address 192.168.0.255;
  option domain-name-servers 192.168.0.3; }

  其中subnet x.x.x.x netmask x.x.x.x 说明IP地址是否属于该子网上,提供子网的一些参数;range x.x.x.x x.x.x.x 是DHCP服务器可以分配的IP地址范围; default-lease-time 设置缺省的IP租用时间,常用的是86400秒(一天);max-lease-time 最大租用时间。常用的是604800(一周);option subnet-mask 设置IP地址的子网掩码;option routers 设置在DHCP发布IP地址的同时,把网关发布出去,这一项是用来指明网关的;option domain-name-servers 设置在DHCP发布IP地址的同时,把DNS发布出去,这一项用来指明DNS服务器的IP地址;option broadcast-address 设置该子网的广播地址;option doamin-name 设置DNS域名。

  DHCP还可以把主机的MAC地址和IP捆绑在一起,防止IP地址的乱用。具体方法是,在/etc/dhcpd.conf中输入:

  host pc1{
    hardware ethernet xx:xx:xx:xx:xx:xx 
    fixed-address 192.168.0.9;
  } 

  host pc1中的pc1是指定主机的名字;hardware ethernet 指定要捆绑IP地址主机的MAC地址;fixed-address 指定捆绑后的IP地址。

  现在配置文件已经有了,但还是不能启动dhcpd,为什么呢?因为我们还没有创建关于dhcpd的租用文件。

  现在我们创建dhcpd.leases文件:

  #toouch /var/state/dhcp/dhcpd.leases

  然后就可以启动DHCP了:

  #/etc/rc.d/init.d/dhcpd start

  如果希望在每次启动系统的时候也启动DHCPD,请执行命令:

  #/sbin/chkconfig --level 3 dhcpd on 

  chkconfig 命令是检查、设置系统的各种服务。参数 —level <等级代号>指定该系统服务要在哪一个执行等级中开启或关闭,范围是0-7。然后,在Linux客户端的设置netconf在网络设置中把IP地址的获得设置为DHCP。 这样,我们DHCP服务器的配置就完成了。

------分隔线----------------------------
顶一下
(0)
0%
踩一下
(1)
100%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容