Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)

第 1 章 ネームサービスとディレクトリサービス (概要)

この章では、Solaris で使用されるネームサービスとディレクトリサービスの概要について説明します。 また、DNS、NIS、および LDAP ネームサービスについても簡潔に説明します。 NIS+ および FNS の詳細については、『Solaris のシステム管理 (ネーミングとディレクトリサービス : FNS、NIS+ 編)』を参照してください。

ネームサービスとは

「ネームサービス」は、ユーザー、マシン、およびアプリケーションがネットワーク経由で通信するための情報を集中管理することを可能にします。 格納される情報には、以下が含まれます。

集中化されたネームサービスが存在しない場合、マシンごとに、これらの情報のコピーを管理する必要があります。 ネームサービス情報はファイルまたはマップ、データベーステーブルの形で格納できます。 すべてのデータを1 カ所で管理すれば、管理がより簡単になります。

ネームサービスは、どのようなコンピュータネットワークにも欠かせないものです。 ネームサービスは、他の機能に加え、次の機能を提供します。

ネットワーク情報サービスを使用すると、数値アドレスの代わりに一般的な名前でマシンを識別できます。 これにより、ユーザーは 192.168.00.00 のような扱いにくい数値アドレスを記憶して入力する必要がなくなるため、通信がより簡単になります。

たとえば、pineelmoak という 3 台のマシンで構成されるネットワークを考えてみましょう。 pineelm または oak にメッセージを送信するには、pine はそれら 2 台のネットワークアドレスを知る必要があります。 そのため pine は、自分自身を含めたネットワーク内のすべてのマシンのネットワークアドレスを格納する /etc/hosts ファイルまたは /etc/inet/ipnodes ファイルを保持しています。

この図は、pine、elm、および oak マシンと、pine 上に登録されているそれぞれの IPアドレスを示しています。

同様に、elmoakpine と通信したり、お互いに通信するためには、上記のようなファイルを保持している必要があります。

この図は、ネットワーク上に存在するマシンの全 IP アドレスを /etc/hosts ファイルに記録しているマシンを示しています。

マシンには、アドレスに加え、セキュリティ情報、メールデータ、ネットワークサービスについての情報なども格納されます。 ネットワークによって提供されるサービスが増えるにつれて、格納する情報の種類も増えていきます。 その結果、各マシンで /etc/hosts/etc/inet/ipnodes のようなファイルのセット全部を保持する必要がでてくる可能性があります。

ネットワーク情報サービスは、サーバー上にネットワーク情報を格納し、照会を実行するマシンに情報を提供します。

照会を実行するマシンは、サーバーの「クライアント」と呼ばれます。 次の図に、クライアントとサーバーの関係を示します。 ネットワークについての情報が変更されるたびに、各クライアントのローカルファイルを変更する代わりに、管理者はネットワーク情報サービスが格納する情報だけを更新します。 これによって、エラー、クライアント間の不一致、そして作業量を減らすことができます。

この図は、クライアント/サーバーコンピューティングの関係にあるサーバーとクライアントを示しています。

このように、サーバーがネットワークを通してサービスをまとめてクライアントに提供する方法を「クライアントサーバーコンピューティング」と呼びます。

ネットワーク情報サービスの第一の目的は情報の一元管理ですが、もう1 つの目的はネットワーク名の簡素化です。 たとえば、ある会社がネットワークを設定して、インターネットに接続したと仮定します。 インターネットはその会社に 192.68.0.0 というネットワーク番号と、doc.com というドメインネームを割り当てました。 会社には「営業 (Sales)」と「製造 (Manf)」という 2 つの部門があるため、このネットワークは 1 つのメインネットと、各部門に 1 つのサブネットに分割されます。 各ネットには独自のアドレスがあります。

この図は、doc.com と 2 つのサブネットの IP アドレスを示しています。

上に示すように、各部はネットワークアドレスで識別することもできますが、ネームサービスによって使用可能となる説明的な名前の方が便利です。

