こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

named:外部から名前解決できません。

誠に恐縮ながら、お力をお貸し頂けましたら幸甚です。

●背景
CentOS5.2上でbind9.3.4を動作させています。
該当ホストは、自宅LAN内に配置し、自宅内ルータの静的NATにて前述の固定IPからPort53のTCP/UDPを解放しています。

●問題
LAN内(internal)では名前解決ができますが、WANから(external)の名前解決が行えません。

●症状
Windows Clientを使ってLAN内からnslookupを実行しています。
直接該当のホストを基点にLAN向けのドメイン(example-lan.com)は引けますが、プロバイダのdnsを基点にWAN向けのドメイン(example-wan.com)は引けていないようです。

--------------------------------------------------
c:\>nslookup
Default Server: server3.example-lan.com
Address: 192.168.1.12

> server 192.168.1.3(該当ホスト)
Default Server: [192.168.1.3]
Address: 192.168.1.3

> www.example-lan.com
Server: [192.168.1.3]
Address: 192.168.1.3

Name: dns0.example-lan.com
Address: 192.168.1.4
Aliases: www.example-lan.com

> server eagle.asahi-net.or.jp
Default Server: eagle.asahi-net.or.jp
Address: 202.224.32.1

> www.example-wan.com
Server: eagle.asahi-net.or.jp
Address: 202.224.32.1

DNS request timed out.
timeout was 2 seconds.
*** Request to eagle.asahi-net.or.jp timed-out
(複数回実施して確認済み)

--------------------------------------------------
上記を行った際のqueries.logは下記のように記録されますので、ルータの設定に問題はないと推測しております。

--------------------------------------------------
30-Jul-2009 00:46:10.017 queries: info: client 192.168.1.10#3702: view internal: query: www.example-lan.com.example-lan.com IN A +
30-Jul-2009 00:46:10.020 queries: info: client 192.168.1.10#3703: view internal: query: www.example-lan.com IN A +
30-Jul-2009 00:47:09.863 queries: info: client 202.224.32.149#62753: view external: query: www.example-wan.com IN A -E
30-Jul-2009 00:47:11.219 queries: info: client 202.224.32.149#46719: view external: query: www.example-wan.com IN A -
--------------------------------------------------

該当ホスト上でnslookupの実行結果は下記の様になります。

--------------------------------------------------
> www.example-wan.com
Server: 127.0.0.1
Address: 127.0.0.1#53

** server can't find www.example-wan.com: SERVFAIL

> www.example-lan.com
Server: 127.0.0.1
Address: 127.0.0.1#53

www.example-lan.com canonical name = dns0.example-lan.com.
Name: dns0.example-lan.com
Address: 192.168.1.4
--------------------------------------------------

上記(example-wan.com)を実施した際に、/var/log/messages及びdefault.logに下記が記録されます。

--------------------------------------------------
Jul 30 00:25:37 dns1 named[5066]: lame server resolving 'www.example-wan.com' (in 'example-wan.com
'?): 192.168.1.3#53
--------------------------------------------------

named.confのinternal側にexample-wan.comを記述してみると、example-wan.com.zoneの内容が引けますので、ゾーンファイルに問題は無いものと推測いたします。

●関連情報
設定内容を記載したかったのですが、文字数制限で書き込めません。
大変申し訳ありませんが、どなたからの回答を頂いた際に返信として書き込みたいと思います。

以上、よろしくお願いします。

投稿日時 - 2009-07-30 09:10:50

QNo.5167198

困ってます

質問者が選んだベストアンサー

質問の状況からすると、bindの設定よりは、ルータの問題である可能性が高いように見受けられます。
リクエスト処理の流れとしては、
自宅Windowsクライアント→(A:DNS問い合わせ)→eagle.asahi-net.or.jp→(B:DNS問い合わせ)→自宅CentOSサーバ→(C:DNS返答)→eagle.asahi-net.or.jp→(D:DNS返答)→自宅Windowsクライアント
となりますが、ログの内容からすると、BのDNS問い合わせが自宅サーバに届いていることは確かです。

あとは、その返事がWindowsクライアントに戻ってくるまでの経路で、CとDのどちらかに問題があるのかですが、
とりあえず、そのどちらに問題があるのかの確認方法ですが、
Windowsクライアントからのnslookupで自宅サーバ以外のドメインへの問い合わせは問題なくできますでしょうか?

たとえば、
C:\> nslookup www.yahoo.co.jp eagle.asahi-net.or.jp
とした場合、www.yahoo.co.jp のIPアドレスは返ってきますか?

これが問題なければ、Dは大丈夫なのでCが問題。
この場合も返事がなければ、D(もしくはCとD両方)が問題
ということになります。

あるいは、Cが問題ないかどうかのチェックとしては、
DNSのチェックサイトを利用するという方法があります。
http://www.domaintools.com/
これにホスト名を入れて DNS Tools のDNSでテストして応答がちゃんと表示されれば、Cは問題ないことになります。

どちらの場合にせよ、一番怪しいのはルーターの設定かと思います。

投稿日時 - 2009-07-30 11:10:36

補足

アドバイスありがとうございます。
ルータについては疑っていませんでしたので、もう一度考えてみたいと思います。

> C:\> nslookup ​www.yahoo.co.jp​ eagle.asahi-net.or.jp
> とした場合、​www.yahoo.co.jp​ のIPアドレスは返ってきますか?

問題ないようです。

> これにホスト名を入れて DNS Tools のDNSでテストして応答がちゃんと表示されれば、Cは問題ないことになります。

下記の様になります。
------------------------------------------------------------
;; Answer received from 127.0.0.1 (270 bytes)
;;
;; HEADER SECTION
;; id = 54604
;; qr = 1 opcode = QUERY aa = 0 tc = 0 rd = 1
;; ra = 1 ad = 0 cd = 0 rcode = NOERROR
;; qdcount = 1 ancount = 1 nscount = 6 arcount = 6

;; QUESTION SECTION (1 record)
;; dns1.example-wan.com. IN A

;; ANSWER SECTION (1 record)
dns1.example-wan.com. 172800 IN A 00.11.22.33

;; AUTHORITY SECTION (6 records)
example-wan.com. 172800 IN NS super.example-wan.com.
example-wan.com. 172800 IN NS dns0.example-wan.com.

;; ADDITIONAL SECTION (6 records)
aaa.example-wan.com. 172800 IN A 11.22.33.44
bbb.example-wan.com. 172800 IN A 22.33.44.55
------------------------------------------------------------

先にアップできなかった設定内容を記載します。

[named.conf]
options {
version "unknown";
directory "/var/named";
allow-query { any; };
allow-recursion { localhost; localnets; };
allow-transfer {
localhost;
(省略)
};
};

controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};

