この章では、DHCP サーバーまたはクライアントを設定する際に検出される問題や、構成が完了した後に DHCP を使用する際の問題を解決する情報について説明します。
この章では、次の情報について説明します。
サーバーを構成する際に発注する問題は、次のカテゴリに分類されます。
データとして NIS+ を使用している場合の NIS+
IP アドレス割り当て
DHCP データとして NIS+ を使用する場合に発生する問題は、次のカテゴリに分類されます。
NIS+ をデータとして選択できない
NIS+ が適切に構成されない
権限の不足と資格が原因の NIS+ アクセス問題
NIS+ をデータストアとして選択しようとして、DHCP マネージャのデータストアの選択肢に NIS+ が含まれていなかったり、NIS+ のインストールと実行が確認できないというメッセージが dhcpconfig から返されたりすることがあります。これは、このネットワークでは NIS+ が使用されている可能性はあるが、このサーバーには NIS+ が構成されていないことを意味します。NIS+ をデータとして選択するためには、サーバーマシンが NIS+ クライアントとして構成されている必要があります。
サーバーを NIS+ クライアントとして設定するためには、ドメインがすでに構成され、そのマスターサーバーが動作している必要があります。さらに、ドメインのテーブルのマスターサーバーがすでに作成され、ホストテーブルには新しいクライアントシステムのエントリ (DHCP サーバー) が存在している必要があります。『Solaris ネーミングの設定と構成』の「NIS+ クライアントの構成」で、NIS+ クライアントの構成についての詳細が説明されています。
DHCP で NIS+ が正常に使用できるようになっても、NIS+ を変更するとエラーになり、構成の問題が明らかになることがあります。表 5–1 を使用して、問題の原因を特定してください。
表 5–1 NIS+ 構成の問題
問題 |
情報の収集 |
解決法 |
---|---|---|
ルートオブジェクトが NIS+ ドメインに存在しない |
次のコマンドを入力する。 /usr/lib/nis/nisstat |
『Solaris ネーミングの設定と構成』を参照して NIS+ ドメインを設定する |
password と publickey の情報について NIS+ が使用されていない |
次のコマンドを入力して、ネームサービススイッチ構成ファイルを表示する cat /etc/nsswitch.conf この「nisplus」キーワードに関する password と publickey の項目を確認する |
ネームサービススイッチの構成については、『Solaris ネーミングの設定と構成』を参照 |
ドメイン名が空である |
次のコマンドを入力する。 domainname このコマンドによって空の文字列がリストされた場合は、このドメインについてドメイン名が設定されていない |
データストアにローカルファイルを使用するか、あるいは、ネットワーク用に NIS+ ドメインを設定する。『Solaris ネーミングの設定と構成』を参照 |
NIS_COLD_START ファイルが存在しない |
サーバーシステムで次のコマンドを入力して、ファイルの存在を確認する cat /var/nis/NIS_COLD_START |
データストアのローカルファイルを使用するか、あるいは、NIS+ クライアントを作成します。『Solaris ネーミングの設定と構成』を参照 |
NIS+ のアクセス権に問題があると、DES 資格が適切でない、またはアクセス権が不十分なため NIS+ オブジェクトやテーブルを更新できないというエラーメッセージが表示されることがあります。表 5–2 を使用して、受け取った NIS+ エラーの原因を特定してください。
表 5–2 NIS+ アクセスの問題
クライアントが IP アドレスを取得または確認しようとすると、次の問題が syslog やサーバーデバッグ出力に書き込まれることがあります。
表 5–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.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 アドレスが手動で割り当てられている。割り当てられる 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 |
DHCP クライアントに関連する問題は、一般に次のカテゴリに分類されます。
この節では、ネットワークに DHCP クライアントを追加する際に発生する可能性がある問題について説明します。
クライアントソフトウェアを使用可能にし、システムを再起動すると、クライアントはそのネットワーク構成を DHCP サーバーから取得しようとします。クライアントがサーバーと通信できない場合は、次のようなメッセージが表示されます。
DHCP or BOOTP server not responding |
問題を特定するには、クライアントとサーバーの両方から診断情報を収集して、その結果を分析する必要があります。情報を収集するために、次のことができます。
クライアントをデバッグモードで実行する
サーバーをデバッグモードで実行する
snoop を起動してネットワークのトラフィックを監視する
収集した情報は、問題の原因がクライアントにあるのか、サーバーにあるのか、リレーエージェントにあるのかを特定して解決策を見つける上で役立ちます。
Solaris DHCP クライアント以外のクライアントをデバッグモードで実行する方法については、それぞれのマニュアルを参照してください。
Solaris DHCP クライアントをデバッグモードで実行するには、次のようにします。
クライアントシステムでスーパーユーザーになります。
次のコマンドで DHCP クライアントデーモンをいったん停止してからデバッグモードで起動します。
# pkill -x dhcpagent # /sbin/dhcpagent -d1 -f & # ifconfig interface dhcp start |
デバッグモードで実行すると、クライアントデーモンは画面に DHCP の要求を実行中であるというメッセージを表示します。クライアントデバッグ出力については、DHCP クライアントのデバッグ出力を参照してください。
次のコマンドで DHCP デーモンをいったん停止してからデバッグモードで起動します。
# pkill -x in.dhcpd # /usr/lib/inet/in.dhcpd -d -v |
さらに、デーモンの実行で一般に使用する in.dhcpd のコマンド行オプションを指定します。たとえば、デーモンを BOOTP リレーエージェントとして実行する場合は、in.dhcpd -d -v コマンドに -r オプションを付けます。
デバッグモードで実行すると、デーモンによって画面に DHCP や BOOTP の要求を処理しているというメッセージが表示されます。サーバーデバッグ出力については、DHCP サーバーのデバッグ出力を参照してください。
snoop を起動して、サーバーのネットワークインタフェース間のネットワークトラフィックの追跡を開始します。
# /usr/sbin/snoop -d interface -o snoop-output-filename udp port 67 or udp port 68 |
たとえば、次のようにします。
# /usr/sbin/snoop -d le0 -o /tmp/snoop.output udp port 67 or udp port 68
必要な情報を入手した後 Control-C を押してsnoop を明示的に停止するまで、snoop はインタフェースを監視し続けることに注意してください。
クライアントシステムを起動するか、クライアントシステムで dhcpagent を再起動します。
dhcpagent の再起動については、DHCP クライアントをデバッグモードで実行する方法 を参照してください。
サーバーシステムで snoop を使用して、ネットワークパケットの内容を含む出力ファイルを表示させます。
# /usr/sbin/snoop -i snoop-output-filename -x0 -v |
たとえば、次のようにします。
# /usr/sbin/snoop -i /tmp/snoop.output -x0 -v
dhcpagent コマンドの -d スイッチは、クライアントを冗長性 1 のデバッグモードにします。-f スイッチは、出力を syslog ではなくコンソールに送信します。ifconfig コマンド行の interface は、le0 など、 クライアントのネットワークインタフェースの名前で置き換えてください。
出力の解釈については、DHCP snoop 出力を参照してください。
例 5–1 では、DHCP クライアントが DHCP 要求を送信し、DHCP サーバーから構成情報を受信した場合の通常のデバッグ出力を示しています。
/sbin/dhcpagent: debug: set_packet_filter: set filter 0x27fc8 (DHCP filter) /sbin/dhcpagent: debug: init_ifs: initted interface le0 /sbin/dhcpagent: debug: insert_ifs: le0: sdumax 1500, optmax 1260, hwtype 1, hwlen 6 /sbin/dhcpagent: debug: insert_ifs: inserted interface le0 /sbin/dhcpagent: debug: register_acknak: registered acknak id 5 /sbin/dhcpagent: debug: unregister_acknak: unregistered acknak id 5 /sbin/dhcpagent: debug: set_packet_filter: set filter 0x26018 (ARP reply filter) /sbin/dhcpagent: info: setting IP netmask on le0 to 255.255.192.0 /sbin/dhcpagent: info: setting IP address on le0 to 102.23.3.233 /sbin/dhcpagent: info: setting broadcast address on le0 to 102.23.63.255 /sbin/dhcpagent: info: added default router 102.23.0.1 on le0 /sbin/dhcpagent: debug: set_packet_filter: set filter 0x28054 (blackhole filter) /sbin/dhcpagent: debug: configure_if: bound ifsp->if_sock_ip_fd /sbin/dhcpagent: info: le0 acquired lease, expires Tue Aug 10 16:18:33 1999 /sbin/dhcpagent: info: le0 begins renewal at Tue Aug 10 15:49:44 1999 /sbin/dhcpagent: info: le0 begins rebinding at Tue Aug 10 16:11:03 1999 |
クライアントが DHCP サーバーと通信できない場合は、例 5–2 のようなデバッグ出力が表示されます。
/sbin/dhcpagent: debug: set_packet_filter: set filter 0x27fc8 (DHCP filter) /sbin/dhcpagent: debug: init_ifs: initted interface le0 /sbin/dhcpagent: debug: select_best: no valid OFFER/BOOTP reply /sbin/dhcpagent: debug: select_best: no valid OFFER/BOOTP reply /sbin/dhcpagent: debug: select_best: no valid OFFER/BOOTP reply |
このメッセージは、要求がサーバーに届いていないか、サーバーが回答をクライアントに送信できないことを意味します。snoop を使用して DHCP ネットワークトラフィックを監視する方法 の説明に従って snoop コマンドをサーバーで実行し、クライアントのパケットがサーバーに届いているかどうかを確認します。
通常のサーバーデバッグ出力は、デーモンが起動したときに、サーバーの構成情報とそれに続く、各ネットワークインタフェースの情報を表示します。デーモンが起動されると、デバッグ出力には、デーモンが処理している要求の情報が表示されます。例 5–3 は、DHCP サーバーのデバッグ出力例です。この DHCP サーバーは、起動された後にクライアントのリースを延長しています。ただし、このクライアントは、応答していない別の DHCP サーバーが所有しているアドレスを使用しています。
Daemon Version: 3.1 Maximum relay hops: 4 Transaction logging to console enabled. Run mode is: DHCP Server Mode. Datastore: nisplus Path: org_dir.dhcp.test..:dhcp.test..:$ DHCP offer TTL: 10 Ethers compatibility enabled. BOOTP compatibility enabled. ICMP validation timeout: 1000 milliseconds, Attempts: 2. Monitor (0005/hme0) started... Thread Id: 0005 - Monitoring Interface: hme0 ***** MTU: 1500 Type: DLPI Broadcast: 102.21.255.255 Netmask: 255.255.0.0 Address: 102.21.0.2 Monitor (0006/nf0) started... Thread Id: 0006 - Monitoring Interface: nf0 ***** MTU: 4352 Type: DLPI Broadcast: 102.22.255.255 Netmask: 255.255.0.0 Address: 102.22.0.1 Monitor (0007/qe0) started... Thread Id: 0007 - Monitoring Interface: qe0 ***** MTU: 1500 Type: DLPI Broadcast: 102.23.63.255 Netmask: 255.255.192.0 Address: 102.23.0.1 Read 33 entries from DHCP macro database on Tue Aug 10 15:10:27 1999 Datagram received on network device: qe0 Client: 0800201DBA3A is requesting verification of address owned by 102.21.0.4 Datagram received on network device: qe0 Client: 0800201DBA3A is requesting verification of address owned by 102.21.0.4 Datagram received on network device: qe0 Client: 0800201DBA3A is requesting verification of address owned by 102.21.0.4 Datagram received on network device: qe0 Client: 0800201DBA3A maps to IP: 102.23.3.233 Unicasting datagram to 102.23.3.233 address. Adding ARP entry: 102.23.3.233 == 0800201DBA3A DHCP EXTEND 0934312543 0934316143 102.23.3.233 102.21.0.2 0800201DBA3A SUNW.SPARCstation-10 0800201DBA3A |
例 5–4 は DHCP デーモンのデバッグ出力です。この DHCP デーモンは、BOOTP リレーエージェントとして起動された後、クライアントの要求を DHCP サーバーに、サーバーの応答をクライアントにそれぞれ伝達しています。
Relay destination: 102.21.0.4 (blue-servr2) network: 102.21.0.0 Daemon Version: 3.1 Maximum relay hops: 4 Transaction logging to console enabled. Run mode is: Relay Agent Mode. Monitor (0005/hme0) started... Thread Id: 0005 - Monitoring Interface: hme0 ***** MTU: 1500 Type: DLPI Broadcast: 102.21.255.255 Netmask: 255.255.0.0 Address: 102.21.0.2 Monitor (0006/nf0) started... Thread Id: 0006 - Monitoring Interface: nf0 ***** MTU: 4352 Type: DLPI Broadcast: 102.22.255.255 Netmask: 255.255.0.0 Address: 102.22.0.1 Monitor (0007/qe0) started... Thread Id: 0007 - Monitoring Interface: qe0 ***** MTU: 1500 Type: DLPI Broadcast: 102.23.63.255 Netmask: 255.255.192.0 Address: 102.23.0.1 Relaying request 0800201DBA3A to 102.21.0.4, server port. BOOTP RELAY-SRVR 0934297685 0000000000 0.0.0.0 102.21.0.4 0800201DBA3A N/A 0800201DBA3A Packet received from relay agent: 102.23.0.1 Relaying reply to client 0800201DBA3A Unicasting datagram to 102.23.3.233 address. Adding ARP entry: 102.23.3.233 == 0800201DBA3A BOOTP RELAY-CLNT 0934297688 0000000000 102.23.0.1 102.23.3.233 0800201DBA3A N/A 0800201DBA3A Relaying request 0800201DBA3A to 102.21.0.4, server port. BOOTP RELAY-SRVR 0934297689 0000000000 0.0.0.0 102.21.0.4 0800201DBA3A N/A 0800201DBA3A Packet received from relay agent: 102.23.0.1 Relaying reply to client 0800201DBA3A Unicasting datagram to 102.23.3.233 address. Adding ARP entry: 102.23.3.233 == 0800201DBA3A |
問題がある場合は、このデバッグ出力が警告またはエラーメッセージを表示します。表 5–4 からエラーメッセージと解決策を見つけてください。
表 5–4 DHCP サーバーのエラーメッセージ
メッセージ |
説明 |
解決法 |
---|---|---|
ICMP ECHO reply to OFFER candidate: ip_address disabling |
DHCP サーバーは、IP アドレスをクライアントに提供する前に、ping コマンドを実行してそのアドレスが使用されていない確認する。クライアントが回答する場合、そのアドレスは使用されている |
構成するアドレスが使用されていないことを確認する |
No more IP addresses on network_address network. |
クライアントのネットワークに対応する DHCP ネットワークテーブル中に、使用可能な IP アドレスがない |
DHCP マネージャまたは pntadm を使って IP アドレスを追加する。DHCP デーモンが複数のサブネットを監視している場合は、必ずそのクライアントが属するサブネットに IP アドレスを追加する |
No more IP addresses for network_address network BOOTP 互換モードで DHCP デーモンを実行時 (-b オプション) |
BOOTP はリース期間を使用しないので、DHCP サーバーは、BOOTP クライアントに割り当てるために設定された BOOTP フラグを持つ空きアドレスを検索する |
DHCP マネージャを使用して、BOOTP アドレスを割り当てる |
Request to access nonexistent per network database:database_name in datastore: datastore. |
DHCP サーバーの構成の際に、サブネットの DHCP ネットワークテーブルが作成されていない |
DHCP マネージャまたは pntadm を使用して、DHCP ネットワークテーブルと新しい IP アドレスを作成する |
There is no table_name dhcp-network table for DHCP client's network. |
DHCP サーバーの構成の際にサブネットの DHCP ネットワークテーブルが作成されていない |
DHCP マネージャまたは pntadm を使用して、DHCP ネットワークテーブルと新しい IP アドレスを作成する |
Client using non_RFC1048 BOOTP cookie. |
ネットワーク上のデバイスが、BOOTP のサポートされていない実装にアクセスしようとした |
このデバイスを構成する必要がない場合は、このメッセージを無視する |
下記の snoop 出力を見ると、DHCP クライアントシステムと DHCP サーバーシステムの間でパケットが交換されていることがわかります。個々のパケットには、各システムの IP アドレス と、リレーエージェントやルーターが中間にある場合はそれらが示されます。システムの間でパケットが交換されていない場合は、クライアントシステムからサーバーシステムにアクセスできないのかもしれません。その場合、問題はより下位レベルにあります。
snoop の出力を評価するためには、要求が BOOTP リレーエージェントを介して行われるべきであるかどうかなど、本来の動作がどのようなものであるかを知っている必要があります。さらに、関係するシステムの (および、複数のネットワークインタフェースがある場合は、それらの) MAC アドレスや IP アドレスを知っていないと、それらの値が正しいかどうかを判断できません。次の例は、DHCP 肯定応答メッセージの通常の snoop 出力を示しています。このメッセージは、blue-servr2 上の DHCP サーバーから MAC アドレスが 8:0:20:8e:f3:7e のクライアントに送信されたものです。このメッセージを見ると、サーバーがクライアントに IP アドレスとして 172.168.252.6 を、ホスト名として white-6 を割り当てていることがわかります。さらに、このメッセージには、クライアントに対するいくつもの標準的なネットワークオプションといくつかのベンダー固有のオプションが含まれています。
ETHER: ----- Ether Header ----- ETHER: ETHER: Packet 26 arrived at 14:43:19.14 ETHER: Packet size = 540 bytes ETHER: Destination = 8:0:20:8e:f3:7e, Sun ETHER: Source = 8:0:20:1e:31:c1, Sun ETHER: Ethertype = 0800 (IP) ETHER: IP: ----- IP Header ----- IP: IP: Version = 4 IP: Header length = 20 bytes IP: Type of service = 0x00 IP: xxx. .... = 0 (precedence) IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: Total length = 526 bytes IP: Identification = 64667 IP: Flags = 0x4 IP: .1.. .... = do not fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 254 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = 157a IP: Source address = 102.21.0.4, blue-servr2 IP: Destination address = 192.168.252.6, white-6 IP: No options IP: UDP: ----- UDP Header ----- UDP: UDP: Source port = 67 UDP: Destination port = 68 (BOOTPC) UDP: Length = 506 UDP: Checksum = 5D4C UDP: DHCP: ----- Dynamic Host Configuration Protocol ----- DHCP: DHCP: Hardware address type (htype) = 1 (Ethernet (10Mb)) DHCP: Hardware address length (hlen) = 6 octets DHCP: Relay agent hops = 0 DHCP: Transaction ID = 0x2e210f17 DHCP: Time since boot = 0 seconds DHCP: Flags = 0x0000 DHCP: Client address (ciaddr) = 0.0.0.0 DHCP: Your client address (yiaddr) = 172.168.252.6 DHCP: Next server address (siaddr) = 102.21.0.2 DHCP: Relay agent address (giaddr) = 0.0.0.0 DHCP: Client hardware address (chaddr) = 08:00:20:11:E0:1B DHCP: DHCP: ----- (Options) field options ----- DHCP: DHCP: Message type = DHCPACK DHCP: DHCP Server Identifier = 102.21.0.4 DHCP: Subnet Mask = 255.255.255.0 DHCP: Router at = 172.168.252.1 DHCP: Broadcast Address = 172.168.252.255 DHCP: NISPLUS Domainname = dhcp.test DHCP: IP Address Lease Time = 3600 seconds DHCP: UTC Time Offset = -14400 seconds DHCP: RFC868 Time Servers at = 102.21.0.4 DHCP: DNS Domain Name = sem.west.dor.com DHCP: DNS Servers at = 102.21.0.1 DHCP: Client Hostname = white-6 DHCP: Vendor-specific Options (166 total octets): DHCP: (02) 04 octets 0x8194AE1B (unprintable) DHCP: (03) 08 octets "pacific" DHCP: (10) 04 octets 0x8194AE1B (unprintable) DHCP: (11) 08 octets "pacific" DHCP: (15) 05 octets "xterm" DHCP: (04) 53 octets "/export/s28/base.s28s_nxt/latest/Solaris_8/Tools/Boot" DHCP: (12) 32 octets "/export/s28/base.s28s_nxt/latest" DHCP: (07) 27 octets "/platform/sun4m/kernel/unix" DHCP: (08) 07 octets "EST5EDT" 0: 0800 208e f37e 0800 201e 31c1 0800 4500 .. .ó~.. .1...E. 16: 020e fc9b 4000 fe11 157a ac15 0004 c0a8 ....@....z...... 32: fc06 0043 0044 01fa 5d4c 0201 0600 2e21 ...C.D..]L.....! 48: 0f17 0000 0000 0000 0000 c0a8 fc06 ac15 ................ 64: 0002 0000 0000 0800 2011 e01b 0000 0000 ........ ....... 80: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 96: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 112: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 128: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 144: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 160: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 176: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 192: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 208: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 224: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 240: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 256: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 272: 0000 0000 0000 6382 5363 3501 0536 04ac ......c.Sc5..6.. 288: 1500 0401 04ff ffff 0003 04c0 a8fc 011c ................ 304: 04c0 a8fc ff40 0964 6863 702e 7465 7374 .....@.dhcp.test 320: 3304 0000 0e10 0204 ffff c7c0 0404 ac15 3............... 336: 0004 0f10 736e 742e 6561 7374 2e73 756e ....sem.west.dor 352: 2e63 6f6d 0604 ac15 0001 0c07 7768 6974 .com........whit 368: 652d 362b a602 0481 94ae 1b03 0861 746c e-6+.........pac 384: 616e 7469 630a 0481 94ae 1b0b 0861 746c ific.........pac 400: 616e 7469 630f 0578 7465 726d 0435 2f65 ific...xterm.5/e 416: 7870 6f72 742f 7332 382f 6261 7365 2e73 xport/s28/bcvf.s 432: 3238 735f 776f 732f 6c61 7465 7374 2f53 28s_btf/latest/S 448: 6f6c 6172 6973 5f38 2f54 6f6f 6c73 2f42 olaris_x/Tools/B 464: 6f6f 740c 202f 6578 706f 7274 2f73 3238 oot. /export/s28 480: 2f62 6173 652e 7332 3873 5f77 6f73 2f6c /bcvf.s28s_btf/l 496: 6174 6573 7407 1b2f 706c 6174 666f 726d atest../platform 512: 2f73 756e 346d 2f6b 6572 6e65 6c2f 756e /sun4m/kernel/un 528: 6978 0807 4553 5435 4544 54ff ix..EST5EDT. |
DHCP が受信したネットワーク構成情報の中に誤った NIS ドメイン名や不正確なルーター IP アドレスといった不正確な情報がある場合は、このクライアントの DHCP サーバーが処理したマクロの中に正しくないオプションの値がないかを調べる必要があります。
正しくない情報の原因がどこにあるのかを特定する際には、次の一般的な指針に従ってください。
DHCP サーバー上で定義されたマクロを表示する方法 (DHCP マネージャ)で説明されている、サーバーで定義されたマクロを調べてください。さらに、マクロ処理の順序を参照して、このクライアントに対しどのマクロが自動的に処理されるのかを確認します。
ネットワークテーブルを調べて、クライアントの IP アドレスに構成マクロとして割り当てられたマクロ (ある場合) を確認します。詳細については、DHCP サービスで IP アドレスを使用して作業するを参照してください。
複数のマクロで発生するオプションに注意して、最後に処理されるマクロでオプションに入力したい値を設定されることを確認します。
適切なマクロを編集して、正確な値がクライアントに確実に渡されるようにします。DHCP マクロの変更を参照してください。
ここでは、独自のホスト名を指定し、それを DNS に登録する必要がある DHCP クライアントの問題について説明します。
クライアントが Solaris DHCP クライアントでない場合は、そのクライアントのマニュアルを参照して、ホスト名を要求するために必要なクライアントの構成方法を調べてください。Solaris DHCP クライアントの場合は、特定のホスト名に応答するように Solaris クライアントを有効にする方法 を参照してください。
起こりうる問題 |
情報の収集 |
解決法 |
---|---|---|
クライアントは DHCP サーバーからオファーを受け取るが、サーバーが DNS 更新を行わない |
|
DHCP サーバーと DNS サーバーの構成方法については、DHCP サーバーによる動的 DNS 更新の有効化を参照する クライアントから 2 つの DHCP サーバーにアクセスできる場合は、両方のサーバーが DNS 更新を行うように構成されている必要がある |
クライアントが FQDN オプション (オプションコード 89) を使ってホスト名を指定している。FQDN オプションは DHCP プロトコルに正式には含まれていないため、現在、DHCP ではサポートされていない |
snoop またはネットワークパケットを獲得するその他のアプリケーションをサーバーで実行し、クライアントからのパケットに FQDN オプションがないかを確認する |
Hostname オプション (オプションコード 12) を使ってホスト名を指定するようにクライアントの構成を変更する。 詳細は、クライアントのマニュアルを参照してください。 |
クライアントにアドレスを提供する DHCP サーバーがクライアントの DNS 名を知らない |
DHCP サーバーで、DNSdmain オプションに有効な値が設定されているかを確認する |
このクライアントに対して処理されるマクロの DNSdmain オプションに正しい DNS ドメイン名を設定する。DNSdmain は通常、ネットワークマクロ |
クライアントが要求したホスト名が DHCP サーバーが管理していない IP アドレスに対応している。Solaris DHCP は、自らが管理していない IP アドレスに対し DNS 更新を行わない |
syslog を調べて、There is no n.n.n.n dhcp-network table for DHCP client's network. や DHCP network record for n.n.n.n is unavailable, ignoring request. のような DHCP サーバーのメッセージを見つける。 |
対応する IP アドレスがない名前か、DHCP サーバーが管理するアドレスに対応する名前を選択するようにクライアントを構成する |
クライアントが要求したホスト名に対応する IP アドレスは、現在使用中であるか、リースされているか、別のクライアントに提案中である |
syslog を調べて、ICMP ECHO reply to OFFER candidate:n.n.n.n のような DHCP サーバーのメッセージを探す。 |
異なる IP アドレスに対応する名前を選択するようにクライアントを構成する。あるいは、そのアドレスを使用するクライアントからアドレスを取り返す |
DHCP サーバーからの更新を受け付けるように DNS サーバーが構成されていない |
DNS サーバーの /etc/named.conf ファイルを調べ、DHCP サーバーのドメインに対する適切な zone セクションでallow-update キーワードを持つ DHCP サーバーの IP アドレスを探す |
DNS サーバーの構成方法については、DHCP クライアント用に動的 DNS 更新を有効にする方法 を参照する DHCP サーバーに複数のインタフェースがある場合は、DHCP サーバーのすべてのアドレスからの更新を受け付けるように DNS サーバーを構成する必要DNS サーバーのデバッグ機能を有効にして、更新が DNS サーバーに届いているか確認する。届いている場合は、更新が行われない原因をデバッグ出力で調べる |
DNS 更新が、割り当てられた時間内に行われていない可能性がある。設定された時間内に DNS 完了しないと、DHCP サーバーはホスト名をクライアントに返さない。ただし、DNS 更新を完了する試みは続けられる |
nslookup コマンドを使って、更新が正常に終わっているかを確認する。nslookup(1M) のマニュアルページを参照する たとえば、DNS ドメインが hills.oneonta.org で、DNS サーバーの IP アドレスが 121.76.178.11、クライアントが登録したいホスト名が cathedral であるとする。次のコマンドを使用すれば、cathedral が DNS に登録されたかどうかを知ることができる。 nslookup cathedral.hills.oneonta.org 121.76.178.11 |
更新は正常に行われたが、割り当てられた時間を超えている場合は、タイムアウト値を増やす必要があるDNS 更新を有効にする手順の 手順 5 を参照する |