私は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'には現れません。
リロードを使用する場合でも:rndc reload MYZONE
またはrndc reload
次のようなエラーメッセージが返されます。
[root@dd Shells]# rndc reload example.com.
rndc: 'reload' failed: dynamic zone
名前付きサービスを再起動すると:service named restart
レコードはゾーンファイルに表示されます。
私の質問は:
名前付きサービスを再起動せずにレコードをゾーンファイルに追加する方法ですか?
私は答えを見つけました:
私の問題は、BINDがrndc reload zone
動的ゾーンを使用するため、BINDでは動的ゾーンを再ロードできません。そのため、動的更新の許可を一時的に停止するようにbindに指示する必要があります。これは凍結オプションで処理されます。
rndc freeze example.com
その後、リロード
rndc reload example.com
次に、動的更新を再度許可します。
rndc thaw example.com
やってみました:
rndc reconfig
これでうまくいくはずです。
ただし、このコマンドは新しい(古い)ゾーンを追加(削除)しますが、既存のゾーンは変更できません。