この図は、doc.com と 2 つのサブネットを示し、各サブネットを説明的な名前で指定しています。

メールやその他のネットワーク通信の送信先を 129.44.1.0 というアドレスで指定する代わりに、単に doc と指定できます。 また、メールの送信先を 192.68.2.0192.68.3.0 と指定する代わりに、sales.docmanf.doc と指定できます。

名前はまた、物理アドレスよりもはるかに柔軟です。 物理的なネットワークはめったに変更されませんが、企業の組織はよく変化します。

たとえば、doc.com ネットワークが、S1、S2、S3 の 3 台のサーバーによってサポートされ、そのうち 2 台のサーバー (S1 と S3) がクライアントをサポートしているとします。

この図は、doc.com ドメインに 3 台のサーバーが存在し、そのうちの 2 台がそれぞれ 3 台のクライアントをサポートしている状況を示しています。

クライアント C1、C2、C3 はネットワーク情報をサーバー S1 から入手します。クライアント C4、C5、C6 は、サーバー S3 から情報を入手します。結果として構成されるネットワークの概要を、次の表に示します。 表は、前記のネットワークを一般化して表現したもので、実際のネットワーク情報マップとは異なります。

表 1–1 docs.com ネットワークの構成

ネットワークアドレス 

ネットワーク名 

サーバ 

クライアント 

192.68.1.0 

doc 

S1 

 

192.68.2.0 

sales.doc 

S2 

C1、C2、C3 

192.68.3.0 

manf.doc 

S3 

C4、C5、C6 

2 つの部門からある人数の人材を借りて第 3 の部門 Test を新設し、第 3 のサブネットは開設しなかったとします。 その結果、物理ネットワークは、企業の組織とは対応しなくなります。

この図は、第 3 のサブネットを追加することなく第 3 の部門 Test を追加する場合を示しています。

Test 部門のトラフィックには専用のサブネットがなく、192.68.2.0192.68.3.0 に分割されます。 ここで、ネットワーク情報サービスを使用することにより、Test 部門のトラフィックにも専用のネットワークを備えることができます。

この図は、専用のネットワークを持つ Test 部門を示しています。

このように、組織が変更された場合、そのネットワーク情報サービスでは以下に示すようにマッピングを変更できます。

この図は、ネットワークのマッピングを変更して一部のクライアントをサーバー間で移動させた状況を示しています。

この変更の結果、クライアント C1 と C2 はサーバー S2 から、C3、C4、C5 はサーバー S3 から情報を入手するようになります。

組織内でその後に行われる変更に対しては、ハードウェアのネットワーク構造を再編成することなく、ネットワーク情報構造を変更することにより対応できます。

Solaris のネームサービス

Solaris オペレーティング環境は、以下のネームサービスを提供します。

最近のほとんどのネットワークでは、これらのサービスを 2 つ、またはそれ以上組み合わせて使用します。 複数のサービスを使用するときは、nsswitch.conf ファイルで調整します。このファイルについては第 2 章「ネームサービススイッチ (概要)」で説明します。

DNS ネームサービスの説明

DNS は TCP/IP ネットワーク用にインターネットが提供するネームサービスです。 DNS はネットワーク上のマシンがインターネットアドレスではなく、普通の名前で識別できるように開発されたものです。 DNS は、ローカルの管理ドメイン内と、複数の管理ドメイン間においてホスト名の管理を行います。

DNS を使用する、ネットワークに接続されたマシンの集合のことを「DNS 名前空間」と呼びます。 DNS 名前空間は階層をなす複数の「ドメイン」に分けることができます。 DNS ドメインは、複数のマシンからなるグループです。 各ドメインは複数の「ネームサーバー」、つまり、1 つの主サーバーと 1 つまたは複数の副サーバーよってサポートされます。 各サーバーは in.named デーモンを実行することによってDNS を実装しています。 クライアント側は、「リゾルバ」によって DNS を実装します。リゾルバの機能はユーザーの照会を解決することです。 リゾルバがネームサーバーに照会すると、ネームサーバーは要求された情報か、または他のサーバーに照会する旨を返します。

