Ubuntu(12.10, Quantal Quetzal)でのNISの設定方法の備忘録。
NISの概要
NISのサーバーにはマスターサーバー、スレーブサーバーがあり、
マスターサーバーで作ったNISのデータベース情報をスレーブサーバーに送ることによって、
マスターサーバーが死んだときもNISにアクセスできるようにすることができる。
クライアントは /etc/yp.conf
にあるサーバーのいずれかにアクセスし、
情報を取得してくる。
NISサーバーおよびクライアントのインストール
sudo apt-get install nis
でインストールできる。マスターサーバー、スレーブサーバー、クライアントいずれの場合でも必要。
※この時に聞かれるNISドメイン名は任意のもので可(普通のドメイン名とは関係ない)。 ただし、情報を共有したいサーバーやクライアント間では統一すること。
マスターサーバーの設定
まずは、自身がマスターサーバーであることを知らせるための設定。
/etc/default/nis
にある、 NISSERVER=false
を NISSERVER=master
に変更。
また、NISCLIENT=true
も必要に応じてNISCLIENT=false
に変更する。
sudo /usr/lib/yp/ypinit -m
でデータベースを作成することができる。
この際にスレーブサーバーにしたいサーバーのホスト名(IPも可能と思われる)を入力しておく。
ここで作られたデータベースは /var/yp
で make
とすることにより更新できる。逆に言うと make
を走らせないければ、
情報の更新をすることができない。
マスターサーバーのMakefileの編集
/var/yp/Makefile
の NOPUSH=true
となっている行を
NOPUSH=false
に編集するとマスターサーバーで make
した際に、
自動的にスレーブサーバーにも適用されるようにする。
デフォルト以外の情報もNISで提供したい場合は、
ALL = passwd group hosts rpc services netid protocols netgrp
の部分に必要なものを追加すれば良い。
後から、 ALL += auto.home
のような形で追加するのも可能だと思われる。
スレーブサーバーの設定
まずは、自身がスレーブサーバーであることを知らせるための設定。
/etc/default/nis
にある、 NISSERVER=false
を NISSERVER=slave
に変更。
また、 NISCLIENT=true
も必要に応じて NISCLIENT=false
に変更。
/usr/lib/yp/ypinit -s マスターサーバー名
とすることで、マスターサーバのデータベースを読み込んでくることができる。
つまり、スレーブサーバーの情報を最新のものにするためのコマンド。
データ自体はマスターサーバーと同様、 /var/yp/NISドメイン名
に保存される。
クライアントの設定
サーバーで弄った /etc/default/nis
はそのままで大丈夫。
/etc/yp.conf
に、
ypserver サーバー名(IPアドレス or ホスト名)
といった形式で、マスターサーバー、スレーブサーバーのIPアドレス、またはホスト名を記述していく。
ドメイン名(DNSサーバーを使うもの)は推奨されていない模様(名前解決が一度しか行われないため)。
実は、ブロードキャストで調べているらしいので、同一セグメントにあるサーバーは書かなくても大丈夫とのこと。
設定の確認
設定がうまくいっているかは、
ypcat passwd
といったコマンドで調べることが出来る。
0 件のコメント:
コメントを投稿