如何在不重新启动命名服务的情况下将记录添加到区域文件中?

Modified on: Sat, 30 Jun 2018 11:25:30 +0800

我正在使用centos6.5和bind9,我已设法通过执行以下步骤将记录添加到DNS区域:

创建密钥:

 dnssec-keygen -a HMAC-MD5 -b 128 -n HOST 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 {} \;

我使用此脚本添加记录:

#!/bin/bash #Defining Variables DNS_SERVER="localhost" DNS_ZONE="example.com." USER_NAME="dd2.example.com." IP="192.168.1.7" TTL="60" RECORD=" $USER_NAME $TTL A $IP" echo " server $DNS_SERVER zone $DNS_ZONE debug update add $RECORD show send" | nsupdate -k Kexample.com.+157+55566.key

它没有返回任何错误。

我测试是否使用dig命令添加此记录:

#!/bin/bash
#Defining Variables
DNS_SERVER="localhost"
DNS_ZONE="example.com."
USER_NAME="dd2.example.com."
IP="192.168.1.7"
TTL="60"
RECORD=" $USER_NAME $TTL A $IP"
echo "
server $DNS_SERVER
zone $DNS_ZONE
debug
update add $RECORD
show
send" | nsupdate -k Kexample.com.+157+55566.key

但是记录添加的问题没有出现在区域文件'example.com.zone'中。

即使我使用重新加载:rndc reload MYZONErndc reload
它会返回如下错误消息:

#dig +short dd2.example.com.
192.168.1.7

但是当我重新启动命名服务时:service named restart
记录显示在区域文件中。

我的问题是:

是否可以在不重新启动指定服务的情况下将记录添加到区域文件中?

最佳答案

我找到了答案:

我的问题是BIND不能用动态区域rndc reload zone,所以BIND不允许我们重新加载动态区域。所以我们必须告诉bind暂时停止允许动态更新。这是通过冻结选项处理的。

rndc freeze example.com

然后重新加载

rndc reload example.com  

然后再次允许动态更新:

rndc thaw example.com
作者:Networker

相关问答

添加新评论