このスレッドは解決済です(未解決に戻す場合はこちら)
<<戻る

DNS:セカンダリDNS転送でエラーが出て転送されない このメッセージに返信する
日時: 2011/02/17 16:20
名前: K
URL:
いつもお世話になっております。
プライマリDNSとセカンダリDNSを立てたのですが、セカンダリDNSに転送されません。

プライマリDNSの /var/log/messages には、

(日時) ns named[11327]: client (プライマリDNSのIPアドレス)#8394: view localhost_resolver: received notify for zone '(ドメイン名)': not authoritative

セカンダリDNSの /var/log/messages には、

(日時) (セカンダリDNSサーバー名) named[6391]: client (プライマリDNSのIPアドレス)#63016: view lan: received notify for zone '(ドメイン名)': not authoritative

というエラーが出されています。

セカンダリDNSは、他のプライマリDNSからのものは転送されてきているため、ちゃんと動いていると思われます。
実は、接続プロバイダを変更したのですが、変更前はちゃんと動いていました。
今回、プロバイダ変更とともに、両DNSのOS自体を再インストールし、バックアップから設定ファイル(etc/named.cong、etc/named.(ドメイン名).zone、etc/named.(ドメイン名).zone.wan、およびvar/named/内の各種(ドメイン名).dbファイル)を戻し、IPアドレスを変更したのですが、何故だか動かないのです。

設定ファイルは、

プライマリDNSの named.conf は

options {
version "unknown";
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
zone-statistics yes;
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query{
localhost;
localnets;
};
allow-recursion{
localhost;
localnets;
};
allow-transfer{
localhost;
localnets;
(ルーターIPアドレス);
};
forwarders{
(ルーターIPアドレス);
};
allow-query-cache { localhost; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.rfc1912.zones";
include "/etc/named.(ドメイン名).zone";
};
view "internal" {
match-clients { localnets; };
match-destinations { localnets; };
recursion yes;
include "/etc/named.rfc1912.zones";
include "/etc/named.(ドメイン名).zone";
};
view "external" {
match-clients { any; };
match-destinations { any; };
recursion no;
include "/etc/named.(ドメイン名).zone.wan";
};




プライマリDNSの named.(ドメイン名).zone.wan は

zone "(ドメイン名1)" IN {
type master;
file "(ドメイン名1).db";
allow-transfer { (セカンダリDNSのIPアドレス); };
allow-query { any; };
notify yes;
};
zone "(ドメイン名2)" IN {
type master;
file "(ドメイン名2).db";
allow-transfer { (セカンダリDNSのIPアドレス); };
allow-query { any; };
notify yes;
};
zone "(ドメイン名3)" IN {
type master;
file "(ドメイン名3).db";
allow-transfer { (セカンダリDNSのIPアドレス); };
allow-query { any; };
notify yes;
};



セカンダリDNSの named.conf は

acl localnet{
27.96.60.144/28;
127.0.0.1;
};

options {
directory "/var/named";
version "unknown";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
// query-source address * port 53;
allow-query{
127.0.0.1;
27.96.60.144/28;
};
allow-recursion{
127.0.0.1;
27.96.60.144/28;
};
allow-transfer{
127.0.0.1;
27.96.60.144/28;
202.75.236.254;
61.205.63.72;
};
forwarders{
27.96.60.145;
};
notify yes;
};

// a caching only nameserver config
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};

logging {
category lame-servers { null; };
};

