プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。
DNSサーバーを構築して(bind8.3.1 for Solaris)同サーバーにて
nslookupを実行するとおかしな事象が発生します。
ローカルドメイン(仮): xxx.co.jp
DNSサーバー名(仮): mydns.xxx.co.jp
DNSサーバーIP(仮): 10.10.10.99

DNSが引けた場合は問題ないのですが、引けなかった場合、通常

# nslookup hogehoge.co.jp
Server: mydns.xxx.co.jp
Address: 10.10.10.99

*** mydns.xxx.co.jp can't find
hogehoge.co.jp: Non-existent host/domain

のようになるはずなのに、

# nslookup hogehoge.co.jp
Server: mydns.xxx.co.jp
Address: 10.10.10.99

Name: hogehoge.co.jp.xxx.co.jp

のように、サーチしたドメインの後ろにローカルドメインが付随して表示されてしまいます。
IPでサーチした場合はもちろんこのようにはなりません。

resolv.conf や named.conf も調べたのですがよくわかりません。

どなたかご見当が付く方がいらっしゃいましたらご教授いただければ幸いです。

A 回答 (2件)

No.1のKnl_Panicです。


失礼しました。ローカルのみの現象であれば、リゾルバの正常動作です。
/etc/resolv.confにsearch行かdomain行が書かれている場合、末尾に「.」がつかないドメイン名をnslookupすると、search/domain行に書かれたドメイン名を補完して再検索を実行するようになっています。特に動作異常ではありませんので、そのまま運用しても問題ないはずです。
普段検索する際にはあまり意識する事はありませんが、本来、ドメイン名の末尾には「.」が必要である名残なのだという程度で認識してくだされば結構です(また、気になるようでしたら、ローカルからドメイン名検索する際には「hogehoge.co.jp.」のように、末尾に「.」をつけて記述すると良いと思います。
    • good
    • 0
この回答へのお礼

そうだったんですか。
メールその他の運用には支障が無かったのでクリティカルな問題ではなかったのですが、どうも気になって調べておりました。
私の言葉足らずでお手を煩わさせてしまい申し訳ございませんでした。
度々なるご好意に感謝致します。

お礼日時:2008/10/10 17:45

こんにちは。


named.confにforwarderを設定していて、その設定が間違ってはいませんか?
named.confでroot.cacheは設定できていますか?
またroot.cacheのゾーンファイルはしっかり取得できていますか?

どうやらDNSサーバー自身で名前解決できなかった場合のDNS問い合わせ先が認識できず、かつ、検索ドメイン名の末尾に「.」がついていないため、相対パスと認識してローカルドメイン名のサフィックスを補完してドメインの再検索を実行しているように見受けられます。こういった場合、forwarder設定、あるいはroot.cacheの設定がうまく行っていない事が多いです。

とりあえずそのあたりを確認してみてください。
違っていたらすみません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

試しに、named.conf のforwarders 設定を無効にし
root.cacheを最新のものに更新して
zone "." {
type hint;
file "root.cache";
}
としてnamedを再起動しましたが同様の現象が発生しました。

書き忘れていましたが、この現象は
DNSサーバー自体で、nslookupした時にだけ現れるもので
このDNSサーバーをネームサーバーに設定している別ホストでは
nslookupをしてもこのようにはならず、きちんと
can't find ...
になります。
自らに問い合わせるとダメということになります。

参考になるご見解とご好意に感謝致します。

お礼日時:2008/10/10 15:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!