- ベストアンサー
外部とつながっていない環境でのDNSサーバ構築において接続できない問題
- 外部とつながっていない閉じた環境内でDNSサーバの構築を試していますが、クライアントからのnslookupで接続できずにタイムアウトしてしまいます。
- クライアント端末ではDNSサーバのアドレスを指定しており、pingも通じますが、nslookupでは「Can't find server name for address AAA.AAA.AAA.AAA: Time out」というエラーが発生します。
- BINDの設定に誤りがあると思われますが、具体的にどこが間違っているのか特定できません。named-checkconf -zでは文法的な誤りはないようです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
iptablesの設定変更でいままで遮断されていた通信が出来るようになったのでエラー内容が変わったようですね。 >「Can’t find server name for address AAA.AAA.AAA.AAA: Non-existent domain」 こちらのエラーは逆引きの問題で発生するエラーです。 BINDの逆引きゾーンの内容を確認して下さい。 IPアドレス AAA.AAA.AAA.AAA に対するPTRレコードが無いとこのエラーになります。
その他の回答 (3)
ANo.1 のm-take0220さんが回答された内容の追記になりますがDNSサーバのIP アドレスに対する PTR レコードは有りますか? DNSサーバで $ nslookup DNSサーバのIP アドレス でDNSサーバ名は得られますか?
お礼
ご回答ありがとうございました!
- maesen
- ベストアンサー率81% (646/790)
>「Can't find server name for address AAA.AAA.AAA.AAA: Time out」 このエラーはDNSサーバに到達出来ないなど、DNSサーバからの応答が無くタイムアウトした時に出るエラーです。 >DNSサーバはBIND9.7にて作成しています。 OSが不明ですが、pingはOKのようですので、 ・iptablesやパーソナルファイアウォールなどでDNSの通信(UDP 53)が遮断されている ・named.confの設定でクライアントのIPアドレスからqueryを許可する設定となっていない ・namedのプロセスが実行されていない この辺に問題がありそうに思います。
お礼
ご回答ありがとうございました。 >iptablesやパーソナルファイアウォールなどでDNSの通信(UDP 53)が遮断されている あ!と思い見てみたところ、見事に忘れていました。 しかしiptablesに設定を追加したところ、エラー内容が変わりました。 「Can’t find server name for address AAA.AAA.AAA.AAA: Non-existent domain」 通信は通りましたが、名前解決できていないようです。 また、DNSサーバ上ではnslookupで名前解決できましたので、ゾーン設定はできていると思うのですが…。 >named.confの設定でクライアントのIPアドレスからqueryを許可する設定となっていない named.confのoptions内で、「allow-query {any;};」と設定しています。
- m-take0220
- ベストアンサー率60% (477/782)
DNSサーバーのホスト名を表示するところで、逆引きに失敗しているのでしょう。 逆引きゾーンは作成してありますか? サーバーのホスト名がわからなくても、nslookupは使用できるので、ほかの部分(正引きゾーンなど)のチェックはできるはずです。
お礼
ご回答ありがとうございました。 DNSサーバ上では、nslookupで名前解決できることを確認しました。
お礼
ご回答ありがとうございました! 逆引き設定のファイルを確認したところ、記述の誤りを発見しました。 IPアドレス:AAA.BBB.CCC.DDD $ORIGIN BBB.AAA.in-addr.arpa. であって、 (誤)CCC.DDD IN PTR ホスト名 でした。これを改めまして、 (正)DDD.CCC IN PTR ホスト名 としました。 ポカミスですね。大変助かりました。ありがとうございました!