Solaris のシステム管理 (第 3 巻)

DHCP サーバーの問題の障害追跡

サーバーを設定する際に検出される問題は一般に次のカテゴリに分類されます。

NIS+ の問題

DHCP データ保存方法として NIS+ を使用する場合に、検出される問題は次のように分類できます。

NIS+ をデータ保存方法として選択できない

NIS+ をデータ保存方法として選択しようとして、DHCP Manager のデータ保存方法の選択肢に NIS+ が含まれていなかったり、NIS+ のインストールと実行が確認できないというメッセージが dhcpconfig で返されたりすることがあります。これは、NIS+ はネットワークで使用されている可能性はあるが、使用しているサーバーについて設定されていないことを意味します。NIS+ をデータ保存方法として選択する前に、サーバーマシンを NIS+ クライアントとして設定する必要があります。

サーバーを NIS+ クライアントとして設定する前に、ドメインを設定し、ドメインのマスターサーバーを実行しておく必要があります。ドメインのテーブルのマスターサーバーを生成する必要があり、ホストテーブルには、新しいクライアントのマシン (DHCP サーバーマシン) に関するエントリが必要です。『Solaris ネーミングの設定と構成』の「NIS+ クライアントの構成」で、NIS+ クライアントの構成について詳細に説明されています。

NIS+ が適切に設定されない

DHCP とともに正常に NIS+ を使用している場合に、NIS+ にあとから変更を加えるとエラーが検出され、設定上の問題が発生する場合があります。表 12-1 を使用して、設定問題の原因を判定してください。

表 12-1 NIS+ の設定問題

起こりうる問題 

問題の判定方法 

問題への対応 

ルートオブジェクトが NIS+ ドメインに存在しない 

コマンド /usr/lib/nis/nisstat を入力する

このコマンドは、ドメインに関する統計情報を表示する。ルートオブジェクトが存在しない場合は、統計情報は表示されない

Solaris ネーミングの設定と構成』を参照して NIS+ ドメインを設定する

passwordpublickey の情報について NIS+ が使用されていない

次のコマンドを入力して、ネームサービススイッチ構成ファイルを表示させる 

cat /etc/nsswitch.conf

この「nisplus」キーワードに関する passwordpublickey の項目を確認する

ネームサービススイッチの設定については、『Solaris ネーミングの設定と構成』を参照

ドメイン名が空である 

次のコマンドを入力する 

domainname

このコマンドによって空の文字列が一覧表示された場合は、このドメインについてドメイン名が設定されていない 

データ保存方法に関するローカルファイルを使用するか、あるいは、ネットワーク用に NIS+ ドメインを設定する。『Solaris ネーミングの設定と構成』を参照

NIS_COLD_START ファイルが存在しない

サーバーシステムで次のコマンドを入力して、ファイルの存在を判定する 

cat /var/nis/NIS_COLD_START

データ保存方法に関するローカルファイルを使用するか、あるいは、NIS+ クライアントを作成します。『Solaris ネーミングの設定と構成』を参照

NIS+ アクセスに関する問題

NIS+ アクセス問題によって、不正な DES 資格や、NIS+ オブジェクトまたはテーブルを更新する権利が不適切であるというエラーメッセージを受け取る場合があります。表 12-2 を使用して、受け取った NIS+ エラーの原因を判定してください。

表 12-2 NIS+ アクセス問題

起こりうる問題 

問題の判定方法 

問題への対応 

DHCP サーバーマシンに、NIS+ ドメイン内の org_dir オブジェクトに対する作成アクセス権がない

次のコマンドを入力する  

nisls -ld org_dir

アクセス権は、r---rmcdrmcdr--- の形式で一覧表示される。この場合に、権利は、未認証、所有者、グループ、その他に個別に適用される。このオブジェクトの所有者は、次に一覧表示される

nischmod コマンドを使用して、org_dir の権利を変更する

たとえば、グループに対する作成アクセス権を追加するには、nischmod g+c org_dir と入力する

 

