デバッグモードで in.dhcpd コマンドを実行した結果の出力を調べ、調べたエラーメッセージまたは状態を使用して、以下の情報から解決策を見つけ出します。
以下のエラーメッセージが表示される。
Datagram received on network device: le0
(ネットワークデバイス le0 上でデータグラムを受け取った)
ICMP ECHO reply to OFFER candidate: ip_address disabling
(OFFER 候補 ip_address に対する ICMP ECHO の応答が無効にされた)
検証: DHCP サーバーは、クライアントに対して IP アドレスを提供する前に、その IP アドレスに対して ping コマンドを使用して当該アドレスが使用中ではないことを確認します。クライアントが応答した場合、その IP アドレスは使用中です。
解決策: 設定した IP アドレスがまだ使用中ではないことを確認します。
以下のエラーメッセージが表示される。
No more IP addresses for network_address network
(network_address ネットワークには、もう IP アドレスがない)
検証: クライアントの dhcp_network テーブル内に、使用可能な IP アドレスがありません。
解決策: dhcpconfig コマンドを使用して、さらに IP アドレスを割り当てます。DHCP デーモンが複数のサブネットを監視している場合は、追加の IP アドレスが、クライアントが配置されているサブネットに対するものであることを確認します。
dhcp_network データベース内に id_name という不良なクライアント ID がある。
検証: dhcp_network テーブル内のクライアント ID (MAC アドレス) が間違っています。
解決策: イ−サネットを使用している場合、クライアント ID は 01 の後にイ−サネットアドレスが続きます。アドレス内のすべての文字が大文字になっていることを確認します。00 は、アドレスが割り当てられていないことを表します。
以下のエラーメッセージが表示される。
Request to access nonexistent dhcp_network database: database_name in datastore: nisplus_datastore.
(データストア nisplus_datastore 内の、存在しない dhcp_network データベース database_name へのアクセス要求である)
検証: DHCP サーバーの構成時に、dhcpconfig スクリプトがサブネットの dhcp_network テーブルを作成しませんでした。テストネットワークとして、LAN (たとえば、サーバー 1 つとクライアント 2 つ) を設定して切り離した場合に起こることがあります。
解決策: dhcpconfig コマンドを使用して、dhcp_network テーブルと新規 IP アドレスを初期化します。
以下のエラーメッセージを受け取る。
Client client_id is trying to verify unrecorded address ip_address, ignored.
(クライアント client_id が、記録されていないアドレス ip_address の確認を試行して無視された)
検証: このメッセージを受け取る場合は、考えられる理由が 2 つあります。
dhcp_network テーブルが削除されている場合に、このメッセージを受け取ることがあります。Solaris DHCP サーバーのみを使用している場合は、通常これが理由です。
データストア用に NIS+ が使用されていないことが原因で情報が共有されていない場合に、このメッセージを受け取ることがあります。サーバーがデータを共有していることを確認します。
異機種システムが混在しているサーバーのグループがある場合、このメッセージを無視します。
解決策: 以下のように入力して、クライアント上の古いキャッシュファイルを削除します。
ifconfig interface_name dhcp release |
DHCP は開始されているが、必要なネットワークサービスの一部が開始しない。
検証: DHCP サーバーが、必要な構成を供給していません。
解決策: サーバーが、必要なパラメータを送信しない理由を調べます。必要なパラメータを送信するようにサーバーを構成します。
DHCP は開始されているが、特定のネットワークサービス (たとえば、NIS や NIS+) がエラーを報告するか、またはハングする。ホストが、ネットワーク上のその他のホストと通信を行うことができない。
検証: dhcpagent コマンドが、DHCP と通信を行うことができない (DHCP が使用可能でないため、と考えられます) ために、キャッシュに書き込まれているデータを使用しました。
解決策: キャッシュを削除します。以下のように入力します。
ifconfig interface_name dhcp release |
キャッシュを削除しても、正しい構成を取得するという問題は解決されないため、ホストを手動で構成する必要がある場合があります。以下のように入力してトリガーファイルを削除することにより、ブート時に DHCP を無効にする必要があります。
rm /etc/dhcp.interface_name |
クライアントはブートして適正に動作するが、以下のメッセージが表示される。
DHCP renewal on interface_name failed
(interface_name に対する DHCP の更新が失敗した)
検証: DHCP は動作していますが、dhcpagent によりサーバーに接続してリースの延長を行うことができません。
解決策: サーバーが応答しない理由を調べます。dhcptab 内に設定されているルーターの値が間違っているか、またはクライアントのネットワークに対して期限が切れていることが理由である可能性があります。
失敗した DHCP の更新についてのメッセージを受け取り、その後で以下のメッセージがコンソールに表示される。
DHCP lease expired on interface_name: interface is now down
(interface_name に対する DHCP のリースの期限が切れて、インタフェースは現在ダウンしている)
ネットワークサービスがこの時点でハングすることが考えられる。
検証: リースの期限が切れました。クライアントは複数回の試行を行いましたが、リースを延長することができませんでした。
解決策: サーバーが応答しない理由を調べます。クライアントを再起動します。