// 内部向けゾーン情報
view "lan" {
match-clients {
localnet;
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
};

// 外部向けゾーン情報
view "wan" {
match-clients {
any;
};

zone "(ドメイン名1)" IN {
type slave;
file "slaves/(ドメイン名1).bak";
masters { (プライマリDNSのIPアドレス); };
allow-query { any; };
};
zone "(ドメイン名2)" IN {
type slave;
file "slaves/(ドメイン名2).bak";
masters { (プライマリDNSのIPアドレス); };
allow-query { any; };
};
zone "(ドメイン名3)" IN {
type slave;
file "slaves/(ドメイン名3).bak";
masters { (プライマリDNSのIPアドレス); };
allow-query { any; };
};
};
include "/etc/rndc.key";


となってます。
原因はどこにあるかわかりますでしょうか?

よろしくお願いいたします。
記事編集 編集

Page: | 1 | 2 |

Re: DNS:セカンダリDNS転送でエラーが出て転送されない このメッセージに返信する
日時: 2011/02/18 12:09
名前: stranger
URL: http://ja.528p.com/
>(日時) (ホスト名) named[9561]: transfer of '(ドメイン名)/IN' from (プライマリDNSのIPアドレス)##53: >failed while receiving responses: NOTAUTH

プライマリDNSに(ドメイン名)に対して権威がないのでは?

セカンダリから dig (ドメイン名) でAUTHORITY SECTION が表示されますか
記事編集 編集
Re: DNS:セカンダリDNS転送でエラーが出て転送されない このメッセージに返信する
日時: 2011/02/18 13:44
名前: K
URL:
>stranger様

>>(日時) (ホスト名) named[9561]: transfer of '(ドメイン名)/IN' from (プライマリDNSのIPアドレス)##53: >failed while receiving responses: NOTAUTH
>
>プライマリDNSに(ドメイン名)に対して権威がないのでは?
>
>セカンダリから dig (ドメイン名) でAUTHORITY SECTION が表示されますか

上記の意味が理解できませんでしたが、ファイルをすべて1から作り直したら動きました。
ありがとうございました。
おそらくは、プライマリDNSの設定は、ここのホームページ通りのnamed.confでしたが、セカンダリDNSのnamed.confで acl localnetを設定していたこと、あるいは、view "lan"、view "wan"、を設定していたため、プライマリDNS側のview "internal"、view "external"、と整合性が取れていなかったことが原因ではないかと思います。

・・・だけでは、何がどうだかわからないので、今回私がやったセカンダリDNSの設定方法を記載しておきます。
ご自身でセカンダリDNSを立てたいとお考えの方がいらっしゃいましたら、参考にしていただければと思います。

原則、セカンダリDNSも、プライマリDNSと同じ/var/named/chroot/etc/named.confの設定でいいと思います。(もちろん、forwardersやファイル名は変える必要がありますが。)
ここのホームページの設定を元に説明しますと、セカンダリDNS側の/var/named/chroot/etc/centossrv.com.zone.wanで、プライマリDNSでは

zone "centossrv.com" {
type master;
file "centossrv.com.db.wan";
allow-query { any; };
allow-transfer {
123.50.202.226;
38.110.146.192;
};
notify yes;
};

となる部分を、

zone "centossrv.com" {
type slave;
file "slave/centossrv.com.db.bak";
masters { (プライマリDNSのIPアドレス); };
allow-query { any; };
};

と書き換えれば、セカンダリDNSとして動作するようです。
プライマリDNS側では、 allow-transfer { (セカンダリDNSのIPアドレス); }; に変更するのを忘れないようにしてください。
また、余談ですが、プライマリDNSが立てられているサーバー以外の(ドメイン名.db.wan)ファイルでは、$TTL 86400の上に$ORIGINを入れています。
つまり、

>vi /var/named/chroot/var/named/virtual.com.db.wan

$ORIGIN virtual.com.
$TTL 86400
@ IN SOA ns1.centossrv.com. root.virtual.com. (
2011010101 ; Serial
7200 ; Refresh
7200 ; Retry
2419200 ; Expire
86400 ) ; Minimum

IN NS ns1.centossrv.com.
IN NS ns2.centossrv.com. ; セカンダリDNS
IN MX 10 mail.virtual.com.
@ IN A xxx.xxx.xxx.xxx ; IPアドレス
* IN A xxx.xxx.xxx.xxx ; IPアドレス
virtual.com. IN TXT "v=spf1 a mx ~all"

としています。
で、プライマリDNSで

vi /var/named/chroot/etc/named.centossrv.com.zone.wan

zone "centossrv.com" {
type master;
file "centossrv.com.db.wan";
allow-query { any; };
allow-transfer {
(セカンダリDNSのIPアドレス);
};
notify yes;
};
zone virtual.com" {
type master;
file "virutal.com.db.wan";
allow-query { any; };
allow-transfer {
(セカンダリDNSのIPアドレス);
};
notify yes;
};

としています。
もちろん、virtual.comのセカンダリDNSも設定するなら、セカンダリDNSでも

vi /var/named/chroot/etc/named.centossrv.com.zone.wan

zone "centossrv.com" {
type slave;
file "slave/centossrv.com.db.bak";
masters { (プライマリDNSのIPアドレス); };
allow-query { any; };
};
zone "virtual.com" {
type slave;
file "slave/virtual.com.db.bak";
masters { (プライマリDNSのIPアドレス); };
allow-query { any; };
};

としなければなりませんね。

ということで、私自身の問題は解決しましたが、セカンダリDNSの設定方法を書きましたので、間違っている部分がありましたらご指摘願います。
問題がないようでしたら解決済みにさせていただきます。

ありがとうございました。
記事編集 編集
Re: DNS:セカンダリDNS転送でエラーが出て転送されない このメッセージに返信する
日時: 2011/02/18 13:53
名前: K
URL:
すみません。私のセカンダリDNSの設定ファイルは、

vi /var/named/chroot/etc/named.centossrv.com.zone.wan

zone "centossrv.com" {
type slave;
file "slaves/centossrv.com.db.bak";
masters { (プライマリDNSのIPアドレス); };
allow-query { any; };
};

となっていました。(file "slave/centossrv.com.db.bak"; -> file "slaves/centossrv.com.db.bak";)
記事編集 編集
Re: DNS:セカンダリDNS転送でエラーが出て転送されない このメッセージに返信する
日時: 2011/02/18 15:10
名前: stranger
URL: http://ja.528p.com/
>あるいは、view "lan"、view "wan"、を設定していたため、プライマリDNS側のview "internal"、view >"external"、と整合性が取れていなかったことが原因ではないかと思います。

他のDNSのviewと同じ名前にしないと
2ndネームサーバとして使えないということはないと思うけど?

私は プロバイダのinterlinkを2ndネームサーバにしていますが
viewの名前を指定されたことはありません

どこか別の場所で、違っていた部分があったのではありませんか?
記事編集 編集
Re: DNS:セカンダリDNS転送でエラーが出て転送されない このメッセージに返信する
日時: 2011/02/18 16:25
名前: K
URL:
>stranger様

>どこか別の場所で、違っていた部分があったのではありませんか?

元々3台プライマリDNSがあって、1台がダメだったのですが、ずっと動いている2台もviewが違っているのでviewの違いで動かないというのはおかしいと思っています。
ただ、元々動いていたファイルをIPアドレスだけ変更して戻しても動かなかったので、本当に訳が分かりません。
DNSの場合、問題があると他の方にも多大なる迷惑をかけてしまうので、ちょっと怖いですね。

ちなみにテストしまくった関係上、SOAのserialがすごい勢いで進んでしまって見栄えが悪くなってしまいました笑
記事編集 編集

Page: | 1 | 2 |

件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -