この章では、Solaris で使用されるネームサービスとディレクトリサービスの概要について説明します。また、DNS、NIS、および LDAP ネームサービスについても簡潔に説明します。NIS+ の詳細については、『Solaris のシステム管理 (ネーミングとディレクトリサービス : NIS+ 編)』を参照してください。
「ネームサービス」は、ユーザー、マシン、およびアプリケーションがネットワーク経由で通信するための情報を集中管理することを可能にします。格納される情報には、次のものが含まれます。
マシン (ホスト) 名とアドレス
ユーザ名
パスワード
アクセス権
グループのメンバーシップ、プリンタなど
集中化されたネームサービスが存在しない場合、マシンごとに、これらの情報のコピーを管理する必要があります。ネームサービス情報はファイルまたはマップ、データベーステーブルの形で格納できます。すべてのデータを 1 カ所で管理すれば、管理がより簡単になります。
ネームサービスは、どのようなコンピュータネットワークにも欠かせないものです。ネームサービスは、ほかの機能に加え、次の機能を提供します。
名前とオブジェクトを対応付ける (「バインド」する)
オブジェクトの名前を解決する
バインドを解除する
名前を一覧表示する
名前を変更する
ネットワーク情報サービスを使用すると、数値アドレスの代わりに一般的な名前でマシンを識別できます。これにより、ユーザーは 192.168.0.0 のような扱いにくい数値アドレスを記憶して入力する必要がなくなるため、通信が簡単になります。
たとえば、 pine、elm、oak という 3 台のマシンで構成されるネットワークを考えてみましょう。pine が elm または oak にメッセージを送信するには、pine はそれら 2 台のネットワークアドレスを知る必要があります。そのため pine はそれ自体のものを含めたネットワーク内のすべてのマシンのネットワークアドレスを格納する /etc/hosts ファイルまたは /etc/inet/ipnodes ファイルを保持しています。
同様に、elm や oak が pine と通信したり、お互いに通信するためには、上記のようなファイルを保持している必要があります。
マシンには、アドレスに加え、セキュリティー情報、メールデータ、ネットワークサービスについての情報なども格納されます。ネットワークによって提供されるサービスが増えるにつれて、格納する情報の種類も増えていきます。その結果、各マシンで /etc/hosts や /etc/inet/ipnodes のようなファイルのセット全部を保持する必要がでてくる可能性があります。
ネットワーク情報サービスは、サーバー上にネットワーク情報を格納し、照会を実行するマシンに情報を提供します。
照会を実行するマシンは、サーバーの「クライアント」と呼ばれます。次の図に、クライアントとサーバーの関係を示します。ネットワークについての情報が変更されるたびに、各クライアントのローカルファイルを変更する代わりに、管理者はネットワーク情報サービスが格納する情報だけを更新します。これによって、エラー、クライアント間の不一致、そして作業量を減らすことができます。
このように、サーバーがネットワークを通してサービスをまとめてクライアントに提供する方法を「クライアントサーバーコンピューティング」と呼びます。
ネットワーク情報サービスの第一の目的は情報の一元管理ですが、もう 1 つの目的はネットワーク名の簡素化です。たとえば、ある会社がネットワークを設定して、インターネットに接続したと仮定します。会社のネットワークには、インターネットのネットワーク番号 192.168.0.0 とドメイン名 doc.com が割り当てられました。会社には「営業 (Sales)」と「製造 (Manf)」という 2 つの部門があるため、このネットワークは 1 つのメインネットと、各部門に 1 つのサブネットに分割されます。各ネットには独自のアドレスがあります。
上に示すように、各部はネットワークアドレスで識別することもできますが、ネームサービスによって使用可能となる説明的な名前の方が便利です。
メールやその他のネットワーク通信の送信先は、 198.168.0.0 というアドレスで指定する代わりに、単に doc と指定できます。また、メールの送信先を 192.168.2.0 や 192.168.3.0 と指定する代わりに、sales.doc や manf.doc と指定できます。
名前はまた、物理アドレスよりもはるかに柔軟です。物理的なネットワークはめったに変更されませんが、企業の組織はよく変化します。
たとえば、doc.com ネットワークが、S1、S2、S3 の 3 台のサーバーによってサポートされる場合を考えましょう。そのうち 2 台のサーバー (S1 とS3) がクライアントをサポートしているとします。
クライアント C1、C2、および C3 はネットワーク情報をサーバー S1 から入手します。クライアント C4、C5、および C6 は、サーバー S3 から情報を入手します。結果として構成されるネットワークの概要を、次の表に示します。表は、前記のネットワークを一般化して表現したもので、実際のネットワーク情報マップとは異なります。
表 1–1 docs.com ネットワークの構成
ネットワークアドレス |
ネットワーク名 |
サーバー |
クライアント |
---|---|---|---|
192.168.1.0 |
doc |
S1 |
|
192.168.2.0 |
sales.doc |
S2 |
C1、C2、C3 |
192.168.3.0 |
manf.doc |
S3 |
C4、C5、C6 |
2 つの部門からある人数の人材を借りて第 3 の検査部門を新設し、第 3 のサブネットは開設しなかったとします。その結果、物理ネットワークは、企業の組織とは対応しなくなります。
検査部門のトラフィックには専用のサブネットがなく、192.168.2.0 と 192.168.3.0 に分割されます。ここで、ネットワーク情報サービスを使用することにより、検査部門のトラフィックにも専用のネットワークを備えることができます。
このように、組織が変更された場合、そのネットワーク情報サービスでは次に示すようにマッピングを変更できます。
この変更の結果、クライアント C1 と C2 は、サーバー S2 から情報を入手します。クライアント C3、C4、および C5 は、サーバー S3 から情報を入手します。
組織内でそのあとに行われる変更に対しては、ハードウェアのネットワーク構造を再編成することなく、ネットワーク情報構造を変更することにより対応できます。
Solaris プラットフォームは、次のネームサービスを提供します。
DNS (ドメインネームシステム、Domain Name System) - 「DNS ネームサービスの説明」を参照してください
/etc ファイル - 初期の UNIX ネームシステム。「/etc ファイルネームサービスの説明」を参照してください
NIS (ネットワーク情報サービス、Network Information Service) - 「NIS ネームサービスの説明」を参照してください
NIS+ (ネットワーク情報サービスプラス、Network Information Service Plus) - 『Solaris のシステム管理 (ネーミングとディレクトリサービス : NIS+ 編)』を参照してください
LDAP (Lightweight Directory Access Protocol) - パート IV「LDAP ネームサービスの設定と管理」の「LDAP ネームサービスの設定と管理」を参照してください
最近のほとんどのネットワークでは、これらのサービスのうちの 2 つ、またはそれ以上を組み合わせて使用します。複数のサービスを使用するときは、nsswitch.conf ファイルで調整します。このファイルについては、第 2 章ネームサービススイッチ (概要)で説明します。
DNS は TCP/IP ネットワーク用にインターネットが提供するネームサービスです。DNS はネットワーク上のマシンがインターネットアドレスではなく、普通の名前で識別できるように開発されたものです。DNS は、ローカルの管理ドメイン内と、複数の管理ドメイン間においてホスト名の管理を行います。
DNS を使用する、ネットワークに接続されたマシンの集合のことを「DNS 名前空間」と呼びます。DNS 名前空間は階層をなす複数の「ドメイン」に分けることができます。DNS ドメインは、複数のマシンからなるグループです。各ドメインは複数の「ネームサーバー」、つまり、1 つの主サーバーと 1 つまたは複数の副サーバーによってサポートされます。各サーバーは in.named デーモンを実行することによって DNS を実装しています。クライアント側は、「リゾルバ」によって DNS を実装します。リゾルバの機能はユーザーの照会を解決することです。リゾルバがネームサーバーに照会すると、ネームサーバーは要求された情報か、またはほかのサーバーに照会する旨を返します。
ホストを基本とした初期の UNIX のネームシステムは、スタンドアロンの UNIX マシン用に開発されたあと、ネットワークで使用されるようになりました。UNIX オペレーティングシステムの旧版や UNIX マシンの多くは、現在でもこのシステムを使用していますが、大規模で複雑なネットワークにはあまり適切ではありません。
ネットワーク情報サービス (NIS) は、DNS とは独立して開発されました。DNS が数値 IP アドレスの代わりにマシン名を使うことによって、通信を簡略化することに焦点を当てているのに対して、NIS は、多様なネットワーク情報を集中管理することによりネットワーク管理機能を高めることに焦点を当てています。NIS には、ネットワーク、マシンの名前とアドレス、ユーザー、およびネットワークサービスに関する情報も格納されます。このようなネットワーク情報の集まりを「NIS の名前空間」と呼びます。
NIS 名前空間情報は NIS マップに格納されています。NIS マップは、UNIX の /etc ファイルおよびほかの構成ファイルを置換するように設計されているので、名前やアドレスよりはるかに多くの情報を保存できます。その結果、NIS 名前空間には非常に大きなマップの集合が含まれることになります。詳細については、「NIS マップに関する作業」を参照してください。
NIS は DNS に似たクライアントサーバーの配列を持っています。複製の NIS サーバーは NIS クライアントへサービスを提供します。主サーバーは「マスター」サーバーと呼ばれ、信頼性を保証するためにバックアップつまり「スレーブ」サーバーを持っています。どちらのサーバーも NIS 検索ソフトウェアを使用し、NIS マップを格納します。NIS アーキテクチャーおよび NIS の管理方法の詳細については、第 5 章NIS サービスの設定と構成および第 6 章NIS の管理 (手順)を参照してください。
「ネットワーク情報サービスプラス」(NIS+) は、NIS によく似たネットワークネームサービスですが、より多くの機能を備えています。ただし、NIS+ は NIS の拡張機能ではありません。
NIS+ ネームサービスは、組織の形態に適合するように設計されています。NIS とは異なり、NIS+ の名前空間は動的な構成で、正規ユーザーであればいつでも更新できます。
NIS+ を使用すると、マシンのアドレス、セキュリティー情報、メール情報、Ethernet インタフェース、ネットワークサービスなどの情報を 1 カ所に格納できます。このように構成されたネットワーク情報を、NIS+「名前空間」と呼びます。
NIS+ 名前空間は階層構造となっていて、UNIX のディレクトリファイルシステムによく似ています。階層構造になっていることから、NIS+ 名前空間を企業組織の階層に合わせて構成できます。名前空間における情報の配置は、物理的な配置とは関係ありません。したがって、NIS+ 名前空間は、独立して管理できる複数のドメインに分割できます。クライアントは、適切なアクセス権があれば、自分のドメイン以外のドメインの情報にもアクセスできます。
NIS+ はクライアントサーバーモデルを使用して、NIS+ 名前空間に情報を格納し、またその情報にアクセスできます。各ドメインは複数のサーバーによってサポートされます。メインのサーバーは「主」サーバーと呼ばれ、バックアップサーバーは「副」サーバーと呼ばれます。ネットワーク情報は、内部 NIS+ データベース内にある 16 個の標準 NIS+ テーブルに格納されています。主サーバーと副サーバーの両方で NIS+ サーバーソフトウェアが動作しており、NIS+ テーブルのコピーを管理しています。マスターサーバー上の NIS+ データの変更は、副サーバーにも自動的に伝達されます。
NIS+ には、名前空間の構造とその情報を保護するために、高度なセキュリティーシステムが組み込まれています。NIS+ は、情報にアクセスしようとしているクライアントが正当なものであるかどうかを認証と承認によって確認します。「認証」とは、情報の要求者がネットワークの正当なユーザーであるかどうかを判定することです。 「承認」では、特定のユーザーが情報を所有したり修正したりできるかどうかを確認します。NIS+ のセキュリティーの詳細については、『Solaris のシステム管理 (ネーミングとディレクトリサービス : NIS+ 編)』を参照してください。
NIS+ から LDAP への移行についての詳細は、第 16 章NIS+ から LDAP への移行を参照してください。
Solaris オペレーティングシステムは、Sun Java System Directory Server (以前の名称は Sun ONE Directory Server) およびほかの LDAP Directory Server を使用する場合、LDAP (Lightweight Directory Access Protocol) をサポートします。
LDAP ネームサービスについての詳細は、第 8 章LDAP ネームサービスの紹介 (概要/リファレンス)を参照してください。
NIS から LDAP、または NIS+ から LDAP への移行についての詳細は、第 15 章NIS から LDAP への移行 (概要と手順)または第 16 章NIS+ から LDAP への移行を参照してください。
シングルサインオンと、Kerberos 認証サービスの設定および保守についての詳細は、『Solaris のシステム管理 (セキュリティサービス)』のパート VI「Kerberos サービス」を参照してください。
|
DNS |
NIS |
NIS+ |
LDAP |
---|---|---|---|---|
名前空間 |
階層 |
一層 |
階層 |
階層 |
データ記憶領域 |
ファイル/リソースレコード |
2 列のマップ |
複数列のテーブル |
ディレクトリ (可変) |
サーバー名 |
マスター/スレーブ |
マスター/スレーブ |
ルートマスター/非ルートマスター 主/副 キャッシュ/スタブ |
マスター/複製 |
セキュリティー |
なし |
なし (root またはなし) |
Secure RPC (AUTH_DH) 認証 |
SSL、可変 |
トランスポート |
TCP/IP |
RPC |
RPC |
TCP/IP |
規模 |
広域 |
LAN |
LAN |
広域 |