中国科学院遥感所:在Linux中配置NFS和DHCP服务器?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 10:05:48
NFS和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服务器的配置就完成了