实验环境:

RHEL6

192.168.0.75(DNS服务器,DHCP服务器)

192.168.0.36(更新DNS服务器记录,客户端)

iptables和selinux关闭

1.使用key更新DNS服务器记录

75# yum install bind bind-chroot bind-utils -y

/etc/init.d/named start

chkconfig named on

cd /var/named/chroot/etc

dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos(生成key文件)

-a 算法 -b key的大小、单位是bit -n westos的类型 westos是key的名字

在当前目录下生成两个文件 Kwestos.+157+38674.key

Kwestos.+157+38674.private

vi named.rfc1912.zone

加入域名

zone "example.com" IN {

type master;

file "example.com.zone";

allow-update { key westos; };//使用key更新记录

};


vi named.conf

key "westos" { (模板是rndc.key)

algorithm hmac-md5; (key采用的加密算法)

secret "84jsahjdf/qwjeks=="; (key文件的密钥)

};

cd ../var/named

cp -p named.localhost example.com.zone(注意加参数-p,拷贝属性)

修改example.com.zone文件,指定dns服务器

NS example.com.

A 192.168.0.75


chmod g+x /var/named/chroot/var/named(让named具有写权限)

如果SELINUX开启了,还要将named布尔值开启

setsebool -P named_write_master_zones on

/etc/init.d/named restart

rndc reload

scp /var/named/chroot/etc/Kwestos.+157+38674.key 192.168.0.36:

scp /var/named/chroot/etc/Kwestos.+157+38674.private 192.168.0.36:


36# nsupdate -k Kwestos.+157+38674.key

>server 192.168.0.75

>zone example.com

>update add www.example.com. 500 A 192.168.0.75

>send /etc/init.d/named restart

rndc reload

>quit

在192.168.0.75上执行dig www.example.com

如果能解析到ip则成功,否则失败


2.搭建DHCP服务器

75#

yum install dhcp dhcp-devel -y

vi /etc/dhcp/dhcpd.conf

subnet 192.168.0.0 netmask 255.255.255.0 {

range 192.168.0.130 192.168.0.140;

option domain-name-servers 192.168.0.75;

option domain-name "example.com";

option routers 192.168.0.75;

default-lease-time 600;

max-lease-time 7200;

}

/etc/init.d/dhcpd restart


3.构建DDNS

75#vi /etc/dhcp/dhcpd.conf

ddns-update-style interim;(ddns更新要开启,否则实验失败)

key westos {

algorithm hmac-md5;

secret 84jsahjdf/qwjeks==;

};

zone example.com. {

primary 127.0.0.1;//本地,其他主机要写ip

key westos;

}

36# rm -rf /etc/dhcp/dhclient-eth0.conf

vi /etc/dhcp/dhclient.conf

send fqdn.fqdn "desktop36.example.com.";("."号不能丢)

send fqdn.encoded on;

send fqdn.server-update on;(在RHEL5里写为off)

在75上修改dhcp的地址池范围,重新启动DHCP服务,在36上重新启动网络服务,资源记录就会自动更新


例如: desktop36.example.com 192.168.0.36
此时使用dig解析desktop36.example.com,解析到192.168.0.36
重启服务后desktop36的ip变了,变为192.168.0.50
此时使用dig解析desktop36.example.com,解析到192.168.0.50

注意不要在example.com.zone里写入desktop36的记录,因为它的记录是自动更新的.