Solaris のシステム管理 (IP サービス)

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

サーバーを構成する際に発生する問題は、次のカテゴリに分類されます。

NIS+ の問題

DHCP データとして NIS+ を使用する場合に発生する問題は、次のカテゴリに分類されます。

NIS+ をデータストアとして選択できない

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

サーバーを NIS+ クライアントとして設定するためには、ドメインがすでに構成され、そのマスターサーバーが動作している必要があります。さらに、ドメインのテーブルのマスターサーバーがすでに作成され、ホストテーブルには新しいクライアントシステムのエントリ (DHCP サーバー) が存在している必要があります。Solaris のシステム管理 (ネーミングとディレクトリサービス : FNS、NIS+ 編)』の「NIS+ クライアントマシンの設定」で、NIS+クライアントの構成についての詳細が説明されています。

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

DHCP で NIS+ が正常に使用できるようになっても、NIS+ を変更するとエラーになり、構成の問題が明らかになることがあります。表 11–1 を使用して、問題の原因を特定してください。

表 11–1 NIS+ の設定問題

問題 

情報の収集 

解決方法 

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

次のコマンドを入力する。  

/usr/lib/nis/nisstat

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

Solaris のシステム管理 (ネーミングとディレクトリサービス : FNS、NIS+ 編)を 参照して NIS+ ドメインを設定する

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

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

cat /etc/nsswitch.conf

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

ネームサービススイッチの構成につい ては、Solaris のシステム管理 (ネーミングとディレクトリサービス : FNS、NIS+ 編)を参照

ドメイン名が空である 

次のコマンドを入力します。  

domainname

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

データストアにローカルファイルを使用するか、あるいは、ネットワーク用に NIS+ ドメインを設定する。Solaris のシステム管理 (ネーミングとディレクトリサービス : FNS、NIS+ 編)を参照

NIS_COLD_START ファイルが存在しない

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

cat /var/nis/NIS_COLD_START

データストアのローカルファイルを使用するか、あるいは、NIS+ クライアントを作成します。Solaris のシステム管理 (ネーミングとディレクトリサービス : FNS、NIS+ 編)を参照

NIS+ アクセス問題

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

表 11–2 NIS+ アクセス問題

問題 

情報の収集 

解決方法 

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

次のコマンドを入力します。  

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.example.com."

次のコマンドを使ってグループ内の主体名をリストする  

nisgrpadm -l groupname

nisgrpadm コマンドを使ってサーバーシステムの名前をグループに追加する

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

nisgrpadm -a admin.example.com pacific.example.com

 

入力例 

nisgrpadm -l admin.example.com

サーバーシステムの名前がグループの明示的なメンバーとしてリストされるか、グループの暗黙的なメンバーとして含まれているはずである 

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

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

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

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

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

  

nisaddcred -punix.mercury@example.com \ -P mercury.example.com.DESexample.com.

  

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

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

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

クライアントが IP アドレスを取得または確認しようとすると、次の問題が syslog やサーバーデバッグ出力に書き込まれることがあります。

表 11–3 IP アドレスの割り当てとリースに関する問題

エラーメッセージ 

説明 

解決方法 

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

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

DHCP ネットワークテーブルが誤って削除されている場合がある。DHCP マネージャまたは dhcpconfig を使ってネットワークを再び追加すれば、ネットワークテーブルを再作成できる

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 アドレスが選択された後で、かつ重複アドレスチェックが完了する前に、その IP アドレスレコードが DHCP ネットワークテーブルから削除されると、この状態になることがある 

DHCP マネージャまたは pntadm を使って DHCP ネットワークテーブルを表示する。IP アドレスのレコードがない場合は、DHCP マネージャ (「アドレス (Addresses)」タブの「編集 (Edit)」メニューから「作成 (Create)」を選択) または pntadm を使ってレコードを作成する

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

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

DHCP マネージャまたは pntadm を使って DHCP ネットワークテーブルを表示する。IP アドレスのレコードがない場合は、DHCP マネージャ (「アドレス (Addresses)」タブの「編集 (Edit)」メニューから「作成 (Create)」を選択) または pntadm を使ってレコードを作成する

n.n.n.ncurrently marked as unusable.

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

DHCP マネージャまたは pntadm を使って、アドレスを使用可能にする

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

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

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

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

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

DHCP マネージャまたは pntadm を使って IP アドレスを修正し、余分な手動割り当てを取り除く

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

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

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

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

リースがネゴシエーション可能ではなく、有効期限が切れている 

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

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

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

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

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 マネージャまたは pntadm を使用してネットワークテーブルを調べ、必要に応じて訂正する。クライアントの ID は、指定された IP アドレスと結合されていなければならない。 結合されていない場合は、アドレスプロパティを編集してこのクライアント ID を追加する

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

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

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

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

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

何もせずにリースが期限切れになるのを待つこともできる。そうすれば、期限切れの後に自動的にクライアントが新しいアドレスリースを要求する 

クライアントに新しいリースをすぐに取得させたい場合は、次のコマンドを使って、このクライアント上で DHCP プロトコルを再起動する  

ifconfig interface dhcp release

ifconfig interface dhcp start