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

第 12 章 DHCP の障害追跡

この章では、DHCP サーバーまたはクライアントを設定する際に検出される問題や、設定完了後 DHCP を使用する際の問題を解決する手助けとなる情報について説明します。

この章では、次の情報について説明します。

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 サーバーにあるネットワークテーブルを調べ、必要に応じて訂正する

DHCP クライアント設定の障害追跡

DHCP クライアントで発生する可能性がある問題は、一般的に次のカテゴリに分類されます。

DHCP サーバーとの通信の問題

この節では、ネットワークに DHCP クライアントを追加する際に発生する可能性がある問題について説明します。

クライアントソフトウェアを使用可能にして、マシンを再起動すると、クライアントは DHCP サーバーに通信してそのネットワークの設定を取得しようとします。クライアントがサーバーと通信できない場合は、次のようなメッセージが表示されます。


DHCP or BOOTP server not responding 

問題を判定するには、クライアントとサーバーの両方から診断情報を収集して、その結果を分析する必要があります。情報を収集するために、次のことができます。

  1. クライアントをデバッグモードで実行する

  2. サーバーをデバッグモードで実行する

  3. snoop を起動してネットワークのトラフィックを監視する

これらの方法を個別に、または同時に実行できます。

収集した情報を使用して、問題がクライアント側にあるのかサーバーマシン側にあるのか、あるいはリレーエージェントにあるのかを判定し、解決法を見つけることができます。

DHCP クライアントをデバッグモードで実行する方法

Solaris DHCP クライアント以外のクライアントを実行している場合は、クライアントのデバッグモードでの実行については、そのクライアント用のマニュアルを参照してください。

Solaris DHCP クライアントを実行している場合は、次の手順に従います。

  1. クライアントシステムでスーパーユーザーになります。

  2. DHCP クライアントデーモンを終了し、次のコマンドを使用してそのデーモンをデバッグモードで再起動します。


    # pkill -x dhcpagent
    # /sbin/dhcpagent -d1 -f &
    # ifconfig interface dhcp start
    

デバッグモードで実行すると、クライアントデーモンは画面に DHCP の要求を実行中であるというメッセージを表示します。クライアントデバッグ出力については、「DHCP クライアントデバッグ出力」を参照してください。

DHCP サーバーをデバッグモードで実行する方法
  1. サーバーシステム上でスーパーユーザーになります。

  2. DHCP サーバーデーモンを終了し、次のコマンドを使用してそのデーモンをデバッグモードで再起動します。


    # pkill -x in.dhcpd
    # /usr/lib/inet/in.dhcpd -d -v 
    

    また、デーモンを実行する際に通常使用する in.dhcpd コマンド行オプションも使用する必要があります。たとえば、デーモンを BOOTP リレーエージェントとして実行する場合は、in.dhcpd -d -v コマンドに -r オプションを付けます。

    デバッグモードで実行すると、デーモンによって画面に DHCP や BOOTP の要求を処理しているというメッセージが表示されます。サーバーデバッグ出力については、「DHCP サーバーデバッグ出力」を参照してください。

snoop を使用して DHCP ネットワークトラフィックを監視する方法
  1. DHCP サーバーシステムでスーパーユーザーになります。

  2. 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 はインタフェースを監視し続けることに注意してください。

  3. クライアントシステムを起動するか、クライアントシステムで dhcpagent を再起動します。

    クライアントの再起動については、「DHCP クライアントをデバッグモードで実行する方法」で説明されています。

  4. サーバーシステムで 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 出力」を参照してください。

DHCP クライアントデバッグ出力

例 12-1 では、DHCP クライアントが DHCP 要求を送信し、DHCP サーバーから設定情報を受信した場合の通常のデバッグ出力を示しています。


例 12-1 通常の 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 サーバーと通信できない場合は、例 12-2 のようなデバッグ出力が表示されます。


例 12-2 クライアントがサーバーの回答を受信しない場合の DHCP クライアントデバッグ出力


/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 を実行して、クライアントからのパケットがサーバーに届いたかどうかを判定します。

DHCP サーバーデバッグ出力

通常のサーバーデバッグ出力は、デーモンが起動したときに、サーバーの設定情報とそれに続く、各ネットワークインタフェースの情報を表示します。そのあと、デバッグ出力は、デーモンが処理した要求の情報を表示します。次の例では、DHCP サーバーと BOOTP リレーエージェントに関する出力の例を示しています。例 12-3 は DHCP サーバーに関するデバッグ出力を示します。このサーバーは起動直後で、応答しない別の DHCP サーバーが所有するアドレスを使用するクライアントのリースを拡張します。


例 12-3 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

例 12-4 は、BOOTP リレーエージェントとして起動し、クライアントから DHCP サーバーへ要求をリレーし、サーバーの回答をクライアントにリレーする DHCP デーモンからのデバッグ出力を示します。


