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'に表示されないという問題:

$Origin .
$TTL 86400  ; 1 day
example.com     IN SOA  dns.exaple.com. hostmaster.example.com. (
        2001062504 ; serial
        21600      ; refresh (6 hours)
        3600       ; retry (1 hour)
        604800     ; expire (1 week)
        86400      ; minimum (1 day)
        )
    NS  dns.example.com.
    A   192.168.1.2
    MX  10 mail.example.com.
$Origin example.com.
$TTL 86400  ; 1 day
ex1         A   192.168.1.2
ex2         A   192.168.1.2
ex3         A   192.168.1.3
ex4         A   192.168.1.4

しかし、名前付きサービスを再起動すると:service named restartレコードはゾーンファイルに表示されます:

$Origin .
$TTL 86400  ; 1 day
example.com     IN SOA  dns.example.com. hostmaster.example.com. (
        2001062504 ; serial
        21600      ; refresh (6 hours)
        3600       ; retry (1 hour)
        604800     ; expire (1 week)
        86400      ; minimum (1 day)
        )
    NS  dns.example.com.
    A   192.168.1.2
    MX  10 mail.example.com.
 $Origin example.com.
 $TTL 60 ; 1 minute
 dd2         A   192.168.1.7
 $TTL 86400  ; 1 day
 ex1         A   192.168.1.2
 ex2         A   192.168.1.2
 ex3         A   192.168.1.3
 ex4         A   192.168.1.4

私の質問は:

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

注:rndcリロードMYZONEまたはrndcリロードが機能しませんでした

これは私がリロードを使用したときに何が起こったのか

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

3
Nidal

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

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

rndc freeze example.com

その後、リロードします

rndc reload example.com  

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

rndc thaw example.com
4
Nidal

/etc/init.d/named reloadを試しましたか?

また、なぜrndc reload <namezone>が機能しなかったのですか?エラーが発生しましたか? 「シリアル」を現在の日付とバージョンに変更して、rndc reloadを再実行してみてください。

ゾーンをリロードする前にrndc flushを試すこともできます。

お役に立てれば!

0
Deeh