一般に NIS クライアントは、マシン名とアドレスの検索に NIS だけが使用されるように、nsswitch.conf ファイルで構成されます。このような検索が失敗した場合は、NIS サーバーはこれらの結果を DNS に転送します。
マシン名とアドレスの検索が最初に NIS で行われ、次に DNS で行われるように構成するには、以下の手順に従ってください。
2 つのマップ (hosts.byname と hosts.byaddr) に YP_INTERDOMAIN キーが必要です。 このキーを設定するには、Makefile を編集します。つまり、Makefile ファイルの先頭部分の行を次のように変更します。
#B=-b B=
を
B=-b #B=
に変更
この変更が行われると、マップ作成時に makedbm が -b フラグで起動されるよう要求されて、また YP_INTERDOMAIN キーが ndbm ファイルに挿入されます。
make を実行して上記マップを作成し直します。
# /usr/ccs/bin/make hosts
有効な名前のサーバーを指定している /etc/resolv.conf ファイルが NIS サーバーに存在することを確認します。
DNS 転送を行うには、各サーバーを ypstop コマンドで停止します。
# /usr/lib/netsvc/yp/ypstop
各サーバーを ypstart コマンドで再起動します。
# /usr/lib/netsvc/yp/ypstart
この NIS インプリメンテーションでは、サーバーに /etc/resolve.conf ファイルが存在する場合は、ypstart が -d オプションで自動的に ypserv デーモンを起動して DNS にリクエストを転送します。
Solaris リリース 2 が実行されていない NIS サーバーを使用している場合は、参照される DNS のホストマップに YP_INTERDOMAIN キーが存在することを確認してください。
これまでの説明の大部分では、NISドメインのマスターサーバーとスレーブサーバーの両方で Solaris リリース 2 が実行されていることが前提となっています。したがって、それ以外の場合には、問題が発生することがあります。混在 NIS ドメインにおける問題を回避する方法については、表 18-1 にまとめてあります。"4.0.3+" という表記は、「SunOS オペレーティングシステムのリリース 4.0.3 以降」であることを意味します。makedbm -b コマンドは、Makefile の "-B" 変数に対する参照です。
表 18-1 混在 NIS ドメインにおける NIS/DNS
スレーブサーバー |
マスターサーバー |
||
---|---|---|---|
|
4.0.3+ |
Solaris NIS |
|
4.0.3+ |
マスターサーバー : makedbm -b スレーブサーバー: ypxfr |
マスターサーバー : makedbm -b スレーブサーバー :ypxfr -b |
マスターサーバー : ypserv -d スレーブサーバー :ypxfr -b |
Solaris NIS |
マスターサーバー : makedbm -b スレーブサーバー: ypxfr |
マスターサーバー : makedbm -b スレーブサーバー: ypxfr |
マスターサーバー : ypserv -d スレーブサーバー: ypxfr が存在する resolve.conf または ypxfr -b |