如何运行dns
具有本地域区域的服务器,并能够dns
从选定的主机安全地将动态条目添加到该区域?
我尝试使用bind9 设置域“rag.local”。我尝试使用 向该区域添加新记录TSIG
。现在可以了。步骤如下。
使用 dnssec 为区域生成密钥
$ dnssec-keygen -r /dev/urandom -a HMAC-MD5 -b 512 -n HOST rag.local
$ ls -l
-rw------- 1 rag rag 118 Mar 7 23:22 Krag.local.+157+26937.key
-rw------- 1 rag rag 229 Mar 7 23:22 Krag.local.+157+26937.private
将 .key 复制到 /etc/bind
/etc/bind$ ls -lt
-rw-r--r-- 1 root bind 265 Mar 7 23:43 rag.local
-rw-r--r-- 1 root bind 435 Mar 7 23:35 named.conf.local
-rw------- 1 root bind 118 Mar 7 23:33 Krag.local.+157+26937.key
命名.conf.local
/etc/bind$ cat named.conf.local
key "rag.local." {
algorithm hmac-md5;
secret "secret-key";
};
zone "rag.local" {
type master;
file "/etc/bind/rag.local";
allow-update { key "rag.local."; };
};
rag.local 区域定义。编辑:此文件之前没有该区域的有效名称服务器和管理员电子邮件。此外,区域文件缺少名称服务器的 A 记录。
/etc/bind$ cat rag.local
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.rag.local. admin.rag.local. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.rag.local.
@ IN A 127.0.0.1
ns IN A 127.0.0.1
@ IN AAAA ::1
如果区域文件无效,您可能会收到如下错误
Mar 8 00:00:44 rag-tos-laptop named[20349]: zone rag.local/IN: journal rollforward failed: no more
Mar 8 00:00:44 rag-tos-laptop named[20349]: zone rag.local/IN: not loaded due to errors.
编辑:更正区域文件后
Mar 8 00:23:43 rag-tos-laptop named[21469]: zone rag.local/IN: loaded serial 2
Mar 8 00:23:43 rag-tos-laptop named[21469]: zone localhost/IN: loaded serial 2
示例 nsupdate 文件
$ cat nsupdate.txt
server localhost
debug yes
zone rag.local.
update add host1.rag.local. 3600 A 10.20.30.40
show
send
跑更新
nsupdate -k Krag.local.+157+26937.private -v nsupdate.txt
需要对bind
分组进行写入权限/etc/bind
以解决一些权限问题。
谢谢
答案1
我已经解决了:
dnssec-keygen -a HMAC-MD5 -b 128 -n 主机 example.com。
编辑conf.文件:
// TSIG Key
key "example.com." {
algorithm hmac-md5;
secret "THE KEY GENERATED ABOVE";
};
zone "example.com" IN {
type master;
file "example.com.zone";
allow-update{ key "example.com."; };
};
这是您必须添加的步骤
向 /var/named 文件夹授予命名授权:
# chown -R named:named /var/named
# find . -type d -exec chmod 770 {} \;
# find . -type f -exec chmod 660 {} \;
注意:使用 nsupdate 后,您需要使用以下步骤重新加载区域:
rndc freeze example.com
then reloading
rndc reload example.com
then allowing dynamic updates again:
rndc thaw example.com