Solaris ネーミングの設定と構成

第 12 章 DNS クライアントの設定

この章では、クライアントマシン上での DNS (Domain Name System) サービスの設定方法について説明します。


注 -

DNS の最も一般的かつ重要な役割は、ローカルなネットワークをグローバルなインターネットに接続することです。そして、インターネットに接続するためには、親ドメインの管理者にネットワークの IP アドレスを登録してもらう必要があります。管理者は、ネットワークの地理的な位置と、親ドメインの種類によって異なります。ドメイン管理者にネットワークを登録してもらう方法については、本書では説明を割愛しています。


詳細は、『DNS and Bind』(Cricket Liu & Paul Albitz 著、浅羽登志也/上水流由香 監訳、アスキー出版局、1995) を参照してください。

Solaris DNS BIND の実装

Solaris 8 リリースには、ユーザーの便宜を図るため、コンパイル済みの BIND (Barkeley Internet Name Domain) 8.1.2 が付属しています。コンパイルにあたっては、最大公約数のサイトのニーズを満たすべく、各種オプションを設定しました。このコンパイル済みの BIND が要件に合わない場合は、公開されているソースコードから独自にコンパイルすることができます。

Solaris 8 リリースに付属の BIND は、次のオプションでコンパイルされています。

DNS サービスの設定

DNS サービスを設定するには、次の 2 つの手順を実行します。

  1. クライアントマシン上で DNS サービスを設定します (詳細は、この章で説明)。

  2. 第 13 章「DNS サーバーの設定」の説明に従って、DNS サーバーを設定します。

クライアントの設定

クライアントマシン上の DNS を設定するには、次の 2 つの手順を実行します。

DNS サーバーとして使う予定のホスト上に DNS サービスを設定する場合は、ブートファイルとデータファイルも設定する必要があります。詳細は、第 13 章「DNS サーバーの設定」を参照してください。

リゾルバ

DNS クライアントはダイナミックライブラリルーチン群 (「リゾルバ」と総称する) を使用して、リモートホストの位置を調べます。リゾルバはネームサーバー上の DNS データベースを照会します。最終的に返されるのは、リゾルバによって要求されたマシンのホスト名あるいは IP アドレスです。DNS ネームサーバーは、自らのローカルドメインの外のサーバーのクライアントとなるので、やはりリゾルバを動作させます。

DNS ネームサーバーは、いくつかのファイルを使用して、そのデータベースをロードします。リゾルバのレベルでは、必要な情報を取得できるサーバーのアドレスを登録するファイル (/etc/resolv.conf) が必要です。リゾルバは resolv.conf ファイルを読み取り、ローカルドメインの名前とネームサーバーの位置を見つけます。リゾルバはローカルドメイン名を設定し、リゾルバルーチンに指示して、登録されたネームサーバーに情報を照会させます。通常、ネットワーク上の各 DNS クライアントシステムは、その /etc ディレクトリ内に resolv.conf ファイルが必要です。resolv.conf ファイルがない場合、クライアントは IP アドレス 127.0.0.1 のサーバーをデフォルトで使います。

リゾルバがホストのアドレス (またはアドレスに対応する名前) を探さなければならないときには、照会パッケージを構築し、/etc/resolv.conf に登録されたネームサーバーにこれを送信します。サーバーは、その照会にローカルに応答するか、または他のサーバーのサービスを使ってリゾルバに答えを返します。

resolv.conf ファイルの作成

例 12-1 に、doc.com ドメインのクライアント (非サーバー) マシン用の簡単な resolv.conf ファイルの例を示します。


例 12-1 resolv.conf ファイル


; Sample resolv.conf file for the machine polaris
domain doc.com
; try local name server
nameserver 127.0.0.1
; if local name server down, try these servers
nameserver 123.45.6.1
nameserver 111.22.3.5
; sort the addresses returned by gethostbyname(3c)
sortlist
130.155.160.0/255.255.240.0
130.155.0.0

このファイルの最初の行では、ドメイン名を次の書式で指定します。


domain domainname

ここで、domainname は インターネット管理組織(このドキュメントの執筆時点では InterNIC。日本では JPNIC) に登録されている名前です。


注 -

ドメイン名の末尾にスペースまたはタブを使うことはできません。ドメイン名の最後の文字を入力したら、必ずキャリッジリターンで強制改行してください。


2 行目では、ループバックネームサーバーを次の書式で指定します。


nameserver 127.0.0.1

それ以降の行では、主 DNS ネームサーバー、副 DNS ネームサーバー、またはキャッシュオンリーネームサーバー の IP アドレスを最大 3 つまで指定します。4 つ以上指定することはできません。各行の書式は次のとおりです。


nameserver IP_address

ここで、IP_address の部分には、実際に主 DNS ネームサーバーまたは副 DNS ネームサーバーの IP アドレスを指定します。リゾルバは、必要な情報が見付かるまで、ここに指定されている順番どおりにネームサーバーを探していきます。

/etc/resolv.conf ファイルの 5 行目は、アドレス sortlist を次の書式で表示します。:


sortlist
addresslist

addresslist は、gethostbyname(3c) によって戻されるアドレスのソートの順番を指定します。上記の列では、gethostbyname は、IP アドレス 130.155.0.0 より先に 1 組のネットマスク 130.155.160.0/255.255.240.0 を戻します。

/etc/nsswitch.conf ファイルの修正

クライアントマシンを DNS に対応させる方法は、企業レベルで使われているネームサービスによって異なります。

nsswitch.conf ファイルの詳細は、『Solaris ネーミングの管理S』を参照してください。