如果DNS服务器要记录多台主机的IP,且这些主机的IP都是通过DHCPD服务自动获取的,那么将会造成很大的困难,因为在DNS设置时无法得知主机具体的IP。如果DHCPD服务可以在配置主机IP后将信息传递给DNS服务,再由DNS服务来记录这些数据,将会变得容易许多。这种DHCPD服务更新DNS服务数据就是DDNS。
配置DDNS时,需要在一台主机上分别配置DNS服务和DHCPD服务。
DNS服务的配置如下:
a、"dnssec-keygen -a HMAC-MD5 -b 128 -n HOST keydns"。这是生成一个密钥,为了安全考虑。"keydns"为密钥名称,可自行设置。"cat Kwestos.+157+18569.key",查看生成的密钥并复制。
b、"cp /etc/rndc.key /etc/keydns.key -p"。生成DNS的加密文件。
c、"vim /etc/keydns.key"。如下图所示,第1行改为"keydns",第3行""中改为a中复制的密钥。
d、"vim /etc/named.conf"。如下图所示,在第47行"logging {"之前编辑"include "/etc/keydns.key";",这是指定dns服务读取的key文件。
e、"vim /etc/named.rfc1913.zones"。如下图所示,将第28行改为"allow-update { key keydns; };",这是指定we域能够被keydns更新。
DHCPD的配置如下:
a、"head -n 36 /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example > /etc/dhcp/dhcpd.conf"。将"dhcpd.conf.example"的前36行复制为"dhcpd.conf"文件。
b、"vim /etc/dhcp/dhcpd.conf"。将第7行和第8行改为下图所示内容。"we.com"为域名,"172.25.254.102"为DNS的IP。去掉第14行的注释。注释掉第27和28行。将第32至第35行改为如下图所示配置。
c、"vim /etc/dhcp/dhcpd.conf"。在第36行后输入下图所示内容。
key keydns {
algorithm hmac-md5;
secret Z8aPp2bzIT9gmvyZS28ijA==;
};
zone we.com. {
primary 127.0.0.1;
key keydns;
}
完成后重启DNS和DHCPD服务,至此,服务器的DDNS配置已经完成。
测试时,将一台主机的主机名设置成为"xxx.we.com",例如"123.we.com"。设置网络为DHCP自动获取IP,如下图所示,自动获得的IP为"172.25.254.65"。
在有DDNS的主机上输入"dig 123.we.com",如下图所示,则可以看到测试的主机IP和主机名。这样就完成了DHCPD服务对DNS服务的数据同步。