新しいCentosサーバーをインストールし、それにbindとbind-utilsをインストールしました。 /etc/named.conf
の内容は次のとおりです。
# create new
options {
directory "/var/named";
allow-query { localhost; 10.1.2.0/24; };
allow-transfer { localhost; 10.1.2.0/24; };
recursion yes;
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
view "internal" {
match-clients {
localhost;
10.1.2.0/24;
};
zone "." IN {
type hint;
file "named.ca";
};
zone "amadeus.netvision" IN {
type master;
file "amadeus.netvision.lan";
allow-update { none; };
};
zone "0.0.10.in-addr.arpa" IN {
type master;
file "0.0.10.db";
allow-update { none; };
};
zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};
};
view "external" {
match-clients { any; };
allow-query { any; };
recursion no;
zone "amadeus.netvision" IN {
type master;
file "amadeus.netvision.wan";
allow-update { none; };
};
};
include "/etc/rndc.key";
# allow-query ⇒ query range you permit
# allow-transfer ⇒ the range you permit to transfer zone info
# recursion ⇒ allow or not to search recursively
# view "internal" { *** }; ⇒ write for internal definition
# view "external" { *** }; ⇒ write for external definition
# For How to write for reverse resolving, Write network address reversely like below.
# 10.1.2.0/24
# network address⇒ 10.1.2.0
# range of network⇒ 10.1.2.0 - 10.0.0.255
# how to write⇒ 0.0.10.in-addr.arpa
# 172.16.0.80/29
# network address⇒ 172.16.0.80
# range of network⇒ 172.16.0.80 - 172.16.0.87
# how to write⇒ 80.0.16.172.in-addr.arpa
名前付きデーモンを起動しようとすると、次のエラーが発生します。
[root@srv ~]# service named restart
Stopping named: [ OK ]
Starting named:
Error in named configuration:
/etc/named.conf:9: unknown key 'rndckey'
[FAILED]
[root@srv ~]#
何が間違っているのかわかりません。次のコマンドrndc-confgen -a -c /etc/rndc.key
を使用してrndc.keyを作成しましたが、キーが作成されましたが、それでも同じエラーが発生します。このファイルは正しいパス/etc/rndc.key
にあり、/etc/named.conf
ファイルに含まれています。
ファイル/etc/rndc.key
をチェックして、どちらがキーの名前であるかを確認します。例えば:
key "rndc-key" {
この名前はnamed.conf
で指定する必要があります
keys { rndc-key; };
私はちょうど上記の症状を経験しました。
私の場合は少し異なり、これは上記の質問に対する正確な答えではありませんが、うまくいけば、これは誰かを助けるかもしれません...
私の場合、オプションブロック内のキーを指定しましたが、これは正しくありません。
keyステートメントは、named.conf構成ファイル内の他のステートメント(optionsステートメントブロックなど)の外部で定義する必要があります。
つまり、以下は不正解です。
options {
...
include "/etc/rndc.key";
};
以下は正しいです:
options {
...
};
include "/etc/rndc.key";