「ドメイン名」とは、ローカルネットワークの中で DNS 管理ファイルを共有する複数のシステムを 1 つのグループとして扱って、そのグループに付けた名前のことです。ドメイン名は、ネットワーク情報サービスデータベースが正常に動作するために必要です。
DNS がデフォルトで使用するドメイン名は resolv.conf ファイルに指定されています。
resolv.conf ファイルが利用できず、ネームサービスが NIS または NIS+ の場合、Sun が実装する DNS はこれらのサービスからデフォルトのドメイン名を取得します。
各種 DNS 関連ファイルを使用する場合、ドメイン名の末尾のドットには次のような規則があります。
hosts、hosts.rev、named.ca、named.local の各データファイルの中では、ファイル名の末尾にドットを付けます。たとえば、sales.doc.com. は、これらのファイルの中では有効です。
named.boot ファイルまたは resolv.conf ファイルの中では、ドメイン名の末尾にドットを付けません。たとえば、sales.doc.com は、これらのファイルの中では有効です。
あるマシンを DNS クライアントにするには、「リゾルバ」を実行する必要があります。リゾルバはデーモンでも単一のプログラムでもなく、アプリケーションによって使用される動的ライブラリ関数の集合です。マシン名を知る必要があるときに、このライブラリが使用されます。リゾルバの機能はユーザーの照会を解決することです。リゾルバがネームサーバーに照会すると、ネームサーバーは要求された情報か、または他のサーバーに照会する旨を返します。一度リゾルバを設定すれば、そのマシンはネームサーバーに DNS サービスを要求できるようになります。
DNS ネームサーバーは、いくつかのファイルを使用して、そのデータベースを読み込みます。リゾルバのレベルでは、要求された情報を格納するサーバーのアドレスを登録 するファイル (/etc/resolv.conf) が必要です。リゾルバは resolv.conf ファイルを読み取り、ローカルドメインの名前とネームサーバーの位置を見つけます。この resolv.conf ファイルはローカルドメイン名を設定し、リゾルバルーチンに指示して、登録されたネームサーバーに情報を照会させます。通常、ネットワーク上の各 DNS クライアントシステムの /etc ディレクトリには、resolv.conf ファイルがあります。クライアントに resolv.conf ファイルがない場合は、IP アドレス 127.0.0.1 のデフォルトサーバーが使用されます。
リゾルバがホストの IP アドレスまたはアドレスに対応するホスト名を探さなければならないときには、照会パッケージを構築し、/etc/resolv.conf に登録されたネームサーバーにこれを送信します。サーバーは、その照会にローカルに応答するか、または他のサーバーのサービスを使ってリゾルバに答えを返します。
あるマシンの /etc/nsswitch.conf ファイルで hosts:dns または hosts 行に dns を含む別のパターンが指定されていると、リゾルバのライブラリが自動的に使用されます。nsswitch.conf ファイルが dns より前に、他のネームサービスを指定した場合、最初にそのネームサービスに対して問い合わせます。要求されたホストの情報が見つからなかった場合、リゾルバのライブラリが使用されます。
たとえば、nsswitch.conf ファイル内の hosts の行で hosts:nisplus dns と指定されている場合、ホストの情報を得るために NIS+ ネームサービスが最初に検索されます。NIS+ で情報が見つからない場合は、DNS リゾルバが使用されます。スイッチファイルに hosts:nisplus dns 行を指定すると、ローカルホストの情報に対しては NIS+ が使用され、遠隔ホストの情報に対してはDNS が使用されることになります。
DNS クライアントには、次の 2 種類があります。
クライアント専用
クライアント専用の DNS クライアントは in.named を実行せず、代わりにリゾルバを参照します。リゾルバはドメインに対するネームサーバーのリストを保持しているので、リゾルバに問い合わせが転送されます。
クライアント兼サーバー
クライアント兼サーバーの DNS クライアントは、クライアントマシンのリゾルバによって転送されてきた問い合わせを解決するために in.named で提供されるサービスを使用します。