- - PR -
BINDで外部への名前解決についての質問
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-04-14 00:14
ごめんなさい、ここはちょっと意味がわかりません。 ところで、誤解があると申し訳ないので補足しますと、
ここで、digコマンド中に @付きで指定しているDNSサーバは、named.conf の forwarders として設定したサーバのことです。(今回は 202.248.37.74 … つまり “dig @202.248.37.74 www.atmarkit.co.jp” 等のコマンドを試す) 今後 bind → 外部DNSサーバ で行われる通信と同等の事を、前もって手動で試しているわけですね。 これが timeout になる場合は、forwarders に指定すべきサーバが違うか、ルータ等含めネットワーク的な問題があるか…、ということになります。 ただ、あくまで「疎通」の確認ですから、
というのは、何か方法が違うように思います。(ドメインによって timeout になったりならなかったりはしない筈) | ||||||||||||
|
投稿日時: 2005-04-14 00:28
こんばんわ.
というか,localhost で bind 動かしているのに, なぜ外部へ名前を訊きに行くのでしょうか? angel様のご指摘にあるような設定は「bind にだけ効く」のであって, Linux そのものはコブラ様のご指摘でもわかるように, resolv.conf に設定する必要があります. なので,今回の場合の nameserver は 127.0.0.1 で良いのでは? -> コブラ様 で,Linux -> 外部 DNS 間の通信を確認するために, 一時的に resolv.conf の nameserver を外部 DNS とすると, ちゃんと名前は解決できますか? -> たろきち様 ここで名前を解決できないと, bind を外部 DNS に forward させても名前は解決できないでしょう. さらに,resolv.conf の nameserver を router にした場合は? ここで名前を解決できれば, bind の forward 先を router にすることで外部の名前を解決できるでしょう. router なら解決できて,外部 DNS に訊きに行ったら解決できないなら, router で NAT や NAPT をする必要があるのでは? ここは Mattun様のご指摘にあるように, Linux(bind)は外部の DNS に訊きに行けているのに, 外部 DNS 側が Linux の居場所がわからなくて答えを返せないのでしょう. 以上,ご参考までに. | ||||||||||||
|
投稿日時: 2005-04-14 02:55
Mattun様、angel様、コブラ様、kaz様ご返答頂きありがとうございます。
今回のレスで問題の解決が出来ましたので、作業報告をします。 コブラ様の >/etc/resolv.conf にプロバイダの nameserver 指定 こちらにつきましては、"resolv.conf"のセカンダリに登録していましたので、nameserverの先頭に持っていきましたが、host等のユーティリティでエラーが返ってきました。ちなみに先頭はサーバのIPアドレスを入れていました。 その後、kaz様の127.0.0.1も設定しましたが、同じく"timed out"になりました。 angel様の例にあった"forwardersのDNSサーバでdig @202.248.37.74 www.atmarkit.co.jp"も試しましたが同じエラーが返ってきました。 その後、kaz様のおっしゃっていた"resolv.conf"のnameserverをルータのIPアドレスに指定したところ、linuxでDNSを引くことが出来ました。 ただ、クライアントPC(DNSはLinuxのIPアドレス)では解決出来ませんでした。 digでもルータのアドレスをDNSにして引くことができたので、 今度は"named.conf"のforwardersにルータを設定したところ、クライアントPCからでもDNSを引くことが出来ました。 resolv.confのnameserverに関しては色々試したり、しまいには空白でも試したりしましたが、結果変わらず見ることが出来ました。 ということは、resolv.confよりもforwardersの方が優先されると言うことでしょうか。 とにかく、問題が解決出来て助かりました。 お時間を割いて助言頂きました皆様、感謝しております。ありがとうございました。 | ||||||||||||
|
投稿日時: 2005-04-14 07:35
おはようございます.
resolv.conf は「Linux 自体の DNS client としての設定」です. client PC が bind に訊きに行っている限り, resolv.conf がどのように定義されていようと影響ありません. なので,Linux 自身で名前解決が必要でなければ, 極端な書き方をすると定義しなくて良いはずです. つまり resolv.conf と forwarders は連動しますが 優先云々という話ではありません. つまり, client PC -> bind -> forward 先の DNS という順番なので, resolv.conf で nameserver を 127.0.0.1 にすると 最初の client PC が Linux になるだけです. 以上,ご参考までに. |