通常は、org_dir ディレクトリオブジェクトによって、所有者とグループの両方に、読み取り、変更、作成、削除といったすべての権利が与えられ、一方、その他と未認証には読み取りアクセスだけが与えられる

詳細は nischmod(1) のマニュアルページを参照

 

DHCP サーバー名は、org_dir オブジェクトの所有者として、またはグループの主体として一覧表示される。このグループには作成アクセス権が必要。次のコマンドを使用してこのグループを一覧表示する

nisls -ldg org_dir

 

DHCP サーバーに、org_dir オブジェクトの下に表を作成するアクセス権がない

通常は、サーバーマシンの主体名が org_dir オブジェクトの所有グループのメンバーでないか、所有グループが存在しないことを意味する

次のコマンドを入力して所有グループ名を検索する 

niscat -o org_dir

Group 「admin.myco.com」に似た行を検索する

次のコマンドを使用して、グループの主体名を一覧表示する 

nisgrpadm -l groupname

nisgrpadm コマンドを使用してサーバーマシン名を追加する

たとえば、サーバー名 pacific をグループ admin.myco.com に追加するには、次のように入力する

nisgrpadm -a admin.myco.com pacific.myco.com

 

たとえば、nisgrpadm -l admin.myco.com となる

このサーバーマシン名は、グループの明示的なメンバーであるか、またはグループの暗黙のメンバーである必要がある 

詳細は、nisgrpadm(1) のマニュアルページを参照

DHCP サーバーが、NIS+ cred テーブルに有効なデータ暗号化規格 (DES) の資格を持っていない 

これが問題である場合には、エラーメッセージは、ユーザーが NIS+ ネームサービスに DES 資格を持っていないことを示す 

nisaddcred コマンドを使用して、DHCP サーバーマシンのセキュリティ資格を追加する

次の例では、ドメイン Faxco.COM にあるシステム mercury についての DES 資格を追加する方法を示す

  

nisaddcred -p unix.mercury@Faxco.COM ¥ -P mercury.Faxco.COM. DES Faxco.COM.

  

このコマンドは、暗号化された秘密鍵の生成に必要なスーパーユーザーのパスワードを要求する 

詳細は、nisaddcred(1M) のマニュアルページを参照

IP アドレス割り当てエラー

クライアントが IP アドレスを取得または確認しようとすると、次の問題が syslog に記録されたり、サーバーデバッグ出力に表示されたりする場合があります。

表 12-3 IP アドレス割り当てとリースの問題

エラーメッセージ 

説明 

解決 

There is no n.n.n.n dhcp-network table for DHCP client's network.

クライアントは特定の IP アドレスを要求するか、または現在の IP アドレスでリースを拡張しようとする。しかし DHCP サーバーは、そのアドレスに関する DHCP ネットワークテーブルを見つけることができない 

DHCP ネットワークテーブルが誤って削除されている場合がある。DHCP Manager または dhcpcpnfig を使用して、ネットワークテーブルを再作成できる

ICMP ECHO reply to OFFER candidate: n.n.n.n, disabling

DHCP クライアントに提供しようとしている IP アドレスが、すでに使用されている。この状態は、複数の DHCP サーバーがこのアドレスを所有しているか、または DHCP ネットワーク以外のクライアント用にアドレスが手動で設定されている場合に発生する 

そのアドレスの適正な所有権を判定し、DHCP サーバーデータベースか、ホストのネットワーク設定を訂正する 

ICMP ECHO reply to OFFER candidate: n.n.n.n. No corresponding dhcp network record.

DHCP クライアントに提供しようとしている IP アドレスが、ネットワークテーブルの中にレコードを持っていない。この状態は、IP アドレスが選択されたあと、重複アドレスチェックが完了する前に、そのアドレスのレコードが DHCP ネットワークテーブルから削除された場合に発生する 

