一、实验目标
在Linux平台下实现DHCP与DNS互动更新的功能。
二、实验环境
一台Linux服务器版本为Red HatLinux Server,内核版本号2.6.18-92.el5;两台客户端:一台为Windows XP Professional SP3;一台为Linux主机,版本同服务器。
 搭建DNS服务(bind)
1.安装bind相关软件包
   放入安装光盘,用mount命令进行加载,然后进入相应的目录下,执行下列命令安装相应软件包,我们在这里不做详细说明,在前面我们已经详细提过的。下面我们围绕一个案例来解释和说明:
案例:
要求:
利用bind和dhcpd制作一台动态DNS服务器; DHCP和DNS同为一台主机,该主机的IP地址为192.168.3.1,DHCP服务器分配作用域范围为192.168.3.2-192.168.3.200;DNS服务器管辖的区域为abc.com
配置过程:
1. DHCP服务器的配置
(1) 安装DHCP服务相关软件
#rpm  -ivh   dhcp-3.0pl1-23.i386.rpm
(2) 运行dnssec-keygen命令产生动态更新的密钥(当前路径为/etc)
#dnssec-keygen  -a  HMAC-MD5  -b 128  -n  USER  DHCP_UP
(记下生成密钥)
(3) 建立配置文件/etc/dhcpd.conf
#vi   /etc/dhcpd.conf
添加如下内容:
ddns-update-style  interim;
ignore  client-updates;
key “DHCP_UP” {
 algorithm  hmac-md5;
 secret  qhB++OR5yWo8BTXwk/m4ng;
}
zone  abc.com {
primary  127.0.0.1;
key   “DHCP_UP”;
}
subnet 192.168.3.0   netmask   255.255.255.0
 {
defaulst-lease-time  36000;
max-lease-time  72000;
option  routes  192.168.3.1;
option  domain-name  “abc.com”;
option  domain-name-servers  192.168.3.1;
range   192.168.3.2  192.168.3.200;
}
(4) 启动服务
#service  dhcpd start
2.  DNS服务器的配置
(1) 安装相关的软件
#rpm –ivh bind-9.2.1-16.i386.rpm
#rpm –ivh  bind-utils-9.2.1-16.i386.rpm
#rpm –ivh redhat-config-bind-1.9.0-13.noarch.rpm
#rpm –ivh  caching-nameserver-9.2-7.noarch.rpm
(2) 建立区域
# vi  /etc/named.conf
添加以下内容:
options {
   directory  “/var/named”;
};
key  “DHCP_UP”  {
 algorithm  hmac-md5;
 secret  qhB++OR5yWo8BTXwk/m4ng;
};
zone  “abc.com”  IN  {
     type  master;
     file  “abc.zone”;
allow-update {key   “DHCP_UP”;};
};
(3) 建立区域文件/var/named/abc.zone
#vi  /var/named/abc.zone
$TTL 86400
$ORIGIN  abc.com.
@ 1D IN SOA @ root (
 49  ; serial (d. adams)
     3H  ; refresh
 15M  ; retry
 1W  ; expiry
 1D )  ; minimum
 1D IN NS www.abc.com.
 1D IN A  192.168.3.1
www        IN A      192.168.3.1
(4) 启动服务
#service  named  start
注:要产生新的密钥还有一种方式就是:
# grub-md5-crypt(产生口令的MD5密文)
(5).测试
用两台客户机进行测试。如果测试成功的话,客户机是可以通过dns服务器来解析的,同时在服务器的/etc/named/下会自动生成一个文件。