web-dev-qa-db-ja.com

名前付きサービスを再起動せずにゾーンファイルにレコードを追加するにはどうすればよいですか?

私は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レコードはゾーンファイルに表示されます。

私の質問は:

名前付きサービスを再起動せずにレコードをゾーンファイルに追加する方法ですか?

6
Nidal

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

私の問題は、BINDがrndc reload zone動的ゾーンを使用するため、BINDでは動的ゾーンを再ロードできません。そのため、動的更新の許可を一時的に停止するようにbindに指示する必要があります。これは凍結オプションで処理されます。

rndc freeze example.com

その後、リロード

rndc reload example.com  

次に、動的更新を再度許可します。

rndc thaw example.com
6
Nidal

やってみました:

 rndc reconfig

これでうまくいくはずです。

ただし、このコマンドは新しい(古い)ゾーンを追加(削除)しますが、既存のゾーンは変更できません。

1
Neven