例 12-4 BOOTP リレーに関するデバッグ出力の例


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

問題がある場合は、このデバッグ出力が警告またはエラーメッセージを表示します。表 12-4 を使用してエラーメッセージまたは条件を検索し、解決法を見つけてください。

表 12-4 DHCP サーバーのエラーメッセージ

メッセージ 

説明 

解決法 

ICMP ECHO reply to OFFER candidate: ip_address disabling

DHCP サーバーは、クライアントに IP アドレスを提供する前に、アドレスを ping してそのアドレスが使用されていないことを確認する。クライアントが回答する場合、そのアドレスは使用されている

設定するアドレスが使用されていないことを確認する 

No more IP addresses on network_address network.

ネットワークテーブルごとのクライアントのアドレスの中に利用可能な IP アドレスがない 

DHCP Manager または pntadm を使用して IP アドレスを追加割当する。DHCP デーモンが複数のサブネットを監視している場合は、追加のアドレスが必ずクライアントが割り当てられているサブネット用であること

No more IP addresses for network_address network BOOTP 互換モードで DHCP デーモンを実行時 (-b オプション)

BOOTP はリース期間を使用しないので、DHCP サーバーは、BOOTP クライアントに割り当てるために設定された BOOTP フラグを持つ空きアドレスを検索する 

DHCP Manager を使用して、BOOTP アドレスを割り当てる 

Request to access nonexistent per network database: database_name in datastore: datastore.

DHCP サーバーの設定中に、サブネット用の DHCP ネットワークテーブルが作成されなかった 

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

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

DHCP サーバーの設定中に、サブネット用の DHCP ネットワークテーブルが作成されなかった 

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

Client using non_RFC1048 BOOTP cookie.

ネットワーク上のデバイスが、BOOTP のサポートされていない実装にアクセスしようとした 

このデバイスを設定する必要がない場合は、このメッセージを無視する 

Client client_id is trying to verify unrecorded address ip_address, ignored.

クライアント上の /etc/dhcp/interface.dhc ファイルにある IP アドレスとクライアント ID が、DHCP サーバーで確認された DHCP ネットワークデータベースにある IP アドレスやクライアント ID と一致しない

この状態は、ローカルファイルを DHCP データ保存方法として使用し、情報を共有しない複数の DHCP サーバーを持っているか、DHCP ネットワークテーブルを変更した場合に発生する 

次のコマンドを入力して、クライアントの DHCP プロトコルを再起動する 

ifconfig interface dhcp release

ifconfig interface dhcp start

DHCP snoop 出力

snoop 出力に、DHCP クライアントマシンと DHCP サーバーマシンの間でパケットが交換されていることが表示されます。各マシンの IP アドレスと、中間のリレーエージェントやルーターがパケットごとに表示されます。パケットの交換が表示されない場合は、クライアントマシンがサーバーマシンとまったく通信できていない場合がありますが、これは下位の問題です。一般的な障害追跡の方法については、「一般的な障害追跡方法」を参照してください。

snoop 出力を評価するためには、要求が BOOTP リレーエージェントを通して送受信される必要があるなど、期待される動作の内容を理解しておく必要があります。また、関連するシステムの MAC アドレスや IP アドレス、システムが複数の場合はネットワークインタフェースについても把握し、それらの値が期待されるものであることを判定できるようにしておく必要があります。例 12-5 では、blue-servr2 上にある DHCP サーバーから、MAC アドレスが 8:0:20:8e:f3:7e で、割り当てられた IP アドレスが 192.168.252.6、ホスト名が white-6 のクライアントに送信された DHCP 確認メッセージに関する通常の snoop 出力を示します。標準ネットワークオプションのいくつかと複数のベンダー固有のオプションも、クライアントに送信されます。


例 12-5 1 つのパケットに関する snoop 出力の例


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) = 192.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 = 192.168.252.1 
DHCP: Broadcast Address = 192.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/base.s          
432: 3238 735f 776f 732f 6c61 7465 7374 2f53    28s_nxt/latest/S          
448: 6f6c 6172 6973 5f38 2f54 6f6f 6c73 2f42    olaris_8/Tools/B          
464: 6f6f 740c 202f 6578 706f 7274 2f73 3238    oot. /export/s28          
480: 2f62 6173 652e 7332 3873 5f77 6f73 2f6c    /base.s28s_nxt/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 設定情報に伴う問題

DHCP が受信したネットワーク設定情報の中に、誤った NIS ドメイン名や不正確なルーター IP アドレスのように不正確な情報がある場合は、このクライアントの DHCP サーバーが処理したマクロの中のオプションの値を調べる必要があります。

次の一般的なガイドラインを使用して、不正確な情報がクライアントに伝えられた場所を判定してください。