安装BIND软件这里就不介绍,动态域名更新可以采用named自带的nsupdate来更新。这里只介绍linux系统下的配置方法。
密钥有HOST和USER两种。
一、HOST密钥生成方法
1. 生成密钥
dnssec-keygen –a HMAC-MD5 –b 128 –n HOST <keyname>
例如: keyname是camera.home-live.com
2. 察看密钥
生成两个密钥文件,以K开头
例如:
Kcamera.live-home.cn.+157+39156.key
和Kcamera.live-home.cn.+157+39156.private
察看以*.private结尾的文件,如下:
cat Kcamera.live-home.cn.+157+39156.private
Private-key-format: v1.2
Algorithm: 157 (HMAC_MD5)
Key: pTn/SfKOFw9LNBBL4BGppA==
3. 在named.conf中配置密钥
# TSIG keys
#
# MDC
key camera.live-home.cn {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret "pTn/SfKOFw9LNBBL4BGppA==" ;
};
# 密钥就是*.private文件中的密钥
4. 在named.conf中配置动态子域
# Dynamic subdomains
#
zone "camera.live-home.cn" in {
type master;
file "Dynamic/camera.live-home.cn";
allow-update {key camera.live-home.cn;};
allow-transfer {key camera.live-home.cn;};
};
子域file中配置和普通的子域文件一样
5. 本地动态域添加测试
nsupdate –y keyname:secret
本例:nsupdate –y camera.live-home.cn:pTn/SfKOFw9LNBBL4BGppA==
>prereq nxdomain lll.camera.live-home.cn
> update add lll.camera.live-home.cn 600 A 200.10.1.12
>
检查Dynamic/camera.live-home.cn文件,可以发现增加了一条记录
lll IN A 200.10.1.12
用ping或nslookup测试
6. 远程测试:
DDNS客户端
1、先创建一个用户ddns-1#useradd ddns-12、生成密码#dnssec-keygen -a HMAC-MD5 -b 128 -n USER ddns-1在当前目录下生成了两个文件:Kddns-1.+157+59363.keyKddns-1.+157+59363.private3、配置DNS#vi /etc/named.conf添加以下内容:key ddns-1 {algorithm HMAC-MD5.SIG-ALG.REG.INT;secret /lvRdT0bks+YnGOxmx1hGA==;};其中secrect后的内容是用vi打开Kddns-1.+157+59363.private后,拷贝里面的密码文件得来的!
附:NSUPDATE命令如下:
prereq yxrrset domain name type
prereq nxrrset domain name type
prereq yxdomain domain name
prereq nxdomain domain name
update delete domain name [type] [rdata]
update add domain name ttl [class] type rdata
看起来似乎挺复杂,其实很容易。prereq 表示预先必须符合的条件,yxrrset表示存在记录,nxrrset表示不存在记录,而yxdomain则表示存在域名了。
prereq nxrrset domain name type
prereq yxdomain domain name
prereq nxdomain domain name
update delete domain name [type] [rdata]
update add domain name ttl [class] type rdata
看起来似乎挺复杂,其实很容易。prereq 表示预先必须符合的条件,yxrrset表示存在记录,nxrrset表示不存在记录,而yxdomain则表示存在域名了。