- - PR -
bindで正引き時のエラー
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-11-22 18:58
初めて投稿されてもらいます。宜しくお願いします。
【環境】 OS RedHatEnterpriseLinux4 32bit 0BIND-9.2.4 クライアント:WinXP クライアントとサーバは、ハブで繋がっている状態 サーバの全ての設定は、本番環境のグローバルアドレスを設定してますが、 閉じられた環境でテストしています。 【現象】 クライアントでnslookupコマンドを実行し、正引きのドメインを入力した際に 以下のエラーが発生するが、問題なく引ける。 ----------------------------------------------- > www.sample.co.jp Server: www.sample.co.jp Address: 111.222.111.222 DNS request timed out. timeout was 2 seconds. Name: www.sample.co.jp Address: 111.222.111.222 > -------------------------------------------- 【解決したいこと】 逆引きは、エラーなく瞬時に答えがくるのですが、正引き時は、タイムラグの後に エラーメッセージと答えが同時にでます。引けてるということは設定の間違いは なさそうなので、どこから調査していけばいいのか、教えてもらえますでしょうか? また、何か提示する資料が足りないのであれば、教えてください。 | ||||
|
投稿日時: 2007-11-22 22:09
BIND側でquerylogを出力するように設定してクライアント側が
どんなqueryを出しているか見てはいかがでしょうか。 named.confを見てみたいですが、経験上の原因としてAAAAとか DNSサフィックスがらみかもです。 蛇足ですが9.2.4はセキュリティホールが報告されています。 設定次第ですが現行のバージョンをお勧めします。 | ||||
|
投稿日時: 2007-11-22 22:57
調査方法の提示、ありがとうございます。
帰宅してしまったので、月曜日に実行してみます。 1.querylogを出力させるオプションを付けて実行 2.named.conf を見直す 3.IPv4のみの設定なので、AAAA(IPv6)用の設定があれば削除する 4.DNSサフィックスを見直す をやってみようと思います。 現在のBINDは、RedHatからのパッチを適用しているので問題ないと思っています。 後日、情報を提示させてもらいますので、お付き合い頂けたらと思います。 | ||||
|
投稿日時: 2007-11-24 02:17
実は単純にネットワーク疎通ができてないとか。。。
| ||||
|
投稿日時: 2007-11-26 10:00
ありがとうございます。解決致しました。
DNSサフィックスがらみなのかな? クライアントで、Wiresharkを起動させながら、nslookupのコマンドを 実行しながら、正引きを実行したところ、Wiresharkのログに、 standard query A www.[ドメイン名].co.jp.xxxx.local となっており、社内環境で使用しているWindowsのドメイン名 「xxxx.local」が後ろに付いておりました。 クライアント端末をWindowsドメイン環境から抜けて、Workgroupにし、 再度nslookupを実行したところ、エラーなく瞬時に正引きできました。 閉じられた環境なので、こうゆうことになったのかどうかわかりませんが、 エラーは解決しました。 本番環境は、Windowsドメインがある環境なので、再現しちゃいそうで 怖いですが、クライアントの問題でした。 | ||||
|
投稿日時: 2007-11-26 23:50
こんばんは.
なぜ ".local" が付与されているかを追求しないで解決として問題ないのですか? その Windows client が所属している Active Directory の domain 名がそのように設定されているだけです. 「再現しちゃう」どころの話ではないと思いますけど? そもそも DNS の仕組みや Active Directory の仕様を まるで考慮していないだけではないかと. | ||||
|
投稿日時: 2007-11-27 10:11
コメントありがとうございます。
現在の認識では、 【本番環境のクライアントの場合】 プライマリDNS:ActiveDirectoryのサーバ セカンダリDNS:BINDサーバ 【閉じられたテスト環境のクライアントの場合】 プライマリDNS:BINDサーバ セカンダリDNS:なし なので、本番環境の正引き時には、後ろに「xxxx.local」が ついてもActiveDirectoryが解決してくれてエラーにならないのでは? という考えで仕様まで深く考えていませんでした。 WireSharkのログを見ると ------------------------------------------------------------------------- Standard query A www.[ドメイン名].co.jp.xxxx.local Standard query response, No such name Standard query A www.[ドメイン名].co.jp Standard query response CNAME ns1.[ドメイン名].co.jp A 111.111.111.111 -------------------------------------------------------------------------- となっており、1回目の名前解決では、失敗し、2回目は「xxxx.local」を かってに削除して問い合わせておりました。(IPアドレスは例です。) クライアント側の「ローカルエリア接続のプロパティ」→「詳細設定」→「DNSタブ」 の中にDNSサフィックスの設定があり、現在は「プライマリおよび接続専用の DNSサフィックスを追加する」にチェックがつけられているからなのだと判断いたしました。 現在、それの意味や仕様などは未調査で、なぜこのようなことが起こるのかだけ調査した状態です。 今後、仕様について調査し、まとめるのは下手ですが、判り次第簡単に提示します。 | ||||
|
投稿日時: 2007-11-28 00:55
こんばんは.
Active Directory についてちゃんと調べていれば, ここが間違っていることが理解できると思います. ※BIND は Active Directory 用の DNS の slave ではありませんよね? |
1