logging {
channel "default_debug" {
file "default.log" versions 3 size 5m;
severity dynamic;
print-category yes;
print-severity yes;
print-time yes;
};
channel "query_log" {
file "queries.log" versions 3 size 5m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category queries { query_log; };
};

view "internal" {
match-clients { localnets; };
allow-query { localhost; localnets; };
recursion yes;

zone "." IN {
type hint;
file "data/named.ca";
};

zone "0.0.127.in-addr.arpa" {
type master;
file "data/0.0.127.in-addr.arpa";
};

zone "1.168.192.in-addr.arpa" {
type master;
file "data/1.168.192.in-addr.arpa";
};

zone "private.com" {
type master;
file "data/private.com.local";
};

(省略)

};

view "external" {
match-clients { any; };
allow-query { any; };
allow-recursion { none; };

zone "sample.com" {
type master;
file "data/sample.com.zone";
};

(省略)

};

include "/etc/rndc.key";

[resolv.conf]
nameserver 127.0.0.1

引き続きお気づきのことがありましたら、よろしくお願いします。

投稿日時 - 2009-07-30 12:47:03

お礼

時間が経ってしまって申し訳ありません。
前回のhttp://www.domaintools.com/​でのチェックは私の勘違いだったようです。
他のDNSチェックサイト(http://dnscheck.iis.se/)からもテストしてみましたが、仰せのCの部分が動作していないようです。

ルータについては、WAN側グローバルIPのPort53を該当ホストのプライベートに通す以外の設定は見つけられませんでした。
アドバイスいただきましてありがとうございました。

投稿日時 - 2009-08-02 11:38:11

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

DNSの権限委譲はしてますか?
ドメインの登録はどうなっているのでしょうか。

DNSが動いているかどうかを確認したいのであれば
外部環境より、ルータのグローバルIPをDNSサーバに指定して
www.example-wan.comの名前解決を試してみてはいかがでしょうか。

投稿日時 - 2009-07-30 12:02:25

補足

アドバイスありがとうございます。

> ドメインの登録はどうなっているのでしょうか。

「どうなっている」という部分が良く理解できていませんが、レジストラのdns登録は該当ホストのIPを登録してあります。
よって、プロバイダのdnsを基点にexample-wan.comをnslookupすると、該当のサーバへ問い合わせが来ているのだと理解しております。

> 外部環境より、ルータのグローバルIPをDNSサーバに指定して
> ​www.example-wan.com​の名前解決を試してみてはいかがでしょうか。

これは後ほど試してみたいと思っていますが、自LAN内からでもプロバイダのDNSを基点にnslookupすることで同義ではないでしょうか?
勘違いしていたらもうしわけありません。

個人的には、queries.logの"IN A -"という部分が気になっていまして、いろいろ検索しているのですが未だ情報は得られておりません。
気付かれたことがありましたら、アドバイスをよろしくお願いします。

投稿日時 - 2009-07-30 12:55:37

お礼

時間が経ってしまって申し訳ありません。
私の環境では、以下を試すことができませんでした。
DNSは自動で割り振られ、明示的に設定することができなかったのです。

> 外部環境より、ルータのグローバルIPをDNSサーバに指定して
> ​www.example-wan.com​の名前解決を試してみてはいかがでしょうか。

アドバイスいただきましてありがとうございました。

投稿日時 - 2009-08-02 11:41:24

あなたにオススメの質問