指定されたサービスを再起動せずにゾーンファイルにレコードを追加するには?

指定されたサービスを再起動せずにゾーンファイルにレコードを追加するには?

私は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コマンドを使用してこのレコードの追加をテストします。

#dig +short dd2.example.com.
192.168.1.7

ただし、追加されたレコードの問題は、ゾーンファイル "example.com.zone"には表示されません。

reload:を使用しても、次のエラーメッセージが返されますrndc reload MYZONErndc reload

[root@dd Shells]# rndc reload example.com.
rndc: 'reload' failed: dynamic zone

ただし、指定されたサービスを再起動すると、service named restart レコードがゾーンファイルに表示されます。

私の質問は次のとおりです

指定されたサービスを再起動せずにゾーンファイルにレコードを追加する方法はありますか?

ベストアンサー1

私は答えを見つけました:

私の問題は、BINDがrndc reload zone動的領域を処理できないため、BINDが動的領域を再ロードすることを許可しないことです。したがって、バインディングに動的更新の許可を一時的に停止するように指示する必要があります。これは凍結オプションによって処理されます。

rndc freeze example.com

それから更新してください

rndc reload example.com  

その後、動的更新を再度許可します。

rndc thaw example.com

おすすめ記事