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

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

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

NIS+ の問題と DHCP データストア

DHCP データストアとして NIS+ を使用する場合に起こる問題は、次のカテゴリに分けられます。

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

NIS+ を データストアとして使用しようとしても、DHCP マネージャが NIS+ をデータストアの候補として認識しないことがあります。dhcpconfig コマンドを使用すると、NIS+ がインストールされておらず、動作していないという意味のメッセージが表示されることがあります。どちらの問題の場合も、このネットワークでは NIS+ が使用されている可能性はあるが、このサーバーには NIS+ が構成されていないことを意味します。NIS+ をデータとして選択するためには、サーバーマシンが NIS+ クライアントとして構成されている必要があります。

DHCP サーバーシステムを NIS+ クライアントとして設定する前に、次の要件が満たされていなければなりません。

NIS+ クライアントの構成に関する詳しい情報については、『Solaris のシステム管理 (ネーミングとディレクトリサービス : NIS+ 編)』「NIS+ クライアントマシンの設定」を参照してください。

NIS+ が DHCP データストア用に適切に構成されていない

DHCP で NIS+ を使用できるようになったあとに NIS+ を変更すると、エラーになることがあります。このような変更が構成の問題を引き起こす可能性があるからです。問題と解決策の次の説明に従って、構成の問題の原因を判別してください。

問題:

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

対処方法:

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

/usr/lib/nis/nisstat

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

『Solaris のシステム管理 (ネーミングとディレクトリサービス : NIS+ 編)』に従って NIS+ ドメインを設定します。

問題:

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

対処方法:

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

cat /etc/nsswitch.conf

この「nisplus」キーワードに関する passwdpublickey の項目を確認します。ネームサービススイッチの構成につい ては、『Solaris のシステム管理 (ネーミングとディレクトリサービス : NIS+ 編)』を参照してください。

問題:

ドメイン名が空である。

対処方法:

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

domainname

このコマンドによって空の文字列がリストされた場合は、このドメインについてドメイン名が設定されていません。データストアにローカルファイルを使用するか、あるいは、ネットワーク用に NIS+ ドメインを設定します。詳細は、『Solaris のシステム管理 (ネーミングとディレクトリサービス : NIS+ 編)』を参照してください。

問題:

NIS_COLD_START ファイルが存在しない。

対処方法:

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

cat /var/nis/NIS_COLD_START

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

DHCP データストアに対する NIS+ アクセス権の問題

NIS+ のアクセス権に問題があると、DES 資格が適切でない、またはアクセス権が不十分なため NIS+ オブジェクトやテーブルを更新できないというエラーメッセージが表示されることがあります。問題と解決策の次の説明に従って、NIS+ アクセス権のエラーの原因を判別します。

問題:

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

対処方法:

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


nisls -ld org_dir

アクセス権は r---rmcdrmcdr--- といった形式でリストされます。これらのアクセス権はそれぞれ、未認証、所有者、グループ、その他に対応しています。オブジェクトの所有者が次にリストされます。

通常は、所有者とグループの両方に、org_dir ディレクトリオブジェクトへの完全なアクセス権があります。完全な権限は、読み取り、変更、作成、破棄からなります。その他と未認証のクラスには、org_dir ディレクトリオブジェクトへの読み取りアクセス権だけがあります。

DHCP サーバー名は、org_dir オブジェクトの所有者か、グループ内の主体としてリストされていなければなりません。グループには作成アクセス権が必要です。次のコマンドでグループをリストします。


nisls -ldg org_dir

必要な場合は、nischmod コマンドを使って、org_dir に対するアクセス権を変更します。たとえば、グループに作成アクセス権を追加する場合は、次のコマンドを使用します。


nischmod g+c org_dir

詳細は、nischmod(1) のマニュアルページを参照してください。

問題:

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

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

対処方法:

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


niscat -o org_dir

次のような行を見つけます。

Group : "admin.example.com."

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


nisgrpadm -l groupname

たとえば、次のコマンドを実行すると、グループ admin.example.com の主体名が表示されます。

nisgrpadm -l admin.example.com

サーバーシステムの名前がグループの明示的なメンバーとしてリストされるか、グループの暗黙的なメンバーとして含まれているはずです。必要なら、nisgrpadm コマンドを使ってサーバーシステムの名前をグループに追加します。

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


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

詳細は、nisgrpadm(1) のマニュアルページを参照してください。

問題:

DHCP サーバーの NIS+ cred テーブルに有効な Data Encryption Standard (DES) 資格が存在しない。

対処方法:

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

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

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


nisaddcred -p unix.mercury@example.com \
-P mercury.example.com. DES example.com.

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

詳細は、nisaddcred(1M) のマニュアルページを参照してください。

DHCP における IP アドレスの割り当てエラー

クライアントが IP アドレスを取得または検証しようとすると、問題が syslog に記録されたり、サーバーデバッグモード出力に書き込まれることがあります。よく見られる次の各エラーメッセージが、考えられる原因と解決策を示しています。


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 アドレスが、選択されたあとに DHCP ネットワークテーブルレコードから削除されたことを示します。このエラーが起こるのは (もし起こるのなら)、アドレスの重複チェックが終了するまでの短い時間においてだけです。

対処方法:

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


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

原因:

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

対処方法:

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


n.n.n.n currently 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 アドレスが手動で割り当てられています。クライアントには、1 つのアドレスだけが割り当てられているべきです。サーバーは、ネットワークテーブルにある、最後に手動で割り当てられたアドレスを選択します。

対処方法:

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


No more IP addresses on n.n.n.nnetwork.

原因:

指定されたネットワーク上で 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) に準拠していない、Sun 以外の DHCP クライアントを使用すると、この問題が起こることがあります。

対処方法:

クライアントのソフトウェアを更新してください。


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