/etc/resolv.confでは、「検索」設定オプションは正確に何をしますか?


66

サーバー自体のドメイン名としてオプションを設定している場合、外部インターネットを照会する前にサーバー自体が最初にドメイン名を検索するために使用されることを意味しますか?すなわち/etc/hosts、照会されますか?

例えば:

search  localdomain.com

回答:


63

から man resolv.conf

通常、検索リストはローカルドメイン名から決定されます。デフォルトでは、ローカルドメイン名のみが含まれます。これは、名前を区切るスペースまたはタブを使用して、検索キーワードの後に​​目的のドメイン検索パスをリストすることで変更できます。ドットがndots未満(デフォルトは1)のリゾルバークエリは、一致が見つかるまで検索パスの各コンポーネントを順番に使用して試行されます。複数のサブドメインを持つ環境では、中間者攻撃とroot-dns-serversの不要なトラフィックを避けるために、以下のオプションndots:nをお読みください。リストされたドメインのサーバーがローカルでない場合、このプロセスは遅く、大量のネットワークトラフィックを生成する可能性があります。また、いずれかのドメインで使用可能なサーバーがない場合、クエリはタイムアウトします。

検索リストは現在、合計256文字の6つのドメインに制限されています。

上記を要約すると、上記のデフォルトから変更がないと仮定して、ドットのないリゾルバーに何かが到達すると、リゾルバーはlocaldomain.comそれに追加しようとします。

http://somesite/somedocument.htmlブラウザーに入力するだけだとしましょう。リゾルバーはそれをキャッチし、最初に解決しようとしますsomesite.localdomain.com-実際に入力した場合と同等ですhttp://somesite.localdomain.com/somedocument.html-実際に要求したことを試みる前に。

これは、独自のDNSサーバーを持つLAN環境の一部である場合に便利です。これにより、人々は単純な名前を入力してローカルリソースに到達できます。独自のDNSサーバーを備えた自宅または企業のLANがない場合、心配する必要はありません。


10
HTTPは、検索オプションの使用の悪い例です。IPv6が不足しているため、多くの人が名前ベースの仮想ホストを使用しています。私の経験では、Host: somesiteに加えて要求を受け入れる方法で仮想ホストを見ることは非常にまれHost: somesite.localdomain.comです。別の言い方をすれば、検索オプションを使用すると、クライアントは短縮名を解決できますが、それは実際にリクエストを完了することができるという意味ではありません。
ゾレダチェ

1
@Zoredache、あなたは有効なポイントをもたらしていますが、ローカルドメイン名のすべてのホスト、つまり名前ベースの仮想ホストも制御しているローカルシステム管理者が検索技術を実装すると仮定する必要がありますこの動作を許可するようにすでに構成されているはずです。
cnst

1
@cnst-私の経験では常に真実ではありません。開発者は、warファイルにパッケージ化されたtomcatで完全なサーバーを構築します。ops / sys管理者は、machines / vms / dnsの構成について心配しています。誰が責任を負うのかについて、この灰色の線があります。読者が記載されている問題を抱えている可能性のある設定を持っている場合に、zoredacheがそれを呼び出したのは素晴らしいことです。
パット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.