/etc ファイルネームサービスの説明

ホストを基本とした初期の UNIX のネームシステムは、スタンドアロンの UNIX マシン用に開発された後、ネットワークで使用されるようになりました。 UNIX オペレーティングシステムの旧版や UNIX マシンの多くは、現在でもこのシステムを使用していますが、大規模で複雑なネットワークにはあまり適切ではありません。

NIS ネームサービスの説明

ネットワーク情報サービス (NIS) は、DNS とは独立して開発されました。 DNS が数値 IP アドレスの代わりにマシン名を使うことによって、通信を簡略化することに焦点を当てているのに対して、 NIS は、多様なネットワーク情報を集中管理することによりネットワーク管理機能を高めることに焦点を当てています。 NIS には、ネットワーク、マシンの名前とアドレス、ユーザー、およびネット ワークサービスに関する情報も格納されます。 このようなネットワーク情報の集合体を、「NIS 名前空間」と呼びます。

NIS 名前空間情報は NIS マップに格納されています。 NIS マップは、UNIX の /etc ファイルおよび他の構成ファイルを置換するように設計されているので、 名前やアドレスよりはるかに多くの情報を保存できます。 その結果、NIS 名前空間には非常に大きなマップの集合が含まれることになります。 詳細については、NIS マップに関する作業 を参照してください。

NIS は DNS に似たクライアントサーバーの配列を持っています。 複製の NIS サーバーは NIS クライアントへサービスを提供します。 主サーバーは「マスター」サーバーと呼ばれ、信頼性を保証するためにバックアップつまり「スレーブ」サーバーを持っています。 どちらのサーバーも NIS 検索ソフトウェアを使用し、NIS マップを格納します。 NIS アーキテクチャおよび NIS の管理方法の詳細については、第 8 章「NIS サービスの設定と構成」および第 9 章「NIS の管理 (手順)」を参照してください。

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 のシステム管理 (ネーミングとディレクトリサービス : FNS、NIS+ 編)』を参照してください。

NIS+ から LDAP への移行の詳細については、 第 20 章「NIS+ から LDAP への移行」を参照してください。

FNS ネームサービスの説明

FNS の詳細については、『Solaris のシステム管理 (ネーミングとディレクトリサービス : FNS、NIS+ 編)』 を参照してください。

LDAP ネームサービスの説明

Solaris 9 は、Sun ONE Directory Server (以前の名称は iPlanet Directory Server) および他の LDAP Directory Server を使用する場合、LDAP (Lightweight Directory Access Protocol) をサポートします。

LDAP ネームサービスの詳細は、第 12 章「LDAP ネームサービスの紹介 (概要/リファレンス)」を参照してください。

NIS から LDAP、または NIS+ から LDAP への移行についての詳細は、第 19 章「NIS から LDAP への移行 (概要と手順) 」または第 20 章「NIS+ から LDAP への移行」を参照してください。

ネームサービスの 比較一覧

 

DNS 

NIS 

NIS+ 

FNS 

LDAP * 

名前空間 

階層 

Flat 

階層 

階層 

階層 

データ記憶領域 

ファイル/リソースレコード 

2 列のマップ 

複数列のテーブル 

マップ 

ディレクトリ (可変) 

サーバー名 

マスター/スレーブ 

マスター/スレーブ 

ルートマスター/非ルートマスター 主/副 キャッシュ/スタブ 

なし 

マスター/複製 

セキュリティ 

SSL 

なし (root またはなし) 

DES 認証 

なし (root またはなし) 

SSL 

トランスポート 

TCP/IP 

LAN 

LAN 

LAN 

TCP/IP  

スケール 

グローバル 

LAN 

LAN 

グローバル (DNS 付)/LAN  

グローバル