分类: LINUX
2006-09-12 21:43:46
Redhat使用dhcpd进程提供DHCP服务,启动时dhcpd自动读它的配置文件/etc/dhcpd.conf。dhcpd将客户的租用信息保存在/var/lib/dhcp/dhcpd.leases文件中,该文件不断被更新,从这里面可以查到IP地址分配的情况。
dhcpd为了向一个子网提供服务,需要知道子网的网络地址和网络掩码,并且还要知道地址分配的范围,下面给出一个简单的dhcpd.conf文件:
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.10 192.168.100.253;
}
此例中,dhcpd将给192.168.100.0网络分配192.168.100.10到192.168.100.253的IP地址。
租期时间可以从0秒到无限长,可以根据需要来定。缺省的租期时间为一天,即86400秒。可以为主机定义两个租期长度:
default-lease-time 默认租期时间;
max-lease-time 用户可以获得的最长租期时间。
下面的配置将缺省的租期时间设置为10分钟,最长租用时间为1小时:
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.10 192.168.100.253;
default-lease-time 600;
max-lease-time 3600;
}
DHCP还可以向客户提供更多的参数,这些参数可以用option来指定,例如:
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.10 192.168.100.253;
default-lease-time 600;
max-lease-time 3600;
option subnet-mask 255.255.255.0;
option routers 192.168.100.254; 默认路由
option domain-name-servers 202.102.134.68; DNS服务器
}
现在大家对DHCP配置应该有个了解了,其实过程就是这么简单,中间就隔了一层窗户纸。
实际演练
接下来给大家一个示例,把我的redhat9.0配置成一台DHCP服务器。
vi /etc/dhcpd.conf
配置后,我的机器的该文件内容如下(注释的部分都已经删除掉了,至于原文,大家可以对照/usr/share/doc/
dhcp-3.0pl1/dhcpd.conf.sample文件):
[root@rh9 test]# more /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option domain-name-servers
202.96.199.133, 202.96.133.134;
range dynamic-bootp 192.168.0.1 192.168.0.255;
default-lease-time 21600;
max-lease-time 43200;
}
这儿我解释一下配置部分,首先subnet定义了网络的地址,然后option routers定义了网关地址;subnet-mask定义子网掩码;broadcast-address定义广播地址;domain-name-servers定义DNS NAMESERVER的地址;dynamic-bootp是给客户端分配的地址,定义的是192.168.0.1-- 192.168.0.255整个网段地址;最后2行是讲分配出的地址的缺省租期时间设置为10分钟,最长租用时间为1小时。这样,一个DHCP服务器就配置好了。
我们可以测试一下结果:在另外一个redhat linux7.2上,把IP设置成DHCP主机的IP地址,通过netconfig命令配置。
检查配置:
[root@rh72 root]# more /etc/sysconfig/ network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
[root@rh72 root]#
确定网卡已经是DHCP的了。
[root@rh72 root]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:A3:C6:71
inet addr:192.168.0.254 Bcast:192.168.0.255 Mask:255.255.255.0
查看地址,发现ETH0已经分配了一个254的地址,说明DHCP服务器配置成功。
小结
至此,我们已经完成了一台Linux DHCP服务器的安装和配置工作。在实际的使用过程中,上述操作步骤应该可以满足一般应用的需求,但是我们还需要经常研究具体的命令参数,让DHCP服务器能更好地为我们服务。