web-dev-qa-db-ja.com

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

オプションをサーバー自体のドメイン名として設定している場合、外部インターネットに照会する前に、サーバー自体を最初にドメイン名の検索に使用するという意味ですか?つまり/etc/hostsはクエリされますか?

例えば:

search  localdomain.com
59
Mike

From man resolv.conf

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

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

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

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

これは、あなたが独自のDNSサーバーを持つLAN環境の一部であり、人々が簡単な名前をタイプしてローカルリソースに到達できるようにする場合に役立ちます。あなたがあなた自身のDNSサーバを持った家か企業LANを持っていないならそれはあなたが本当に心配する必要は何もない。

61
LawrenceC