highlight.pack.js

2013年2月15日金曜日

UbuntuでのNIS

Ubuntu(12.10, Quantal Quetzal)でのNISの設定方法の備忘録。

NISの概要

NISのサーバーにはマスターサーバー、スレーブサーバーがあり、 マスターサーバーで作ったNISのデータベース情報をスレーブサーバーに送ることによって、 マスターサーバーが死んだときもNISにアクセスできるようにすることができる。 クライアントは /etc/yp.conf にあるサーバーのいずれかにアクセスし、 情報を取得してくる。

NISサーバーおよびクライアントのインストール

sudo apt-get install nis でインストールできる。マスターサーバー、スレーブサーバー、クライアントいずれの場合でも必要。

※この時に聞かれるNISドメイン名は任意のもので可(普通のドメイン名とは関係ない)。 ただし、情報を共有したいサーバーやクライアント間では統一すること。

マスターサーバーの設定

まずは、自身がマスターサーバーであることを知らせるための設定。 /etc/default/nis にある、 NISSERVER=falseNISSERVER=master に変更。 また、NISCLIENT=trueも必要に応じてNISCLIENT=falseに変更する。

sudo /usr/lib/yp/ypinit -m でデータベースを作成することができる。 この際にスレーブサーバーにしたいサーバーのホスト名(IPも可能と思われる)を入力しておく。

ここで作られたデータベースは /var/ypmake とすることにより更新できる。逆に言うと make を走らせないければ、 情報の更新をすることができない。

マスターサーバーのMakefileの編集

/var/yp/MakefileNOPUSH=true となっている行を NOPUSH=falseに編集するとマスターサーバーで make した際に、 自動的にスレーブサーバーにも適用されるようにする。

デフォルト以外の情報もNISで提供したい場合は、

ALL =   passwd group hosts rpc services netid protocols netgrp
の部分に必要なものを追加すれば良い。 後から、 ALL += auto.home のような形で追加するのも可能だと思われる。

スレーブサーバーの設定

まずは、自身がスレーブサーバーであることを知らせるための設定。 /etc/default/nisにある、 NISSERVER=falseNISSERVER=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 件のコメント:

コメントを投稿