- - PR -
外部ネットワークからの逆引きnslookupでエラーになる
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-06-12 03:13
Red Hat Enterprise Linux 3上に、BINDでDNSを構築しています。
サーバ内で(SSHでログインして)nslookupコマンドで問い合わせると、 正引き、逆引きともに、自サーバで管理しているドメイン/IPも、 外部サーバのドメイン/IPも、正しい値が戻ります。 ところが、外部ネットワークからnslookupコマンドで問い合わせると、 正引きは正しいIPが戻りますが、逆引きではエラーが出てしまいます。 Web上のサービスで逆引きした例: ( http://www.morry.com/cgi-bin/tool/nslookup.cgi を利用) *** Can't find xxx.xxx.xxx.xxx: Non-existent host/domain クライアントPC(WindowsXPのコマンドプロンプト)で逆引きした例: *** can't find xxx.xxx.xxx.xxx: Server failed この症状を解決するのに、サーバ上で確認すべきポイントがあれば、 ご教授お願いします。 よろしくお願いします。 |
|
投稿日時: 2007-06-12 05:44
プロパイダから指定された、逆引きのサブアロケーションを使って逆引きが定義されていないとかでは無いですが?
例えばプロパイダから与えられているゾーンが 192.168.1.16 - 192.168.1.31 までも範囲ですと、プロパイダ側から指定されている逆引きゾーンのアロケーションが 16.1.168.192.in-addr.arpa. ~~ だったりします。(1.168.192.in-addr.arpa.で無いことに注目。先頭の部分の16はプロパイダによって指定内容が違うので書類を確認してください) ですから、named.confで定義するゾーン指定は"16.1.168.192.in-addr.arpa."となり、また逆引きゾーン指定で明示的にゾーンを定義しているなら同じようにする必要があります。(ゾーンファイル内では省略形か@マークを使っていると思うので、ゾーンファイル内は直す必要はあまりないとは思いますが。。) |
|
投稿日時: 2007-06-12 07:18
非武装エリア さん、早速の返信、ありがとうございます。
プロバイダのアロケーションについては、確認済みです。 以下の追加情報でも触れていますが、別拠点、同じプロバイダ回線で 公開しているDNSは正常に稼働していますので、この点は問題ないと思われます。 記述し忘れていた情報があり、ここで追記させていただきます。 ・今回、問題になっているサーバでは、以前、逆引きができていました。 気付いたらできなくなっていたので、原因が不明・・・。 (気付かないうちに原因を作っていた、ということも考えられますが) ・問題の回線は有線の光ファイバー(Gate02)を利用しています。 問題が起こっているサーバとは別回線、別拠点でサーバを公開していますが、 こちらはdebian3.1で組んでいるものの、逆引きは問題なく戻ります。 よろしくお願いします。。。 |
|
投稿日時: 2007-06-12 10:29
bindを再起動(または kill -HUP プロセス番号)した際に、/var/log/messagesにnamed関連のログがはき出されると思いますが、ここに逆引きのファイルをロード中にエラーを出してませんか?
|
|
投稿日時: 2007-06-12 11:14
namedを再起動したログを/var/log/messagesにて確認しました。
結果、正引きのゾーンファイル同様、正常にロードされたログが残っていて、 エラーを示すものは、起動時には出力されていませんでした。 逆引きのログ: Jun 12 11:10:21 ns named[13671]: master zone "xxx/29.xxx.xxx.xxx.in-addr.arpa" (IN) loaded (serial 2007050901) 正引きのログ: Jun 12 11:10:21 ns named[13671]: master zone "xxxxxxx.com" (IN) loaded (serial 2007040401) |
|
投稿日時: 2007-06-12 12:46
以下を実行してみてください。
# nslookup > server a.root-servers.net. > set norecurse > set type=ns > xxx/29.xxx.xxx.xxx.in-addr.arpa. (exitで終了します) で、これでゾーンを認識しているサーバがないと、Can't Finedになります。 その場合には、ドメインを申請したところ(プロパイダ?)に確認をとる方が良いでしょう。(ピリオドが最後についている処は、必ずピリオドを付けてください) [ メッセージ編集済み 編集者: 非武装エリア 編集日時 2007-06-12 12:49 ] |
1