linux dhcp 配置,Linux中实现DHCP的配置

Linux中实现DHCP的配置 - 网络安全 - 电脑教程网

Linux中实现DHCP的配置

日期:2007-05-19   荐:

  大家知道,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服务器的配置就完成了。


[1] [2]  

(出处:http://www.sheup.com)


 [1] [2] 

标签: