私は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 MYZONE
。rndc 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