DHCP Manager または pntadm を使用して、DHCP ネットワークテーブルが表示できる。その IP アドレスが失われている場合は、DHCP Manager (「アドレス」タブで「編集」メニューから「作成」を選択) または pntadm を使用してそのアドレスを作成する

DHCP network record for n.n.n.n is unavailable, ignoring request.

要求された IP アドレスのレコードは DHCP ネットワークテーブルに存在しないので、サーバーが要求をドロップする 

DHCP Manager または pntadm を使用して、DHCP ネットワークテーブルが表示できる。その IP アドレスが失われている場合は、DHCP Manager (「アドレス」タブで「編集」メニューから「作成」を選択) または pntadm を使用してそのアドレスを作成する

n.n.n.n currently marked as unusable.

ネットワークテーブルで使用不可能に指定されているため、要求された IP アドレスを提供できない 

DHCP Manager または pntadm を使用して、そのアドレスを使用できるようにする

n.n.n.n was manually allocated. No dynamic address will be allocated.

クライアントの ID は、手動で割り当てられたアドレスに割り当てられている。そのアドレスは使用不可能に指定されている。サーバーはこのクライアントに別なアドレスを割り当てることはできない 

DHCP Manager または pntadm を使用して、そのアドレスを使用できるようにするか、またはそのクライアントに別なアドレスを手動で割り当てる

Manual allocation (n.n.n.n, client ID has n other records. Should have 0.

指定されたクライアント ID を持つクライアントに、複数の IP アドレスが手動で割り当てられている。割り当てるのは、1 つのアドレスであることが必要。サーバーは、ネットワークテーブルにある、最後に手動で割り当てられたアドレスを選択する 

DHCP Manager または pntadm を使用して、追加の手動割り当てを削除する

No more IP addresses on n.n.n.n network.

指定されたネットワーク上で DHCP が現在管理しているすべての IP アドレスは、すでに割り当てられている 

DHCP Manager または pntadm を使用して、このネットワーク用の新しい IP アドレスを作成する

Client: clientid lease on n.n.n.n expired.

このリースにネゴシエーションの余地がなく、期限切れである 

クライアントをプロトコルを自動的に再起動して、新しいリースを取得するようにする 

Offer expired for client: n.n.n.n

サーバーがクライアントに IP アドレスを提供したが、クライアントの応答に時間がかかり過ぎ、このオファーは期限切れとなった 

このクライアントで新たな探索メッセージを自動的に発行するようにする。これも期限切れとなった場合は、DHCP サーバーのキャッシュオファータイムアウトを増加させる。DHCP Manager では、「サービス」メニューから「変更」を選択する 

Client: clientid REQUEST is missing requested IP option.

クライアントの要求が、提供された IP アドレスを指定しなかったため、DHCP サーバーはこの要求を無視した。この状態は、クライアントが、更新した DHCP プロトコル、RFC 2131 に準拠していない場合に発生する可能性がある 

クライアントのソフトウェアを更新する 

Client: clientid is trying to renew n.n.n.n, an IP address it has not leased.

このクライアントについて DHCP ネットワークテーブルに記録された IP アドレスが、クライアントが更新要求で指定した IP アドレスと一致しない。DHCP サーバーはこのリースを更新しない 

この問題は、クライアントがまだ IP アドレスを使用しているのに、クライアントのレコードを削除した場合に発生する 

DHCP Manager または pntadm を使用してネットワークテーブルを調べ、必要に応じて訂正する

Client: clientid is trying to verify unrecorded address: n.n.n.n, ignored.

指定されたクライアントが、このアドレスでは DHCP ネットワークテーブルに登録されていない。そのため、要求が DHCP サーバーに無視される 

このネットワークの別の DHCP サーバーで、このクライアントにアドレスを割り当てられる 

ただし、クライアントがこの IP アドレスを使用しているのに、このクライアントのレコードを削除してしまった場合もある 

DHCP Manager または pntadm を使用して、このサーバーやネットワークの他の DHCP サーバーにあるネットワークテーブルを調べ、必要に応じて訂正する