内容

概要

前提条件

要件

使用するコンポーネント

表記法

背景説明

主要概念

シナリオ例

DHCPについて

現在の DHCP RFC 参照

DHCP メッセージ テーブル

DHCPDISCOVER

DHCPOFFER

DHCPREQUEST

DHCPACK

DHCPNAK

DHCPDECLINE

DHCPINFORM

DHCPRELEASE

リースの更新

DHCPパケットテーブル

クライアントとDHCPサーバが同じサブネット上にある場合にDHCPアドレスを取得するクライアントとサーバのカンバセーション

DHCP/BootP リレー エージェントの役割

Cisco IOS®ルータでのDHCP/BootPリレーエージェント機能の設定

手動バインディングの設定

セカンダリ IP セグメントで DHCP を機能させる方法

DHCP リレー機能を使用した DHCP クライアント/サーバ間メッセージ交換

DHCPクライアントがIPアドレスを取得するためのプロセス

Pre-Execution Environment(PXE)ブートアップDHCPの考慮事項

スニファトレースを使用したDHCPの理解とトラブルシューティング

同じLANセグメント上のDHCPクライアントとサーバのスニファトレースのデコード

DHCPクライアントとサーバが同じLANセグメント上にあるネットワークトポロジ

DHCPリレーエージェントとして設定されているルータによって分離されたDHCPクライアントとサーバのスニファトレースのデコード

スニファ B トレース

スニファ A トレース

クライアントワークステーションがDHCPアドレスを取得できない場合のDHCPのトラブルシューティング

事例 1：DHCP サーバと DHCP クライアントが同じ LAN セグメントまたは VLAN に位置する場合

事例 2：DHCP/BootP リレー エージェントとして機能するように設定されたルータによって DHCP サーバと DHCP クライアントが分離されている場合

POOL EXHAUSTED エラーにより、ルータ上の DHCP サーバがアドレスの割り当てに失敗する

DHCPトラブルシューティングモジュール

DHCPの問題が発生する可能性のある場所の理解

考えられる DHCP 問題の原因のショート リスト

A.物理接続の確認

C. 起動時における問題の確認

D. スイッチ ポートの設定の確認（STP PortFast とその他のコマンド）

E. NIC カードまたは Catalyst スイッチに関する既知の問題のチェック

F. DHCPクライアントがDHCPサーバと同じサブネットまたはVLANでIPアドレスを取得するかどうかを判別する

G. ルータの DHCP/BootP リレー設定の確認

H. 加入者識別（82）オプションがオン

I. DHCP データベース エージェントと DHCP 競合のロギング

J. IP Phone 接続の CDP を調べる

K. SVIの削除によるDHCPスヌーピング動作の中断

L.制限付きブロードキャストアドレス

M. Debugコマンドを使用したDHCPのデバッグ

出力例

出力例

付録 A:Cisco IOS DHCPの設定例

関連情報

概要

このドキュメントでは、Cisco CatalystスイッチネットワークでDynamic Host Configuration Protocol(DHCP)に関するいくつかの一般的な問題をトラブルシューティングする方法について説明します。

前提条件

要件

このドキュメントに関しては個別の前提条件はありません。

使用するコンポーネント

このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

注：内部バグレポートにアクセスできるのは、登録されているCiscoクライアントだけです。

背景説明

DHCP には、Transmission Control Protocol/Internet Protocol（TCP/IP）を使用するコンピュータがネットワークから自動的にプロトコル設定パラメータを取得できるようにするためのメカニズムがあります。DHCP は、Internet Engineering Task Force（IETF; インターネット技術特別調査委員会）の Dynamic Host Configuration-Working Group（DHC-WG）によって策定されたオープン スタンダードです。

DHCP はクライアント/サーバ パラダイムに基づいており、DHCP クライアント（たとえば、デスクトップ コンピュータなど）は DHCP サーバと通信して設定パラメータを取得します。DHCP サーバは一般に中央に位置し、ネットワーク管理者によって操作されます。サーバはネットワーク管理者によって実行されるため、DHCP クライアントを現在のネットワーク アーキテクチャに適切なパラメータを使用して確実かつ動的に設定することができます。

ほとんどの場合、エンタープライズ ネットワークを構成する複数のサブネットは、仮想 LAN（VLAN）と呼ばれるサブネットワークに分割されます。この場合、ルータがこれらのサブネットワーク間でルーティングを行います。ルータはデフォルトではブロードキャストを渡さないため、DHCPリレーエージェント機能を使用してDHCPブロードキャストを転送するようにルータが設定されていない限り、各サブネット上にDHCPサーバが必要です。

主要概念

DHCP の主要な概念は以下のとおりです。

- DHCPクライアントは最初はIPアドレスが設定されていないため、DHCPサーバからIPアドレスを取得するためにブロードキャスト要求を送信する必要があります。

- ルータは、デフォルトではブロードキャストを転送しません。DHCP サーバが別のブロードキャスト ドメイン（レイヤ 3（L3）ネットワーク）上に位置する場合は、クライアントの DHCP ブロードキャスト要求に対処する必要があります。 その方法としては、DHCP リレー エージェントを使用します。

- Cisco ルータで DHCP リレーを実装するには、インターフェイス レベルの ip helper コマンドを使用します。

シナリオ例

シナリオ 1：DHCPクライアントとサーバネットワーク間のCiscoルータのルーティング

次の図に示すように設定すると、インターフェイスEthernet1は、クライアントがブロードキャストしたDHCPDISCOVERをインターフェイスEthernet1経由で192.168.2.2に転送します。DHCPサーバは、ユニキャストで要求を満たします。この例では、ルータに必要になる他の設定はありません。

DHCPクライアントとサーバネットワーク間のルーティング

シナリオ 2：L3モジュールを搭載したCisco CatalystスイッチによるDHCPクライアントとサーバネットワーク間のルーティング

図で設定されているように、インターフェイスVLAN20は、クライアントがブロードキャストしたDHCPDISCOVERを、インターフェイスVLAN10を介して192.168.2.2に転送します。DHCPサーバは、ユニキャストを介して要求を満たします。この例では、ルータに必要になる他の設定はありません。スイッチ ポートをホスト ポートとして設定し、Spanning-Tree Protocol（STP）PortFast を有効にして、トランキングとチャネリングは無効にする必要があります。

DHCPクライアントとサーバネットワーク間のL3モジュールルート

DHCPについて

DHCPは当初Requests for Comments(RFC)1531で定義され、その後RFC 2131に置き換えられました。DHCPは、RFC 951で定義されているBootstrap Protocol（BootP；ブートストラッププロトコル）に基づいています。

ワークステーション（ホスト）は起動時に、DHCP を使用して初期設定情報（IP アドレス、サブネット マスク、デフォルト ゲートウェイなど）を取得します。DHCPでは、各ホストにIPアドレスを手動で設定する必要はありません。また、ホストが別の IP サブネットに移動した場合、そのホストは前に使用していた IP アドレスとは異なる IP アドレスを使用しなければなりません。DHCP はこの要件に自動的に対処し、ホストが正しい IP サブネット内の IP アドレスを選択できるようにします。

現在の DHCP RFC 参照

- RFC 2131 - DHCP

- RFC 2132 - DHCP Options and BootP Vendor Extensions

- RFC 1534 - Interoperation between DHCP and BootP

- RFC 1542 - Clarifications and Extensions for the BootP

- RFC 2241 - DHCP Options for Novell Directory Services

- RFC 2242 - Netware/IP Domain Name and Information

- RFC 2489 - Procedure for Defining New DHCP Options

DHCP で使用するクライアント/サーバ モデルでは、1 つ以上のサーバ（DHCP サーバ）がクライアント（ホスト）の起動時に IP アドレスとその他の設定パラメータをクライアントに割り当てます。これらの設定パラメータは、指定された期間、サーバからクライアントにリースされるものです。ホストが起動すると、ホストに含まれる TCP/IP スタックは、IP アドレスやサブネット マスクをはじめとする設定パラメータを取得するためにブロードキャスト（DHCPDISCOVER）メッセージを送信します。これにより、DHCP サーバとホスト間のメッセージ交換が開始されます。この交換の間、クライアントは次の明確に定義された状態を通過します。

1. Initializing（初期化中）

2. Selecting（選択中）

3. Requesting（要求中）

4. Bound（バインディング済み）

5. Renewing（リニューアル中）

6. Rebinding（再バインディング中）

これらの状態間を移動するために、クライアントとサーバはDHCPメッセージテーブルにリストされているメッセージタイプを交換できます。

DHCP メッセージ テーブル

参考

メッセージ

説明

0x01

DHCPDISCOVER

クライアントは使用可能なDHCPサーバを探します。

0x02

DHCPOFFER

クライアントの DHCPDISCOVER に対するサーバの応答。

0x03

DHCPREQUEST

クライアントはサーバにブロードキャストを行い、パケットに定義されているように、1台のサーバから提供されたパラメータを要求します。

0x04

DHCPDECLINE

クライアントとサーバ間の通信は、ネットワークアドレスがすでに使用されていることを示します。

0x05

DHCPACK

サーバとクライアント間の通信は、設定パラメータと専用ネットワークアドレスを使用して行われます。

0x06

DHCPNAK

サーバとクライアント間の通信は、設定パラメータの要求を拒否します。

0x07

DHCPRELEASE

クライアントとサーバ間の通信では、ネットワークアドレスが変換され、残りのリースがキャンセルされます。

0x08

DHCPINFORM

クライアントとサーバ間の通信では、クライアントがすでにアドレスとして外部設定しているローカル設定パラメータだけが要求されます。

DHCPDISCOVER

クライアントは初回起動時に、Initializing 状態になり、物理サブネット上で User Datagram Protocol（UDP）ポート 67（BootP サーバ）から DHCPDISCOVER メッセージを送信します。 クライアントは自身が属するサブネットを知る方法がないため、DHCPDISCOVERは、送信元IPアドレス0.0.0.0を使用する、すべてのサブネットをブロードキャストしたIPアドレス（宛先IPアドレス255.255.255.255）になります。クライアントにはIPアドレスが設定されていないため、送信元IPアドレスは0.0.0.0です。DHCPサーバがこのローカルサブネット上に存在し、正しく設定および動作している場合、DHCPサーバはブロードキャストを受信し、DHCPOFFERメッセージで応答します。ローカル サブネット上に DHCP サーバがなければ、DHCP サーバが位置するローカル サブネット上に DHCP/BootP リレー エージェントが存在し、このリレー エージェントによって DHCPDISCOVER メッセージが転送されるようになっていなければなりません。

このリレーエージェントは、専用ホスト（Microsoft Windows Serverなど）またはルータ（インターフェイスレベルのIPヘルパーステートメントで設定されたCiscoルータなど）のいずれかになります。

DHCPOFFER

DHCPDISCOVERメッセージを受信したDHCPサーバは、UDPポート68（BootPクライアント）でDHCPOFFERメッセージで応答できます。 クライアントが DHCPOFFER を受信すると、その状態は Selecting に遷移します。この DHCPOFFER メッセージには、クライアントの初期設定情報が含まれています。たとえば、DHCPサーバは、要求されたIPアドレスをDHCPOFFERメッセージのyiaddrフィールドに入力します。サブネット マスクとデフォルト ゲートウェイは、サブネット マスクとルータのそれぞれの options フィールドに指定されます。DHCPOFFER メッセージに含まれるその他の一般的なオプションには、IP アドレス リース時間、リニューアル時間、ドメイン ネーム サーバ、NetBIOS ネーム サーバ（WINS）などがあります。 DHCPサーバはDHCPOFFERをブロードキャストアドレスに送信しますが、オファーのchaddrフィールドにクライアントハードウェアアドレスが含まれるため、クライアントはそのアドレスが意図した宛先であることを認識します。DHCPサーバがローカルサブネット上にない場合、DHCPサーバはDHCPDISCOVERの送信元であるDHCP/BootPリレーエージェントにDHCPOFFERをユニキャストパケットとしてUDPポート67で返信します。次に、DHCP/BootPリレーエージェントは、UDPポート68のローカルサブネットでDHCPOFFERをブロードキャストまたはユニキャストします。これは、Bootpクライアントによって設定されるブロードキャストフラグによって決まります。

DHCPREQUEST

クライアントはDHCPOFFERを受信すると、DHCPREQUESTメッセージで応答し、DHCPOFFERのパラメータを受け入れる意図を示し、Requesting状態に移行します。クライアントは、元のDHCPDISCOVERメッセージを受信した各DHCPサーバから1つずつ、複数のDHCPOFFERメッセージを受信できます。クライアントは1つのDHCPOFFERを選択し、そのDHCPサーバのみに応答し、他のすべてのDHCPOFFERメッセージを暗黙的に拒否します。クライアントは、[Server Identifier]オプションフィールドにDHCPサーバのIPアドレスを入力した後、選択したサーバを識別します。DHCPREQUESTもブロードキャストであるため、DHCPOFFERを送信したすべてのDHCPサーバはDHCPREQUESTを参照し、それぞれのDHCPOFFERが受け入れられたか拒否されたかを認識します。クライアントが必要とする追加の設定オプションは、DHCPREQUESTメッセージのオプションフィールドに含まれます。クライアントはIPアドレスをオファーされていますが、送信元IPアドレス0.0.0.0を使用してDHCPREQUESTメッセージを送信します。この時点では、クライアントはIPアドレスの使用が明確であるという確認をまだ受け取っていません。

DHCPACK

DHCPサーバはDHCPREQUESTを受信すると、DHCPACKメッセージで要求を確認応答し、初期化プロセスを完了します。DHCPACK メッセージには送信元アドレスとして DHCP サーバの IP アドレスが設定されますが、この場合も宛先アドレスとしてはブロードキャスト アドレスが設定されます。このメッセージには、クライアントが DHCPREQUEST メッセージで要求したすべてのパラメータが含まれます。クライアントが DHCPACK を受信すると、その状態は Bound に遷移します。これで、クライアントはその IP アドレスを自由に使用してネットワーク上で通信できるようになります。一方、DHCPサーバはリースをデータベースに保存し、クライアントIDまたはchaddr、および関連付けられたIPアドレスでリースを一意に識別します。クライアントとサーバの両方が、このIDの組み合わせを使用してリースを参照します。クライアント ID は、デバイスの MAC アドレスとメディア タイプを組み合わせたものです。

DHCPクライアントは、新しいアドレスの使用を開始する前に、リースされたアドレスに関連する時間パラメータ(リース時間(LT)、更新時間(T1)、再バインド時間(T2))を計算する必要があります。 通常、LT はデフォルトで 72 時間に設定されます。必要に応じて、アドレスを保持するリース時間をこれよりも短くすることができます。

DHCPNAK

選択したサーバがDHCPREQUESTメッセージを満たすことができない場合、DHCPサーバはDHCPNAKメッセージで応答します。クライアントがDHCPNAKメッセージを受信するか、DHCPREQUESTメッセージへの応答を受信しない場合、クライアントはRequesting状態になると設定プロセスを再起動します。クライアントは60秒以内に少なくとも4回DHCPREQUESTを再送信してから、Initializing状態を再開します。

DHCPDECLINE

クライアントはDHCPACKを受信し、オプションでパラメータの最終チェックを実行します。クライアントは、DHCPACKで提供されるIPアドレスのAddress Resolution Protocol（ARP；アドレス解決プロトコル）要求を送信する際に、この手順を実行します。ARP要求に対する応答を受信したクライアントは、そのアドレスがすでに使用中であることを検出すると、DHCPDECLINEメッセージをサーバに送信し、設定プロセスをRequesting状態で再開します。

DHCPINFORM

クライアントが他の手段でネットワークアドレスを取得した場合、またはIPアドレスが手動で設定された場合、クライアントワークステーションはDHCPINFORM要求メッセージを使用して、ドメイン名やドメインネームサーバ(DNS)などのその他のローカル設定パラメータを取得できます。 DHCPサーバがDHCPINFORMメッセージを受信すると、新しいIPアドレスを使用せずに、クライアントに適したローカル設定パラメータを使用してDHCPACKメッセージを作成します。このDHCPACKはユニキャストでクライアントに送信されます。

DHCPRELEASE

DHCPクライアントは、DHCPRELEASEメッセージをDHCPサーバに送信するときに、ネットワークアドレスのリースを放棄できます。クライアントは、DHCPRELEASEメッセージのクライアントIDフィールドとネットワークアドレスを使用して、リリースするリースを識別します。現在のDHCPプール範囲を拡張する必要がある場合は、現在のアドレスプールを削除し、DHCPプールの下で新しいIPアドレス範囲を指定します。DHCP プールから特定の IP アドレスまたはアドレス範囲を除外するには、ip dhcp excluded-address コマンドを使用します。

注：デバイスが BOOTP を使用している場合、ルータの DHCP バインディングには無期限のリースが表示されます。

リースの更新

IP アドレスはサーバからのみリースされるため、時折リースのリニューアルが必要になってきます。リース時間の半分が経過すると(T1=0.5 x LT)、クライアントはリースの更新を試みます。クライアントは Renewing 状態に遷移し、現在のリース元のサーバに DHCPREQUEST メッセージを送信します。サーバは、リースの更新に同意すると、更新要求にDHCPACKメッセージで応答します。DHCPACKメッセージには、前のリース期間中にサーバに変更が加えられた場合に備えて、新しいリースと新しい設定パラメータが含まれています。何らかの理由でリースを保持しているときにクライアントがサーバに到達できない場合は、時間T2内に元のDHCPサーバが更新要求に応答しなかった後に、任意のDHCPサーバからアドレスの更新を試みます。T2のデフォルト値は( 7/8 x LT)です。 つまり、T1 < T2< LT となります。

クライアントに以前にDHCPによってIPアドレスが割り当てられていた場合、クライアントはDHCPREQUESTパケットで以前にリースされたIPアドレスを具体的に要求します。このDHCPREQUESTには、送信元IPアドレスとして0.0.0.0、宛先としてIPブロードキャストアドレス255.255.255.255が残っています。

クライアントがリブート中にDHCPREQUESTを送信する場合は、サーバIDフィールドに入力するのではなく、要求されたIPアドレスオプションフィールドに入力する必要があります。RFC準拠のクライアントだけが、DHCPオプションフィールドの代わりに、要求されたアドレスをciaddrフィールドに入力します。DHCPサーバはどちらの方法も受け入れます。DHCPサーバの動作は、多数の要因に依存します。たとえば、Windows NT DHCPサーバの場合は、使用されているシステムのバージョンや、スーパースコープなどの他の要因が関係します。クライアントが要求されたIPアドレスを引き続き使用できるとDHCPサーバが判断した場合、DHCPサーバはサイレントのままにするか、DHCPREQUESTのDHCPACKを送信します。クライアントが要求されたIPアドレスを使用できないとサーバが判断した場合は、クライアントにDHCPNACKを返信します。その後、クライアントはInitializing状態に移行し、DHCPDISCOVERメッセージを送信します。

注：DHCP サーバは、IP アドレス プールの最下位の IP アドレスを DHCP クライアントに割り当てます。最下位のアドレスのリースが満了すると、そのアドレスは要求に応じて別のクライアントに割り当てられます。DHCP アドレスの割り当て順序を変更することはできません。

DHCPパケットテーブル

DHCPメッセージは可変長で、DHCPパケットテーブルにリストされたフィールドで構成されます。

注：DHCP パケットは、オリジナルの BootP パケットを修正したバージョンです。

フィールド

バイト数

[名前(Name)]

説明

op

1

OpCode

パケットを要求または応答として識別します。1=BOOTREQUEST、2=BOOTREPLY

htype

1

ハードウェア タイプ

ネットワーク ハードウェア アドレスのタイプを指定します。

hlen

1

ハードウェア長

ハードウェア アドレスの長さを指定します。

ホップ

1

ホップ数

クライアントが値をゼロに設定します。要求がルータ経由で転送されると、値が増分します。

xid

4

トランザクション ID

クライアントによって選択される乱数。所定の DHCP トランザクションで交換されるすべての DHCP メッセージは、この ID（xid）を使用します。

secs

0

秒数

DHCP プロセス開始から経過した秒数を指定します。

flags

0

フラグ

メッセージがブロードキャストかユニキャストかを示します。

ciaddr

4

クライアントのIPアドレス

クライアントが自身の IP アドレスを既知である場合にのみ使用されます（Bound、Renewing、または Rebinding 状態の場合）。

yiaddr

4

提示する IP アドレス

クライアントIPアドレスが0.0.0.0の場合、DHCPサーバは提供されたクライアントIPアドレスをこのフィールドに設定します。

siaddr

4

サーバ IP アドレス

クライアントがDHCPサーバのIPアドレスを認識している場合、このフィールドにはDHCPサーバのアドレスが入力されます。そうでない場合、DHCP サーバからの DHCPOFFER と DHCPACK で使用されます。

giaddr

4

ルータ IP アドレス（GI ADDR）

DHCP/BootP リレー エージェントによって入力されるゲートウェイ IP アドレス。

chaddr

16

クライアントの MAC アドレス

DHCP クライアントの MAC アドレス。

sname

64

サーバ名

オプションのサーバ ホスト名。

ファイル

128

ブートファイル名

ブート ファイルの名前。

options

可変

オプション パラメータ

DHCP サーバが指定できるオプションのパラメータ。RFC 2132 で、使用可能なすべてのオプションが指定されています。

クライアントとDHCPサーバが同じサブネット上にある場合にDHCPアドレスを取得するクライアントとサーバのカンバセーション

パケットの説明

送信元 MAC アドレス

宛先 MAC アドレス

送信元 IP アドレス

宛先 IP アドレス

DHCPDISCOVER

クライアント

ブロードキャスト

0.0.0.0

255.255.255.255

DHCPOFFER

DHCPServer

ブロードキャスト

DHCPServer

255.255.255.255

DHCPREQUEST

クライアント

ブロードキャスト

0.0.0.0

255.255.255.255

DHCPACK

DHCPServer

ブロードキャスト

DHCPServer

255.255.255.255

DHCP/BootP リレー エージェントの役割

デフォルトでは、ルータはブロードキャストパケットを転送しません。DHCPクライアントメッセージは宛先IPアドレス255.255.255.255（すべてのネットブロードキャスト）を使用するため、DHCPクライアントは、ルータでDHCP/BootPリレーエージェントが設定されていない限り、異なるサブネット上のDHCPサーバに要求を送信できません。DHCP/BootPリレーエージェントは、DHCPクライアントの代わりにDHCP要求をDHCPサーバに転送します。DHCP/BootPリレーエージェントは、DHCPサーバに送信されるDHCPフレームの送信元IPアドレスに自身のIPアドレスを付加します。これにより、DHCP サーバはユニキャストを使用して DHCP/BootP リレー エージェントに応答することが可能になります。また、DHCP/BootPリレーエージェントは、クライアントからDHCPメッセージを受信したインターフェイスのIPアドレスをゲートウェイIPアドレスフィールドに入力します。DHCP サーバはこのゲートウェイ IP アドレス フィールドに基づいて、DHCPDISCOVER、DHCPREQUEST、または DHCPINFORM メッセージの発信元サブネットを判断します。

Cisco IOS®ルータでのDHCP/BootPリレーエージェント機能の設定

BootPまたはDHCP要求を転送するようにCiscoルータを設定するプロセスは簡単です。DHCP/BootPサーバまたはサーバが存在するネットワークのサブネットブロードキャストアドレスを指すIPヘルパーアドレスを設定するだけです。

ネットワークの例：

DHCP/BootPリレーエージェント

クライアントからDHCPサーバにBootP/DHCP要求を転送するには、ip helper-address interface コマンドを使用します。IP ヘルパー アドレスは、UDP ポート番号に基づいて、すべての UDP ブロードキャストを転送するように設定できます。デフォルトでは、IPヘルパーアドレスはこれらのUDPブロードキャストを転送します。

- Trivial File Transfer Protocol（TFTP）（ポート 69）

- DNS（ポート 53）、タイム サービス（ポート 37）

- NetBIOS ネーム サーバ（ポート 137）

- NetBIOS データグラム サーバ（ポート 138）

- ブート プロトコル（DHCP/BootP）クライアントおよびサーバ データグラム（ポート 67 および 68）

- Terminal Access Control Access Control System（TACACS）サービス（ポート 49）

- IEN-116 ネーム サービス（ポート 42）

IPヘルパーアドレスは、UDPブロードキャストをユニキャストIPアドレスまたはブロードキャストIPアドレスに転送できます。ただし、IPヘルパーアドレスを使用して、UDPブロードキャストをあるサブネットから別のサブネットのブロードキャストアドレスに転送しないでください。これは、大量のブロードキャストフラッディングが発生する可能性があるためです。1つのインターフェイスで複数のIPヘルパーアドレスエントリもサポートされています。

version 12.0

service timestamps debug uptime

service timestamps log uptime

no service password-encryption

!

hostname router

!

!

!

interface Ethernet0

ip address 192.168.2.1 255.255.255.0

no ip directed-broadcast

!

interface Ethernet1

ip address 192.168.1.1 255.255.255.0

ip helper-address 192.168.2.2

ip helper-address 192.168.2.3

!--- IP helper-address pointing to DHCP server

no ip directed-broadcast

!

!

!

line con 0

exec-timeout 0 0

transport input none

line aux 0

line vty 0 4

login

!

end

Cisco ルータでは、DHCP リレー エージェントとして設定された DHCP サーバ間でのロード バランシングをサポートしていません。Cisco ルータは DHCPDISCOVER メッセージを、該当するインターフェイスに対して指定されたすべてのヘルパー アドレスに転送します。1つのサブネットに複数のDHCPサーバを使用しても、DHCPクライアントとサーバの各ペア間でDHCPDISCOVER、DHCPOFFER、およびDHCPREQUEST/DHCPDECLINEメッセージが交換されるため、DHCPトラフィックが増加するだけです。

手動バインディングの設定

手動バインディングを設定するには、Windows ホストの場合の方法と、Windows 以外のホストの場合の方法の 2 つがあります。設定に使用するコマンドには、一方はMicrosoft DHCPクライアント用、他方はMicrosoft以外のDHCPクライアント用です。具体的には、DHCPclient-identifier （手動バインディング – Microsoft DHCPクライアント）およびDHCPhardware-address （手動バインディング – 非Microsoft DHCPクライアント）です。 2つの異なるコマンドの理由は、Windowsが稼働するPCがMACを変更し、アドレスの先頭に01が追加されるためです。以下に設定例を示します。

- これは、Microsoft DHCPクライアント用の設定です。

configure terminal

ip dhcp pool new_pool

host ip_address subnet_mask

client-identifier 01XXXXXXXXXXXX

!--- xxxxxx represents 48 bit MAC address prepended with 01

- これは、Microsoft以外のDHCPクライアントの設定です。

configure terminal

ip dhcp pool new_pool

host ip_address subnet_mask

hardware-address XXXXXXXXXXXX

!--- xxxxxx represents 48 bit MAC address

セカンダリ IP セグメントで DHCP を機能させる方法

デフォルトでは、プライマリ IP アドレスからの要求を受信した場合のみ、応答パケットが送信されるという点で、DHCP には制約があります。DHCP トラフィックはブロードキャスト アドレスを使用します。ルータ インターフェイスからの DHCP 要求が受信されると、（IP ヘルパー アドレスが設定されている場合）DHCP サーバが DHCP 応答パケットで（クライアント用に）使用する IP プールを判断できるように、その要求は、送信元インターフェイスに設定されているプライマリ IP を送信元アドレスとして持つ DHCP サーバに転送されます。

ルータには、DHCP ブロードキャスト要求がインターフェイスに設定されているセカンダリ IP ネットワーク上にあるデバイスから送信されているかどうかを判断する手段はありません。回避策としては、2 つのサブネットを分離するサブインターフェイスを設定して、その両方にそれぞれに対応する IP アドレスを適切に割り当てるという方法があります（ルータに接続されているデバイスが dot1q タギングをサポートすることが前提となります）。

セカンダリアドレスが優先される方法である場合は、別の回避策として、グローバルコンフィギュレーションコマンドdip dhcp smart-relayを有効にする方法があります。ただし、この方法には制約があり、連続して 3 回のプライマリ アドレス プールの要求に対して DHCP サーバからの応答がない場合、DHCP 要求を中継するにはセカンダリ IP しか使用できません。

DHCP リレー機能を使用した DHCP クライアント/サーバ間メッセージ交換

次の表は、DHCPクライアントがDHCPサーバからIPアドレスを取得するプロセスを示しています。この表は、前の「DHCP/BootPリレーエージェント機能の設定」ネットワークダイアグラムに基づいてモデル化されています。図の各数値は、次の表で説明するパケットを表しています。次の表を使用して、DHCPクライアント/サーバ間カンバセーションのパケットフローを理解します。また、問題が発生している場所を特定するのにも役立ちます。

DHCPクライアントがIPアドレスを取得するためのプロセス

パケット

クライアント IP アドレス

サーバ IP アドレス

GI アドレス

パケットの送信元 MAC アドレス

パケットの送信元 IP アドレス

パケットの宛先 MAC アドレス

パケットの宛先 IP アドレス

1. DHCPDISCOVERがクライアントから送信されます。

0.0.0.0

0.0.0.0

0.0.0.0

0005.DCC9.C640

0.0.0.0

ffff.ffff.fffff（ブロードキャスト）

255.255.255.255

2.ルータはE1インターフェイスでDHCPDISCOVERを受信します。ルータは、このパケットが DHCP UDP ブロードキャストであることを認識します。この時点で、ルータはDHCP/BootPリレーエージェントとして動作し、ゲートウェイIPアドレスフィールドに着信インターフェイスのIPアドレスを入力し、送信元IPアドレスを着信インターフェイスのIPアドレスに変更して、要求をDHCPサーバに直接転送します。

0.0.0.0

0.0.0.0

192.168.1.1

インターフェイス E2 の MAC アドレス

192.168.1.1

DHCP サーバの MAC アドレス

192.168.2.2

3. DHCPサーバがDHCPDISCOVERを受信し、DHCPリレーエージェントにDHCPOFFERを送信します。

192.168.1.2

192.168.2.2

192.168.1.1

DHCP サーバの MAC アドレス

192.168.2.2

インターフェイス E2 の MAC アドレス

192.168.1.1

4. DHCPリレーエージェントがDHCPOFFERを受信し、DHCPOFFERブロードキャストをローカルLANに転送します。

192.168.1.2

192.168.2.2

192.168.1.1

インターフェイス E1 の MAC アドレス

192.168.1.1

ffff.ffff.ffff（ブロードキャスト）

255.255.255.255

5.クライアントからDHCPREQUESTが送信されます。

0.0.0.0

0.0.0.0

0.0.0.0

0005.DCC9.C640

0.0.0.0

ffff.ffff.fffff（ブロードキャスト）

255.255.255.255

6.ルータはE1インターフェイスでDHCPREQUESTを受信します。ルータは、このパケットが DHCP UDP ブロードキャストであることを認識します。この時点で、ルータはDHCPリレーエージェントとして動作し、送信されたインターフェイスIPアドレスをゲートウェイIPアドレスフィールドに入力し、送信元IPアドレスを着信インターフェイスIPアドレスに変更し、要求をDHCPサーバに直接転送します。

0.0.0.0

0.0.0.0

192.168.1.1

インターフェイス E2 の MAC アドレス

192.168.1.1

DHCP サーバの MAC アドレス

192.168.2.2

7. DHCPサーバがDHCPREQUESTを受信し、DHCP/BootPリレーエージェントにDHCPACKを送信します。

192.168.1.2

192.168.2.2

192.168.1.1

DHCP サーバの MAC アドレス

192.168.2.2

インターフェイス E2 の MAC アドレス

192.168.1.1

8. DHCP/BootPリレーエージェントがDHCPACKを受信し、DHCPACKブロードキャストをローカルLANに転送します。クライアントはACKを受け入れ、クライアントのIPアドレスを使用します。

192.168.1.2

192.168.2.2

192.168.1.1

インターフェイス E1 の MAC アドレス

192.168.1.1

ffff.ffff.ffff（ブロードキャスト）

255.255.255.255

Pre-Execution Environment(PXE)ブートアップDHCPの考慮事項

Pre-Execution Environment(PXE)を使用すると、ローカルハードドライブ上のシステムを起動する前に、ネットワーク上のサーバからワークステーションを起動できます。この場合、ネットワーク管理者がその特定のワークステーションに物理的にアクセスして、手動で起動する必要はありません。診断プログラムなどのOSやその他のソフトウェアは、ネットワークを介してサーバからデバイスにロードできます。PXE環境では、DHCPを使用してIPアドレスを設定します。

DHCP サーバがネットワークの別のセグメントに位置している場合は、ルータ上に DHCP/BootP リレー エージェントが設定されている必要があります。ローカルルータインターフェイスでip helper-addressコマンドを設定する必要があります。設定情報については、このドキュメントの「Cisco IOSルータでのDHCP/BootPリレーエージェント機能の設定」セクションを参照してください。

スニファトレースを使用したDHCPの理解とトラブルシューティング

同じLANセグメント上のDHCPクライアントとサーバのスニファトレースのデコード

DHCPクライアントとサーバが同じLANセグメント上にあるネットワークトポロジ

スニファトレースの例は、6つのフレームで構成されています。次の6つのフレームは、DHCPクライアントとサーバが同じ物理セグメントまたは論理セグメントに存在するシナリオを示しています。次のコード例を使用して、DHCPのトラブルシューティングを行います。スニファトレースを、この例のトレースに一致させることが重要です。次の図に示すトレースと比べて若干の違いがありますが、一般的なパケットフローは完全に同じである必要があります。このパケット トレースは、前述の DHCP が動作する仕組みに従っています。

- - - - - - - - - - - - - - - - - - - - Frame 1 - DHCPDISCOVER - - - - - - - - - - - - - - - - - - - -

Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary

1[0.0.0.0] [255.255.255.255] 618 0:01:26.810 0.575.244 05/07/2001 11:52:03 AM DHCP: Request,

Message type: DHCP Discover

DLC: ----- DLC Header -----

DLC:

DLC: Frame 1arrived at 11:52:03.8106; frame size is 618 (026A hex) bytes.

DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast

DLC: Source = Station 0005DCC9C640

DLC: Ethertype = 0800 (IP)

DLC:

IP: ----- IP Header -----

IP:

IP: Version = 4, header length = 20 bytes

IP: Type of service = 00

IP: 000. .... = routine

IP: ...0 .... = normal delay

IP: .... 0... = normal throughput

IP: .... .0.. = normal reliability

IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit

IP: .... ...0 = CE bit - no congestion

IP: Total length = 604 bytes

IP: Identification = 9

IP: Flags = 0X

IP: .0.. .... = may fragment

IP: ..0. .... = last fragment

IP: Fragment offset = 0 bytes

IP: Time to live = 255 seconds/hops

IP: Protocol = 17 (UDP)

IP: Header checksum = B988 (correct)

IP: Source address = [0.0.0.0]

IP: Destination address = [255.255.255.255]

IP: No options

IP:

UDP: ----- UDP Header -----

UDP:

UDP: Source port = 68 (BootPc/DHCP)

UDP: Destination port = 67 (BootPs/DHCP)

UDP: Length = 584

UDP: No checksum

UDP: [576 byte(s) of data]

UDP:

DHCP: ----- DHCP Header -----

DHCP:

DHCP: Boot record type = 1 (Request)

DHCP: Hardware address type = 1 (10Mb Ethernet)

DHCP: Hardware address length = 6 bytes

DHCP:

DHCP: Hops = 0

DHCP: Transaction id = 00000882

DHCP: Elapsed boot time = 0 seconds

DHCP: Flags = 8000

DHCP: 1... .... .... .... = Broadcast IP datagrams

DHCP: Client self-assigned IP address = [0.0.0.0]

DHCP: Client IP address = [0.0.0.0]

DHCP: Next Server to use in bootstrap = [0.0.0.0]

DHCP: Relay Agent = [0.0.0.0]

DHCP: Client hardware address = 0005DCC9C640

DHCP:

DHCP: Host name = ""

DHCP: Boot file name = ""

DHCP:

DHCP: Vendor Information tag = 63825363

DHCP: Message Type = 1 (DHCP Discover)

DHCP: Maximum message size = 1152

DHCP: Client identifier = 00636973636F2D303030352E646363392E633634302D564C31

DHCP: Parameter Request List: 7 entries

DHCP: 1 = Client's subnet mask

DHCP: 66 = TFTP Option

DHCP: 6 = Domain name server

DHCP: 3 = Routers on the client's subnet

DHCP: 67 = Boot File Option

DHCP: 12 = Host name server

DHCP: 150 = Unknown Option

DHCP: Class identifier = 646F63736973312E30

DHCP: Option overload =3 (File and Sname fields hold options)

DHCP:

- - - - - - - - - - - - - - - - - - - - Frame 2 - DHCPOFFER - - - - - - - - - - - - - - - - - - - -

Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary

2[192.168.1.1] [255.255.255.255] 331 0:01:26.825 0.015.172 05/07/2001 11:52:03 AM DHCP: Reply,

Message type: DHCP Offer

DLC: ----- DLC Header -----

DLC:

DLC: Frame 2 arrived at 11:52:03.8258; frame size is 331 (014B hex) bytes.

DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast

DLC: Source = Station 0005DCC42484

DLC: Ethertype = 0800 (IP)

DLC:

IP: ----- IP Header -----

IP:

IP: Version = 4, header length = 20 bytes

IP: Type of service = 00

IP: 000. .... = routine

IP: ...0 .... = normal delay

IP: .... 0... = normal throughput

IP: .... .0.. = normal reliability

IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit

IP: .... ...0 = CE bit - no congestion

IP: Total length = 317 bytes

IP: Identification = 5

IP: Flags = 0X

IP: .0.. .... = may fragment

IP: ..0. .... = last fragment

IP: Fragment offset = 0 bytes

IP: Time to live = 255 seconds/hops

IP: Protocol = 17 (UDP)

IP: Header checksum = F901 (correct)

IP: Source address = [192.168.1.1]

IP: Destination address = [255.255.255.255]

IP: No options

IP:

UDP: ----- UDP Header -----

UDP:

UDP: Source port = 67 (BootPs/DHCP)

UDP: Destination port = 68 (BootPc/DHCP)

UDP: Length = 297

UDP: No checksum

UDP: [289 byte(s) of data]

UDP:

DHCP: ----- DHCP Header -----

DHCP:

DHCP: Boot record type = 2 (Reply)

DHCP: Hardware address type = 1 (10Mb Ethernet)

DHCP: Hardware address length = 6 bytes

DHCP:

DHCP: Hops = 0

DHCP: Transaction id = 00000882

DHCP: Elapsed boot time = 0 seconds

DHCP: Flags = 8000

DHCP: 1... .... .... .... = Broadcast IP datagrams

DHCP: Client self-assigned IP address = [0.0.0.0]

DHCP: Client IP address = [192.168.1.2]

DHCP: Next Server to use in bootstrap = [0.0.0.0]

DHCP: Relay Agent = [0.0.0.0]

DHCP: Client hardware address = 0005DCC9C640

DHCP:

DHCP: Host name = ""

DHCP: Boot file name = ""

DHCP:

DHCP: Vendor Information tag = 63825363

DHCP: Message Type = 2 (DHCP Offer)

DHCP: Server IP address = [192.168.1.1]

DHCP: Request IP address lease time = 85535 (seconds)

DHCP: Address Renewal interval = 42767 (seconds)

DHCP: Address Rebinding interval = 74843 (seconds)

DHCP: Subnet mask = [255.255.255.0]

DHCP: Domain Name Server address = [192.168.1.3]

DHCP: Domain Name Server address = [192.168.1.4]

DHCP: Gateway address = [192.168.1.1]

DHCP:

- - - - - - - - - - - - - - - - - - - - Frame 3 - DHCPREQUEST - - - - - - - - - - - - - - - - - - -

Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary

3[0.0.0.0] [255.255.255.255] 618 0:01:26.829 0.003.586 05/07/2001 11:52:03 AM DHCP: Request,

Message type: DHCP Request

DLC: ----- DLC Header -----

DLC:

DLC: Frame 56 arrived at 11:52:03.8294; frame size is 618 (026A hex) bytes.

DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast

DLC: Source = Station 0005DCC9C640

DLC: Ethertype = 0800 (IP)

DLC:

IP: ----- IP Header -----

IP:

IP: Version = 4, header length = 20 bytes

IP: Type of service = 00

IP: 000. .... = routine

IP: ...0 .... = normal delay

IP: .... 0... = normal throughput

IP: .... .0.. = normal reliability

IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit

IP: .... ...0 = CE bit - no congestion

IP: Total length = 604 bytes

IP: Identification = 10

IP: Flags = 0X

IP: .0.. .... = may fragment

IP: ..0. .... = last fragment

IP: Fragment offset = 0 bytes

IP: Time to live = 255 seconds/hops

IP: Protocol = 17 (UDP)

IP: Header checksum = B987 (correct)

IP: Source address = [0.0.0.0]

IP: Destination address = [255.255.255.255]

IP: No options

IP:

UDP: ----- UDP Header -----

UDP:

UDP: Source port = 68 (BootPc/DHCP)

UDP: Destination port = 67 (BootPs/DHCP)

UDP: Length = 584

UDP: No checksum

UDP: [576 byte(s) of data]

UDP:

DHCP: ----- DHCP Header -----

DHCP:

DHCP: Boot record type = 1 (Request)

DHCP: Hardware address type = 1 (10Mb Ethernet)

DHCP: Hardware address length = 6 bytes

DHCP:

DHCP: Hops = 0

DHCP: Transaction id = 00000882

DHCP: Elapsed boot time = 0 seconds

DHCP: Flags = 8000

DHCP: 1... .... .... .... = Broadcast IP datagrams

DHCP: Client self-assigned IP address = [0.0.0.0]

DHCP: Client IP address = [0.0.0.0]

DHCP: Next Server to use in bootstrap = [0.0.0.0]

DHCP: Relay Agent = [0.0.0.0]

DHCP: Client hardware address = 0005DCC9C640

DHCP:

DHCP: Host name = ""

DHCP: Boot file name = ""

DHCP:

DHCP: Vendor Information tag = 63825363

DHCP: Message Type = 3 (DHCP Request)

DHCP: Maximum message size = 1152

DHCP: Client identifier = 00636973636F2D303030352E646363392E633634302D564C31

DHCP: Server IP address = [192.168.1.1]

DHCP: Request specific IP address = [192.168.1.2]

DHCP: Request IP address lease time = 85535 (seconds)

DHCP: Parameter Request List: 7 entries

DHCP: 1 = Client's subnet mask

DHCP: 66 = TFTP Option

DHCP: 6 = Domain name server

DHCP: 3 = Routers on the client's subnet

DHCP: 67 = Boot File Option

DHCP: 12 = Host name server

DHCP: 150 = Unknown Option

DHCP: Class identifier = 646F63736973312E30

DHCP: Option overload =3 (File and Sname fields hold options)

DHCP:

- - - - - - - - - - - - - - - - - - - - Frame 4 - DHCPACK - - - - - - - - - - - - - - - - - - - -

Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary

4[192.168.1.1] [255.255.255.255] 331 0:01:26.844 0.014.658 05/07/2001 11:52:03 AM DHCP: Reply,

Message type: DHCP Ack

DLC: ----- DLC Header -----

DLC:

DLC: Frame 57 arrived at 11:52:03.8440; frame size is 331 (014B hex) bytes.

DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast

DLC: Source = Station 0005DCC42484

DLC: Ethertype = 0800 (IP)

DLC:

IP: ----- IP Header -----

IP:

IP: Version = 4, header length = 20 bytes

IP: Type of service = 00

IP: 000. .... = routine

IP: ...0 .... = normal delay

IP: .... 0... = normal throughput

IP: .... .0.. = normal reliability

IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit

IP: .... ...0 = CE bit - no congestion

IP: Total length = 317 bytes

IP: Identification = 6

IP: Flags = 0X

IP: .0.. .... = may fragment

IP: ..0. .... = last fragment

IP: Fragment offset = 0 bytes

IP: Time to live = 255 seconds/hops

IP: Protocol = 17 (UDP)

IP: Header checksum = F900 (correct)

IP: Source address = [192.168.1.1]

IP: Destination address = [255.255.255.255]

IP: No options

IP:

UDP: ----- UDP Header -----

UDP:

UDP: Source port = 67 (BootPs/DHCP)

UDP: Destination port = 68 (BootPc/DHCP)

UDP: Length = 297

UDP: No checksum

UDP: [289 byte(s) of data]

UDP:

DHCP: ----- DHCP Header -----

DHCP:

DHCP: Boot record type = 2 (Reply)

DHCP: Hardware address type = 1 (10Mb Ethernet)

DHCP: Hardware address length = 6 bytes

DHCP:

DHCP: Hops = 0

DHCP: Transaction id = 00000882

DHCP: Elapsed boot time = 0 seconds

DHCP: Flags = 8000

DHCP: 1... .... .... .... = Broadcast IP datagrams

DHCP: Client self-assigned IP address = [0.0.0.0]

DHCP: Client IP address = [192.168.1.2]

DHCP: Next Server to use in bootstrap = [0.0.0.0]

DHCP: Relay Agent = [0.0.0.0]

DHCP: Client hardware address = 0005DCC9C640

DHCP:

DHCP: Host name = ""

DHCP: Boot file name = ""

DHCP:

DHCP: Vendor Information tag = 63825363

DHCP: Message Type = 5 (DHCP Ack)

DHCP: Server IP address = [192.168.1.1]

DHCP: Request IP address lease time = 86400 (seconds)

DHCP: Address Renewal interval = 43200 (seconds)

DHCP: Address Rebinding interval = 75600 (seconds)

DHCP: Subnet mask = [255.255.255.0]

DHCP: Domain Name Server address = [192.168.1.3]

DHCP: Domain Name Server address = [192.168.1.4]

DHCP: Gateway address = [192.168.1.1]

DHCP:

- - - - - - - - - - - - - - - - - - - - Frame 5 - ARP - - - - - - - - - - - - - - - - - - - -

Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary

5 0005DCC9C640 Broadcast 60 0:01:26.846 0.002.954 05/07/2001 11:52:03 AM ARP: R PA=[192.168.1.2]

HA=0005DCC9C640 PRO=IP

DLC: ----- DLC Header -----

DLC:

DLC: Frame 58 arrived at 11:52:03.8470; frame size is 60 (003C hex) bytes.

DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast

DLC: Source = Station 0005DCC9C640

DLC: Ethertype = 0806 (ARP)

DLC:

ARP: ----- ARP/RARP frame -----

ARP:

ARP: Hardware type = 1 (10Mb Ethernet)

ARP: Protocol type = 0800 (IP)

ARP: Length of hardware address = 6 bytes

ARP: Length of protocol address = 4 bytes

ARP: Opcode 2 (ARP reply)

ARP: Sender's hardware address = 0005DCC9C640

ARP: Sender's protocol address = [192.168.1.2]

ARP: Target hardware address = FFFFFFFFFFFF

ARP: Target protocol address = [192.168.1.2]

ARP:

ARP: 18 bytes frame padding

ARP:

- - - - - - - - - - - - - - - - - - - - Frame 6 - ARP - - - - - - - - - - - - - - - - - - - -

Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary

6 0005DCC9C640 Broadcast 60 0:01:27.355 0.508.778 05/07/2001 11:52:04 AM ARP: R PA=[192.168.1.2]

HA=0005DCC9C640 PRO=IP

DLC: ----- DLC Header -----

DLC:

DLC: Frame 59 arrived at 11:52:04.3557; frame size is 60 (003C hex) bytes.

DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast

DLC: Source = Station 0005DCC9C640

DLC: Ethertype = 0806 (ARP)

DLC:

ARP: ----- ARP/RARP frame -----

ARP:

ARP: Hardware type = 1 (10Mb Ethernet)

ARP: Protocol type = 0800 (IP)

ARP: Length of hardware address = 6 bytes

ARP: Length of protocol address = 4 bytes

ARP: Opcode 2 (ARP reply)

ARP: Sender's hardware address = 0005DCC9C640

ARP: Sender's protocol address = [192.168.1.2]

ARP: Target hardware address = FFFFFFFFFFFF

ARP: Target protocol address = [192.168.1.2]

ARP:

ARP: 18 bytes frame padding

ARP:

DHCPリレーエージェントとして設定されているルータによって分離されたDHCPクライアントとサーバのスニファトレースのデコード

スニファ B トレース

- - - - - - - - - - - - - - - - - - - - Frame 1 - DHCPDISCOVER - - - - - - - - - - - - - - - - - - - -

Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary

1 [0.0.0.0] [255.255.255.255] 618 0:02:05.759 0.025.369 05/31/2001 06:53:04 AM DHCP: Request,

Message type: DHCP Discover

DLC: ----- DLC Header -----

DLC:

DLC: Frame 124 arrived at 06:53:04.2043; frame size is 618 (026A hex) bytes.

DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast

DLC: Source = Station 0005DCF2C441

DLC: Ethertype = 0800 (IP)

DLC:

IP: ----- IP Header -----

IP:

IP: Version = 4, header length = 20 bytes

IP: Type of service = 00

IP: 000. .... = routine

IP: ...0 .... = normal delay

IP: .... 0... = normal throughput

IP: .... .0.. = normal reliability

IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit

IP: .... ...0 = CE bit - no congestion

IP: Total length = 604 bytes

IP: Identification = 183

IP: Flags = 0X

IP: .0.. .... = may fragment

IP: ..0. .... = last fragment

IP: Fragment offset = 0 bytes

IP: Time to live = 255 seconds/hops

IP: Protocol = 17 (UDP)

IP: Header checksum = B8DA (correct)

IP: Source address = [0.0.0.0]

IP: Destination address = [255.255.255.255]

IP: No options

IP:

UDP: ----- UDP Header -----

UDP:

UDP: Source port = 68 (BootPc/DHCP)

UDP: Destination port = 67 (BootPs/DHCP)

UDP: Length = 584

UDP: No checksum

UDP: [576 byte(s) of data]

UDP:

DHCP: ----- DHCP Header -----

DHCP:

DHCP: Boot record type = 1 (Request)

DHCP: Hardware address type = 1 (10Mb Ethernet)

DHCP: Hardware address length = 6 bytes

DHCP:

DHCP: Hops = 0

DHCP: Transaction id = 00001425

DHCP: Elapsed boot time = 0 seconds

DHCP: Flags = 8000

DHCP: 1... .... .... .... = Broadcast IP datagrams

DHCP: Client self-assigned IP address = [0.0.0.0]

DHCP: Client IP address = [0.0.0.0]

DHCP: Next Server to use in bootstrap = [0.0.0.0]

DHCP: Relay Agent = [0.0.0.0]

DHCP: Client hardware address = 0005DCF2C441

DHCP:

DHCP: Host name = ""

DHCP: Boot file name = ""

DHCP:

DHCP: Vendor Information tag = 63825363

DHCP: Message Type = 1 (DHCP Discover)

DHCP: Maximum message size = 1152

DHCP: Client identifier = 00636973636F2D303065302E316566322E633434312D4574302F30

DHCP: Parameter Request List: 7 entries

DHCP: 1 = Client's subnet mask

DHCP: 6 = Domain name server

DHCP: 15 = Domain name

DHCP: 44 = NetBIOS over TCP/IP name server

DHCP: 3 = Routers on the client's subnet

DHCP: 33 = Static route

DHCP: 150 = Unknown Option

DHCP: Class identifier = 646F63736973312E30

DHCP: Option overload =3 (File and Sname fields hold options)

DHCP:

- - - - - - - - - - - - - - - - - - - - Frame 2 - DHCPOFFER - - - - - - - - - - - - - - - - - - - -

Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summaryr

125 [192.168.1.1] [255.255.255.255] 347 0:02:05.772 0.012.764 05/31/2001 06:53:04 AM DHCP: Reply,

Message type: DHCP Offer

DLC: ----- DLC Header -----

DLC:

DLC: Frame 125 arrived at 06:53:04.2171; frame size is 347 (015B hex) bytes.

DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast

DLC: Source = Station 003094248F71

DLC: Ethertype = 0800 (IP)

DLC:

IP: ----- IP Header -----

IP:

IP: Version = 4, header length = 20 bytes

IP: Type of service = 00

IP: 000. .... = routine

IP: ...0 .... = normal delay

IP: .... 0... = normal throughput

IP: .... .0.. = normal reliability

IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit

IP: .... ...0 = CE bit - no congestion

IP: Total length = 333 bytes

IP: Identification = 45

IP: Flags = 0X

IP: .0.. .... = may fragment

IP: ..0. .... = last fragment

IP: Fragment offset = 0 bytes

IP: Time to live = 255 seconds/hops

IP: Protocol = 17 (UDP)

IP: Header checksum = F8C9 (correct)

IP: Source address = [192.168.1.1]

IP: Destination address = [255.255.255.255]

IP: No options

IP:

UDP: ----- UDP Header -----

UDP:

UDP: Source port = 67 (BootPs/DHCP)

UDP: Destination port = 68 (BootPc/DHCP)

UDP: Length = 313

UDP: Checksum = 8517 (correct)

UDP: [305 byte(s) of data]

UDP:

DHCP: ----- DHCP Header -----

DHCP:

DHCP: Boot record type = 2 (Reply)

DHCP: Hardware address type = 1 (10Mb Ethernet)

DHCP: Hardware address length = 6 bytes

DHCP:

DHCP: Hops = 0

DHCP: Transaction id = 00001425

DHCP: Elapsed boot time = 0 seconds

DHCP: Flags = 8000

DHCP: 1... .... .... .... = Broadcast IP datagrams

DHCP: Client self-assigned IP address = [0.0.0.0]

DHCP: Client IP address = [192.168.1.2]

DHCP: Next Server to use in bootstrap = [0.0.0.0]

DHCP: Relay Agent = [192.168.1.1]

DHCP: Client hardware address = 0005DCF2C441

DHCP:

DHCP: Host name = ""

DHCP: Boot file name = ""

DHCP:

DHCP: Vendor Information tag = 63825363

DHCP: Message Type = 2 (DHCP Offer)

DHCP: Server IP address = [192.168.2.2]

DHCP: Request IP address lease time = 99471 (seconds)

DHCP: Address Renewal interval = 49735 (seconds)

DHCP: Address Rebinding interval = 87037 (seconds)

DHCP: Subnet mask = [255.255.255.0]

DHCP: Domain Name Server address = [192.168.10.1]

DHCP: Domain Name Server address = [192.168.10.2]

DHCP: NetBIOS Server address = [192.168.10.1]

DHCP: NetBIOS Server address = [192.168.10.3]

DHCP: Domain name = "cisco.com"

DHCP:

- - - - - - - - - - - - - - - - - - - - Frame 3 - DHCPREQUEST - - - - - - - - - - - - - - - - - - - -

Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary

3 [0.0.0.0] [255.255.255.255] 618 0:02:05.774 0.002.185 05/31/2001 06:53:04 AM DHCP: Request,

Message type: DHCP Request

DLC: ----- DLC Header -----

DLC:

DLC: Frame 126 arrived at 06:53:04.2193; frame size is 618 (026A hex) bytes.

DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast

DLC: Source = Station Cisc14F2C441

DLC: Ethertype = 0800 (IP)

DLC:

IP: ----- IP Header -----

IP:

IP: Version = 4, header length = 20 bytes

IP: Type of service = 00

IP: 000. .... = routine

IP: ...0 .... = normal delay

IP: .... 0... = normal throughput

IP: .... .0.. = normal reliability

IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit

IP: .... ...0 = CE bit - no congestion

IP: Total length = 604 bytes

IP: Identification = 184

IP: Flags = 0X

IP: .0.. .... = may fragment

IP: ..0. .... = last fragment

IP: Fragment offset = 0 bytes

IP: Time to live = 255 seconds/hops

IP: Protocol = 17 (UDP)

IP: Header checksum = B8D9 (correct)

IP: Source address = [0.0.0.0]

IP: Destination address = [255.255.255.255]

IP: No options

IP:

UDP: ----- UDP Header -----

UDP:

UDP: Source port = 68 (BootPc/DHCP)

UDP: Destination port = 67 (BootPs/DHCP)

UDP: Length = 584

UDP: No checksum

UDP: [576 byte(s) of data]

UDP:

DHCP: ----- DHCP Header -----

DHCP:

DHCP: Boot record type = 1 (Request)

DHCP: Hardware address type = 1 (10Mb Ethernet)

DHCP: Hardware address length = 6 bytes

DHCP:

DHCP: Hops = 0

DHCP: Transaction id = 00001425

DHCP: Elapsed boot time = 0 seconds

DHCP: Flags = 8000

DHCP: 1... .... .... .... = Broadcast IP datagrams

DHCP: Client self-assigned IP address = [0.0.0.0]

DHCP: Client IP address = [0.0.0.0]

DHCP: Next Server to use in bootstrap = [0.0.0.0]

DHCP: Relay Agent = [0.0.0.0]

DHCP: Client hardware address = 0005DCF2C441

DHCP:

DHCP: Host name = ""

DHCP: Boot file name = ""

DHCP:

DHCP: Vendor Information tag = 63825363

DHCP: Message Type = 3 (DHCP Request)

DHCP: Maximum message size = 1152

DHCP: Client identifier = 00636973636F2D303065302E316566322E633434312D4574302F30

DHCP: Server IP address = [192.168.2.2]

DHCP: Request specific IP address = [192.168.1.2]

DHCP: Request IP address lease time = 99471 (seconds)

DHCP: Parameter Request List: 7 entries

DHCP: 1 = Client's subnet mask

DHCP: 6 = Domain name server

DHCP: 15 = Domain name

DHCP: 44 = NetBIOS over TCP/IP name server

DHCP: 3 = Routers on the client's subnet

DHCP: 33 = Static route

DHCP: 150 = Unknown Option

DHCP: Class identifier = 646F63736973312E30

DHCP: Option overload =3 (File and Sname fields hold options)

DHCP:

- - - - - - - - - - - - - - - - - - - - Frame 4 - DHCPACK - - - - - - - - - - - - - - - - - - - -

Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary

4 [192.168.1.1] [255.255.255.255] 347 0:02:05.787 0.012.875 05/31/2001 06:53:04 AM DHCP: Reply,

Message type: DHCP Ack

DLC: ----- DLC Header -----

DLC:

DLC: Frame 127 arrived at 06:53:04.2321; frame size is 347 (015B hex) bytes.

DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast

DLC: Source = Station 003094248F71

DLC: Ethertype = 0800 (IP)

DLC:

IP: ----- IP Header -----

IP:

IP: Version = 4, header length = 20 bytes

IP: Type of service = 00

IP: 000. .... = routine

IP: ...0 .... = normal delay

IP: .... 0... = normal throughput

IP: .... .0.. = normal reliability

IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit

IP: .... ...0 = CE bit - no congestion

IP: Total length = 333 bytes

IP: Identification = 47

IP: Flags = 0X

IP: .0.. .... = may fragment

IP: ..0. .... = last fragment

IP: Fragment offset = 0 bytes

IP: Time to live = 255 seconds/hops

IP: Protocol = 17 (UDP)

IP: Header checksum = F8C7 (correct)

IP: Source address = [192.168.1.1]

IP: Destination address = [255.255.255.255]

IP: No options

IP:

UDP: ----- UDP Header -----

UDP:

UDP: Source port = 67 (BootPs/DHCP)

UDP: Destination port = 68 (BootPc/DHCP)

UDP: Length = 313

UDP: Checksum = 326F (correct)

UDP: [305 byte(s) of data]

UDP:

DHCP: ----- DHCP Header -----

DHCP:

DHCP: Boot record type = 2 (Reply)

DHCP: Hardware address type = 1 (10Mb Ethernet)

DHCP: Hardware address length = 6 bytes

DHCP:

DHCP: Hops = 0

DHCP: Transaction id = 00001425

DHCP: Elapsed boot time = 0 seconds

DHCP: Flags = 8000

DHCP: 1... .... .... .... = Broadcast IP datagrams

DHCP: Client self-assigned IP address = [0.0.0.0]

DHCP: Client IP address = [192.168.1.2]

DHCP: Next Server to use in bootstrap = [0.0.0.0]

DHCP: Relay Agent = [192.168.1.1]

DHCP: Client hardware address = 0005DCF2C441

DHCP:

DHCP: Host name = ""

DHCP: Boot file name = ""

DHCP:

DHCP: Vendor Information tag = 63825363

DHCP: Message Type = 5 (DHCP Ack)

DHCP: Server IP address = [192.168.2.2]

DHCP: Request IP address lease time = 172800 (seconds)

DHCP: Address Renewal interval = 86400 (seconds)

DHCP: Address Rebinding interval = 151200 (seconds)

DHCP: Subnet mask = [255.255.255.0]

DHCP: Domain Name Server address = [192.168.10.1]

DHCP: Domain Name Server address = [192.168.10.2]

DHCP: NetBIOS Server address = [192.168.10.1]

DHCP: NetBIOS Server address = [192.168.10.3]

DHCP: Domain name = "cisco.com"

DHCP:

- - - - - - - - - - - - - - - - - - - - Frame 5 - ARP - - - - - - - - - - - - - - - - - - - -

Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary

5 Cisc14F2C441 Broadcast 60 0:02:05.798 0.011.763 05/31/2001 06:53:04 AM ARP: R PA=[192.168.1.2]

HA=Cisc14F2C441 PRO=IP

DLC: ----- DLC Header -----

DLC:

DLC: Frame 128 arrived at 06:53:04.2439; frame size is 60 (003C hex) bytes.

DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast

DLC: Source = Station Cisc14F2C441

DLC: Ethertype = 0806 (ARP)

DLC:

ARP: ----- ARP/RARP frame -----

ARP:

ARP: Hardware type = 1 (10Mb Ethernet)

ARP: Protocol type = 0800 (IP)

ARP: Length of hardware address = 6 bytes

ARP: Length of protocol address = 4 bytes

ARP: Opcode 2 (ARP reply)

ARP: Sender's hardware address = 00E01EF2C441

ARP: Sender's protocol address = [192.168.1.2]

ARP: Target hardware address = FFFFFFFFFFFF

ARP: Target protocol address = [192.168.1.2]

ARP:

ARP: 18 bytes frame padding

ARP:

- - - - - - - - - - - - - - - - - - - - Frame 6 - ARP - - - - - - - - - - - - - - - - - - - -

Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary

5 Cisc14F2C441 Broadcast 60 0:02:05.798 0.011.763 05/31/2001 06:53:04 AM ARP: R PA=[192.168.1.2]

HA=Cisc14F2C441 PRO=IP

DLC: ----- DLC Header -----

DLC:

DLC: Frame 128 arrived at 06:53:04.2439; frame size is 60 (003C hex) bytes.

DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast

DLC: Source = Station Cisc14F2C441

DLC: Ethertype = 0806 (ARP)

DLC:

ARP: ----- ARP/RARP frame -----

ARP:

ARP: Hardware type = 1 (10Mb Ethernet)

ARP: Protocol type = 0800 (IP)

ARP: Length of hardware address = 6 bytes

ARP: Length of protocol address = 4 bytes

ARP: Opcode 2 (ARP reply)

ARP: Sender's hardware address = 00E01EF2C441

ARP: Sender's protocol address = [192.168.1.2]

ARP: Target hardware address = FFFFFFFFFFFF

ARP: Target protocol address = [192.168.1.2]

ARP:

ARP: 18 bytes frame padding

ARP:

スニファ A トレース

- - - - - - - - - - - - - - - - - - - - Frame 1 - DHCPDISCOVER - - - - - - - - - - - - - - - - - - - -

Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary

118 [192.168.1.1] [192.168.2.2] 618 0:00:51.212 0.489.912 05/31/2001 07:02:54 AM DHCP: Request,

Message type: DHCP Discover

DLC: ----- DLC Header -----

DLC:

DLC: Frame 118 arrived at 07:02:54.7463; frame size is 618 (026A hex) bytes.

DLC: Destination = Station 0005DC0BF2F4

DLC: Source = Station 003094248F72

DLC: Ethertype = 0800 (IP)

DLC:

IP: ----- IP Header -----

IP:

IP: Version = 4, header length = 20 bytes

IP: Type of service = 00

IP: 000. .... = routine

IP: ...0 .... = normal delay

IP: .... 0... = normal throughput

IP: .... .0.. = normal reliability

IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit

IP: .... ...0 = CE bit - no congestion

IP: Total length = 604 bytes

IP: Identification = 52

IP: Flags = 0X

IP: .0.. .... = may fragment

IP: ..0. .... = last fragment

IP: Fragment offset = 0 bytes

IP: Time to live = 255 seconds/hops

IP: Protocol = 17 (UDP)

IP: Header checksum = 3509 (correct)

IP: Source address = [192.168.1.1]

IP: Destination address = [192.168.2.2]

IP: No options

IP:

UDP: ----- UDP Header -----

UDP:

UDP: Source port = 67 (BootPs/DHCP)

UDP: Destination port = 67 (BootPs/DHCP)

UDP: Length = 584

UDP: Checksum = 0A19 (correct)

UDP: [576 byte(s) of data]

UDP:

DHCP: ----- DHCP Header -----

DHCP:

DHCP: Boot record type = 1 (Request)

DHCP: Hardware address type = 1 (10Mb Ethernet)

DHCP: Hardware address length = 6 bytes

DHCP:

DHCP: Hops = 1

DHCP: Transaction id = 000005F4

DHCP: Elapsed boot time = 0 seconds

DHCP: Flags = 8000

DHCP: 1... .... .... .... = Broadcast IP datagrams

DHCP: Client self-assigned IP address = [0.0.0.0]

DHCP: Client IP address = [0.0.0.0]

DHCP: Next Server to use in bootstrap = [0.0.0.0]

DHCP: Relay Agent = [192.168.1.1]

DHCP: Client hardware address = 0005DCF2C441

DHCP:

DHCP: Host name = ""

DHCP: Boot file name = ""

DHCP:

DHCP: Vendor Information tag = 63825363

DHCP: Message Type = 1 (DHCP Discover)

DHCP: Maximum message size = 1152

DHCP: Client identifier = 00636973636F2D303065302E316566322E633434312D4574302F30

DHCP: Parameter Request List: 7 entries

DHCP: 1 = Client's subnet mask

DHCP: 6 = Domain name server

DHCP: 15 = Domain name

DHCP: 44 = NetBIOS over TCP/IP name server

DHCP: 3 = Routers on the client's subnet

DHCP: 33 = Static route

DHCP: 150 = Unknown Option

DHCP: Class identifier = 646F63736973312E30

DHCP: Option overload =3 (File and Sname fields hold options)

DHCP:

- - - - - - - - - - - - - - - - - - - - Frame 2 - DHCPOFFER - - - - - - - - - - - - - - - - - - - -

Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary

2 [192.168.2.2] [192.168.1.1] 347 0:00:51.214 0.002.133 05/31/2001 07:02:54 AM DHCP: Request,

Message type: DHCP Offer

DLC: ----- DLC Header -----

DLC:

DLC: Frame 119 arrived at 07:02:54.7485; frame size is 347 (015B hex) bytes.

DLC: Destination = Station 003094248F72

DLC: Source = Station 0005DC0BF2F4

DLC: Ethertype = 0800 (IP)

DLC:

IP: ----- IP Header -----

IP:

IP: Version = 4, header length = 20 bytes

IP: Type of service = 00

IP: 000. .... = routine

IP: ...0 .... = normal delay

IP: .... 0... = normal throughput

IP: .... .0.. = normal reliability

IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit

IP: .... ...0 = CE bit - no congestion

IP: Total length = 333 bytes

IP: Identification = 41

IP: Flags = 0X

IP: .0.. .... = may fragment

IP: ..0. .... = last fragment

IP: Fragment offset = 0 bytes

IP: Time to live = 255 seconds/hops

IP: Protocol = 17 (UDP)

IP: Header checksum = 3623 (correct)

IP: Source address = [192.168.2.2]

IP: Destination address = [192.168.1.1]

IP: No options

IP:

UDP: ----- UDP Header -----

UDP:

UDP: Source port = 67 (BootPs/DHCP)

UDP: Destination port = 67 (BootPs/DHCP)

UDP: Length = 313

UDP: Checksum = A1F8 (correct)

UDP: [305 byte(s) of data]

UDP:

DHCP: ----- DHCP Header -----

DHCP:

DHCP: Boot record type = 2 (Request)

DHCP: Hardware address type = 1 (10Mb Ethernet)

DHCP: Hardware address length = 6 bytes

DHCP:

DHCP: Hops = 0

DHCP: Transaction id = 000005F4

DHCP: Elapsed boot time = 0 seconds

DHCP: Flags = 8000

DHCP: 1... .... .... .... = Broadcast IP datagrams

DHCP: Client self-assigned IP address = [0.0.0.0]

DHCP: Client IP address = [192.168.1.2]

DHCP: Next Server to use in bootstrap = [0.0.0.0]

DHCP: Relay Agent = [192.168.1.1]

DHCP: Client hardware address = 0005DCF2C441

DHCP:

DHCP: Host name = ""

DHCP: Boot file name = ""

DHCP:

DHCP: Vendor Information tag = 63825363

DHCP: Message Type = 2 (DHCP Offer)

DHCP: Server IP address = [192.168.2.2]

DHCP: Request IP address lease time = 172571 (seconds)

DHCP: Address Renewal interval = 86285 (seconds)

DHCP: Address Rebinding interval = 150999 (seconds)

DHCP: Subnet mask = [255.255.255.0]

DHCP: Domain Name Server address = [192.168.10.1]

DHCP: Domain Name Server address = [192.168.10.2]

DHCP: NetBIOS Server address = [192.168.10.1]

DHCP: NetBIOS Server address = [192.168.10.3]

DHCP: Domain name = "cisco.com"

DHCP:

- - - - - - - - - - - - - - - - - - - - Frame 3 - DHCPREQUEST - - - - - - - - - - - - - - - - - - - -

Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary

3 [192.168.1.1] [192.168.2.2] 618 0:00:51.240 0.025.974 05/31/2001 07:02:54 AM DHCP: Request,

Message type: DHCP Request

DLC: ----- DLC Header -----

DLC:

DLC: Frame 120 arrived at 07:02:54.7745; frame size is 618 (026A hex) bytes.

DLC: Destination = Station 0005DC0BF2F4

DLC: Source = Station 003094248F72

DLC: Ethertype = 0800 (IP)

DLC:

IP: ----- IP Header -----

IP:

IP: Version = 4, header length = 20 bytes

IP: Type of service = 00

IP: 000. .... = routine

IP: ...0 .... = normal delay

IP: .... 0... = normal throughput

IP: .... .0.. = normal reliability

IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit

IP: .... ...0 = CE bit - no congestion

IP: Total length = 604 bytes

IP: Identification = 54

IP: Flags = 0X

IP: .0.. .... = may fragment

IP: ..0. .... = last fragment

IP: Fragment offset = 0 bytes

IP: Time to live = 255 seconds/hops

IP: Protocol = 17 (UDP)

IP: Header checksum = 3507 (correct)

IP: Source address = [192.168.1.1]

IP: Destination address = [192.168.2.2]

IP: No options

IP:

UDP: ----- UDP Header -----

UDP:

UDP: Source port = 67 (BootPs/DHCP)

UDP: Destination port = 67 (BootPs/DHCP)

UDP: Length = 584

UDP: Checksum = 4699 (correct)

UDP: [576 byte(s) of data]

UDP:

DHCP: ----- DHCP Header -----

DHCP:

DHCP: Boot record type = 1 (Request)

DHCP: Hardware address type = 1 (10Mb Ethernet)

DHCP: Hardware address length = 6 bytes

DHCP:

DHCP: Hops = 1

DHCP: Transaction id = 000005F4

DHCP: Elapsed boot time = 0 seconds

DHCP: Flags = 8000

DHCP: 1... .... .... .... = Broadcast IP datagrams

DHCP: Client self-assigned IP address = [0.0.0.0]

DHCP: Client IP address = [0.0.0.0]

DHCP: Next Server to use in bootstrap = [0.0.0.0]

DHCP: Relay Agent = [192.168.1.1]

DHCP: Client hardware address = 0005DCF2C441

DHCP:

DHCP: Host name = ""

DHCP: Boot file name = ""

DHCP:

DHCP: Vendor Information tag = 63825363

DHCP: Message Type = 3 (DHCP Request)

DHCP: Maximum message size = 1152

DHCP: Client identifier = 00636973636F2D303065302E316566322E633434312D4574302F30

DHCP: Server IP address = [192.168.2.2]

DHCP: Request specific IP address = [192.168.1.2]

DHCP: Request IP address lease time = 172571 (seconds)

DHCP: Parameter Request List: 7 entries

DHCP: 1 = Client's subnet mask

DHCP: 6 = Domain name server

DHCP: 15 = Domain name

DHCP: 44 = NetBIOS over TCP/IP name server

DHCP: 3 = Routers on the client's subnet

DHCP: 33 = Static route

DHCP: 150 = Unknown Option

DHCP: Class identifier = 646F63736973312E30

DHCP: Option overload =3 (File and Sname fields hold options)

DHCP:

- - - - - - - - - - - - - - - - - - - - Frame 4 - DHCPACK - - - - - - - - - - - - - - - - - - - -

Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary

4 [192.168.2.2] [192.168.1.1] 347 0:00:51.240 0.000.153 05/31/2001 07:02:54 AM DHCP: Request,

Message type: DHCP Ack

DLC: ----- DLC Header -----

DLC:

DLC: Frame 121 arrived at 07:02:54.7746; frame size is 347 (015B hex) bytes.

DLC: Destination = Station 003094248F72

DLC: Source = Station 0005DC0BF2F4

DLC: Ethertype = 0800 (IP)

DLC:

IP: ----- IP Header -----

IP:

IP: Version = 4, header length = 20 bytes

IP: Type of service = 00

IP: 000. .... = routine

IP: ...0 .... = normal delay

IP: .... 0... = normal throughput

IP: .... .0.. = normal reliability

IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit

IP: .... ...0 = CE bit - no congestion

IP: Total length = 333 bytes

IP: Identification = 42

IP: Flags = 0X

IP: .0.. .... = may fragment

IP: ..0. .... = last fragment

IP: Fragment offset = 0 bytes

IP: Time to live = 255 seconds/hops

IP: Protocol = 17 (UDP)

IP: Header checksum = 3622 (correct)

IP: Source address = [192.168.2.2]

IP: Destination address = [192.168.1.1]

IP: No options

IP:

UDP: ----- UDP Header -----

UDP:

UDP: Source port = 67 (BootPs/DHCP)

UDP: Destination port = 67 (BootPs/DHCP)

UDP: Length = 313

UDP: Checksum = 7DF6 (correct)

UDP: [305 byte(s) of data]

UDP:

DHCP: ----- DHCP Header -----

DHCP:

DHCP: Boot record type = 2 (Request)

DHCP: Hardware address type = 1 (10Mb Ethernet)

DHCP: Hardware address length = 6 bytes

DHCP:

DHCP: Hops = 0

DHCP: Transaction id = 000005F4

DHCP: Elapsed boot time = 0 seconds

DHCP: Flags = 8000

DHCP: 1... .... .... .... = Broadcast IP datagrams

DHCP: Client self-assigned IP address = [0.0.0.0]

DHCP: Client IP address = [192.168.1.2]

DHCP: Next Server to use in bootstrap = [0.0.0.0]

DHCP: Relay Agent = [192.168.1.1]

DHCP: Client hardware address = 0005DCF2C441

DHCP:

DHCP: Host name = ""

DHCP: Boot file name = ""

DHCP:

DHCP: Vendor Information tag = 63825363

DHCP: Message Type = 5 (DHCP Ack)

DHCP: Server IP address = [192.168.2.2]

DHCP: Request IP address lease time = 172800 (seconds)

DHCP: Address Renewal interval = 86400 (seconds)

DHCP: Address Rebinding interval = 151200 (seconds)

DHCP: Subnet mask = [255.255.255.0]

DHCP: Domain Name Server address = [192.168.10.1]

DHCP: Domain Name Server address = [192.168.10.2]

DHCP: NetBIOS Server address = [192.168.10.1]

DHCP: NetBIOS Server address = [192.168.10.3]

DHCP: Domain name = "cisco.com"

DHCP:

クライアントワークステーションがDHCPアドレスを取得できない場合のDHCPのトラブルシューティング

事例 1：DHCP サーバと DHCP クライアントが同じ LAN セグメントまたは VLAN に位置する場合

DHCPサーバとクライアントが同じLANセグメントまたはVLAN上にあり、クライアントがDHCPサーバからIPアドレスを取得できない場合。しかし、ローカルルータがDHCPの問題を引き起こす可能性は低いです。この問題は、DHCPサーバとDHCPクライアントを接続するデバイスに関連しています。ただし、DHCPサーバまたはクライアント自体に問題がある可能性があります。これらのモジュールは、トラブルシューティングを行い、問題の原因となっているデバイスを特定するのに役立ちます。

注：VLANごとにDHCPサーバを設定するには、クライアントにDHCPアドレスを提供するVLANごとに異なるDHCPプールを定義します。

事例 2：DHCP/BootP リレー エージェントとして機能するように設定されたルータによって DHCP サーバと DHCP クライアントが分離されている場合

DHCPサーバとクライアントが異なるLANセグメントまたはVLAN上にある場合、ルータはDHCPサーバにDHCPREQUESTを転送するDHCP/BootPリレーエージェントとして機能します。DHCP/BootPリレーエージェント、およびDHCPサーバとクライアントのトラブルシューティングを行うには、追加の手順が必要です。これらのモジュールに従えば、問題の原因となっているデバイスを特定できます。

POOL EXHAUSTED エラーにより、ルータ上の DHCP サーバがアドレスの割り当てに失敗する

アドレスがプールから解放されているとしても、そのアドレスをまだ使用しているクライアントがある可能性があります。これは、show ip dhcp conflictoutputで確認できます。2 つのホストが同一の IP アドレスを使用すると、アドレスの競合が発生します。アドレスの割り当て中、DHCP は ping および Gratuitous ARP を使用して競合がないかどうかを確認します。

競合が検出されると、そのアドレスはプールから削除されます。管理者が競合を解決するまでは、そのアドレスが割り当てたままになります。この問題を解決するには、ip dhcp conflict loggingを設定します。

DHCPトラブルシューティングモジュール

DHCPの問題が発生する可能性のある場所の理解

DHCP の問題は、さまざまな原因によって発生する可能性があります。最も一般的な原因は、設定の問題です。ただし、システムのソフトウェア不具合、Network Interface Card（NIC；ネットワークインターフェイスカード）ドライバ、またはルータ上で動作するDHCP/BootPリレーエージェントによって、DHCPの問題の多くが発生する可能性があります。潜在的に問題のある領域が多いため、トラブルシューティングには体系的なアプローチが必要です。

考えられる DHCP 問題の原因のショート リスト

- Catalyst スイッチのデフォルト設定

- DHCP/BootP リレー エージェントの設定

- NIC 互換性の問題または DHCP 機能の問題

- 欠陥のある NIC または不適切な NIC ドライバ インストール

- スパニング ツリーが頻繁に計算されることによる断続的なネットワーク停止

- オペレーティング システムの動作またはソフトウェアの欠陥

- DHCP サーバ スコープの設定またはソフトウェアの欠陥

- Cisco CatalystスイッチまたはCisco IOS DHCP/BootPリレーエージェントソフトウェア不具合

- DHCP オファーが期待されるインターフェイスとは別のインターフェイスで受信されていることによる、Unicast Reverse Path Forwarding（uRPF）チェックの失敗。Reverse Path Forwarding(RPF)機能がインターフェイスで有効になっている場合、Ciscoルータは、送信元アドレスが0.0.0.0、宛先アドレスが255.255.255.255のDynamic Host Configuration Protocol（DHCP；ダイナミックホストコンフィギュレーションプロトコル）パケットとBOOTstrap Protocol（BOOTP；ブートストラッププロトコル）パケットを廃棄できます。この問題は、Cisco Bug ID CSCdw31925に記載されています

（注）登録ユーザのみバグレポートにアクセスできます。

- DHCPデータベースエージェントは使用されませんが、DHCP競合のロギングは無効になりません

A.物理接続の確認

この手順は、すべての導入事例に適用されます。

まず、DHCP クライアントとサーバの物理的な接続を確認します。Catalystスイッチに接続されている場合は、DHCPクライアントとサーバの両方が物理的に接続されていることを確認します。Catalyst 2900XL/3500XL/2950/3550などのCisco IOSベースのスイッチでは、同等のコマンドshow port statusisshow interface <interface>を使用します。インターフェイスの状態が<interface> is up, line protocol is up以外の場合、ポートはトラフィックを渡さず、DHCPクライアント要求も渡しません。コマンドの出力は次のとおりです。

Switch#show interface fastEthernet 0/1

FastEthernet0/1 is up, line protocol is up

Hardware is Fast Ethernet, address is 0030.94dc.acc1 (bia 0030.94dc.acc1)

物理接続が確認されていて、実際にCatalystスイッチとDHCPクライアントの間にリンクがない場合は、「Cisco CatalystスイッチとNICとの互換性に関する問題のトラブルシューティング」を使用して、物理層の接続の問題に関する問題をトラブルシューティングします。

過剰なデータリンクエラーが発生すると、一部のCatalystスイッチのポートがerrdisabledstateになります。詳細については、『Cisco IOSプラットフォームでのerrdisableポート状態からの復旧』を参照してください。errdisable状態について説明し、そこから復旧する方法を説明し、この状態からの復旧例を提供します。

B.ネットワーク接続をテストするためのクライアントワークステーションとスタティックIPの設定

この手順は、すべての導入事例に適用されます。

DHCPの問題をトラブルシューティングする際には、ネットワーク接続を確認するために、クライアントワークステーションにスタティックIPアドレスを設定することが重要です。ワークステーションに静的に設定されたIPアドレスがあるにもかかわらず、ネットワークリソースに到達できない場合、問題の根本原因はDHCPではありません。この時点で、ネットワーク接続のトラブルシューティングを行う必要があります。

C. 起動時における問題の確認

この手順は、すべての導入事例に適用されます。

DHCPクライアントが起動時にDHCPサーバからIPアドレスを取得できない場合は、手動でクライアントにDHCP要求を送信させることができます。次の手順を実行して、リストされたOSのDHCPサーバからIPアドレスを手動で取得します。

Microsoft Windows 95/98/ME：

1. [Start] ボタンをクリックし、WINIPCFG.exeプログラムを実行します。

2. [Release] Allbuttonをクリックし、続いて[Renew] Allbuttonをクリックします。

3. これで DHCP クライアントが IP アドレスを取得できるようになったかどうかを確認します。

IP Configurationウィンドウ

Microsoft Windows NT/2000：

1. [Start/Run]フィールドにcmdinと入力し、コマンドプロンプトウィンドウを開きます。

2. コマンドプロンプトウィンドウでcommandipconfig/renewinコマンドを発行します。

3. これで DHCP クライアントが IP アドレスを取得できるようになったかどうかを確認します。

コマンドラインプロンプト

PCのブートアッププロセスが完了した後に、DHCPクライアントがIPアドレスを手動で更新してIPアドレスを取得できる場合は、DHCPの起動に問題がある可能性が高いです。DHCPクライアントがCisco Catalystスイッチに接続されている場合は、STP PortFastやチャネリングおよびトランキングを扱う設定の問題が原因である可能性が高くなります。他の可能性としては、NIC カードの問題や、スイッチ ポートの起動問題も考えられます。手順DとEを復習して、スイッチポートの設定とNICカードの問題がDHCP問題の根本原因ではないことを確認します。

D. スイッチ ポートの設定の確認（STP PortFast とその他のコマンド）

スイッチが Catalyst 2900/4000/5000/6000 である場合、ポートで STP PortFast が有効になっていて、トランキング/チャネリングが無効になっていることを確認します。デフォルト設定では、STP PortFast が無効にされて、トランキング/チャネリングが自動に設定されます（該当する場合）。2900XL/3500XL/2950/3550 スイッチで必要となる設定は、STP PortFast のみです。これらの設定を変更することで、Catalyst スイッチの初期インストール時に最も一般的に発生する DHCP クライアントの問題は解決されます。

Catalystスイッチに接続した場合にDHCPが正しく動作するために必要な、スイッチポートの設定要件の詳細については、『PortFastと他のコマンドを使用したワークステーションの接続始動遅延の修復』を参照してください。

このドキュメントを確認した後、これらの問題のトラブルシューティングを続行できます。

E. NIC カードまたは Catalyst スイッチに関する既知の問題のチェック

Catalystスイッチの設定が正しい場合は、CatalystスイッチまたはDHCPクライアントNICにソフトウェアの互換性の問題があり、それがDHCPの問題の原因である可能性があります。トラブルシューティングの次のステップは、『Cisco CatalystスイッチとNICとの互換性に関する問題のトラブルシューティング』を参照して、問題の原因となっているCatalystスイッチまたはNICのソフトウェアの問題を除外することです。

互換性の問題を適切に除外するには、DHCPクライアントOSに関する知識と、メーカー、モデル、ドライババージョンなどの特定のNIC情報が必要です。

F. DHCPクライアントがDHCPサーバと同じサブネットまたはVLANでIPアドレスを取得するかどうかを判別する

クライアントがDHCPサーバと同じサブネットまたはVLAN上にある場合は、DHCPが正しく機能しているかどうかを区別することが重要です。DHCPサーバと同じサブネットまたはVLAN上でDHCPが正しく動作する場合、DHCPの問題の原因は主にDHCP/BootPリレーエージェントにあります。DHCPサーバと同じサブネットまたはVLANでDHCPをテストしても問題が解決しない場合は、実際にはDHCPサーバに問題がある可能性があります。

G. ルータの DHCP/BootP リレー設定の確認

設定を確認するには、次の手順を実行します。

1. ルータでDHCPリレーを設定する場合は、ip helper-addressコマンドが正しいインターフェイスに配置されていることを確認してください。ip helper-addressコマンドは、DHCPクライアントワークステーションの着信インターフェイスに存在し、正しいDHCPサーバに送信される必要があります。

2. グローバルコンフィギュレーションコマンドno service dhcpisが存在しないことを確認します。この設定パラメータは、ルータのすべてのDHCPサーバおよびリレー機能を無効にします。デフォルト設定では、 service dhcpは設定には表示されず、デフォルトの設定コマンドです。service dhcpが有効になっていない場合、クライアントはDHCPサーバからIPアドレスを受信しません。

注：以前の Cisco IOS リリースを実行しているルータでは、service dhcp コマンドではなく、ip bootp server コマンドが DHCP リレー エージェント機能を操作します。そのため、それらのルータで DHCP UDP ブロードキャストを転送するように ip helper-address コマンドが設定されていて、ルータが DHCP クライアントに代わって DHCP リレー エージェントとして動作する場合、ip bootp server コマンドを有効にする必要があります。

3. ip helper-addressコマンドを使用してUDPブロードキャストをサブネットブロードキャストアドレスに転送する場合は、 no ip directed-broadcast UDPブロードキャストパケットが通過する必要のある発信インターフェイスでは設定されません。「 no ip directed-broadcast ダイレクトブロードキャストから物理ブロードキャストへの変換をブロックします。このインターフェイス設定は、ソフトウェアバージョン12.0以降のデフォルト設定です。

4. DHCPブロードキャストがDHCPサーバサブネットブロードキャストアドレスに転送されると、ソフトウェアの問題が発生する可能性があります。DHCPの問題をトラブルシューティングする場合は、DHCP UDPブロードキャストをDHCPサーバのIPアドレスに転送してみてください。

version 12.0

service timestamps debug uptime

service timestamps log uptime

no service password-encryption

no service dhcp

!--- This configuration command will disable all DHCP server and relay functionality on the router.

hostname router

!

!

!

interface Ethernet0

ip address 192.168.2.1 255.255.255.0

no ip directed-broadcast

!--- This configuration will prevent translation of a directed broadcast to a physical broadcast.

interface Ethernet1

!--- DHCP client workstations reside of this interface.

ip address 192.168.1.1 255.255.255.0

ip helper-address 192.168.2.255

!--- IP helper-address pointing to DHCP server's subnet.

no ip directed-broadcast

!

!

!

line con 0

exec-timeout 0 0

transport input none

line aux 0

line vty 0 4

login

!

end

H. 加入者識別（82）オプションがオン

DHCP リレー エージェント情報（オプション 82）機能を使用すると、DHCP リレー エージェント（Catalyst スイッチ）が、DHCP クライアントからの要求を DHCP サーバに転送するときに、自身に関する情報と、接続されているクライアントに関する情報を含めることができるようになります。

DHCP サーバは、この情報を使用することで、IP アドレスの割り当て、アクセス コントロールの実施、およびサービス プロバイダー ネットワークの各加入者への Quality of Service（QoS）とセキュリティ ポリシー（または他のパラメータ割り当てポリシー）の設定に対処できます。スイッチでDHCPスヌーピングが有効になっていると、オプション82が自動的に有効になります。DHCPサーバがオプション82でパケットを処理するように設定されていない場合は、その要求にアドレスを割り当てなくなります。この問題を解決するには、グローバルコンフィギュレーションコマンドno ip dhcp relay information optionを使用して、スイッチ（リレーエージェント）の加入者識別オプション(82)を無効にします。

I. DHCP データベース エージェントと DHCP 競合のロギング

DHCP データベース エージェントは、DHCP バインディング データベースが格納されているホスト（FTP、TFTP、RCP サーバなど）です。DHCP データベース エージェントは複数設定でき、データベースを更新する間隔や各エージェント間の転送の間隔も設定できます。データベースエージェントとデータベースエージェントパラメータを設定するには、ip dhcp databaseコマンドを使用します。

DHCP データベース エージェントを設定しないことにした場合は、DCHP サーバでの DHCP アドレス競合のログへの記録を無効にしてください。enoip dhcp conflict logging コマンドを実行して、DHCPアドレス競合のロギングを無効にします。clear ip dhcp conflictを使用して、以前に記録された競合をクリアします。

上記のコマンドで競合のロギングを無効にできなかった場合は、以下のエラー メッセージが表示されます。

%DHCPD-4-DECLINE_CONFLICT: DHCP address conflict: client

J. IP Phone 接続の CDP を調べる

Cisco IP Phone に接続するスイッチポートで Cisco Discovery Protocol（CDP）が無効にされていると、DHCP サーバはその IP Phone に適切な IP アドレスを割り当てることができません。DHCP サーバは、スイッチポートのデータ VLAN/サブネットに属する IP アドレスを割り当てようとする傾向があります。CDP が有効にされていれば、スイッチは Cisco IP Phone が DHCP を要求していることを検出し、正しいサブネット情報を提供できます。これにより、DHCP サーバは音声 VLAN/サブネット プールから IP アドレスを割り当てることができるようになります。DHCP サービスを音声 VLAN にバインドするために必要となる明示的な手順はありません。

K. SVIの削除によるDHCPスヌーピング動作の中断

Cisco Catalyst 6500 シリーズ スイッチでは、特定の VLAN に DHCP スヌーピングを設定した後、自動的に（シャットダウン状態の）SVI を作成します。この SVI の存在は、DHCP スヌーピングの正常な動作に直接影響します。

ネイティブCisco IOSが稼働するCisco Catalyst 6500シリーズスイッチでのDHCPスヌーピングは、スイッチプロセッサ（SPまたはスーパーバイザ）ではなく、ルートプロセッサ（RPまたはMSFC）に大部分が実装されています。 RP がサブスクライブするローカル ターゲット ロジック（LTL）にパケットを提供する VACL が設定されたハードウェアでは、Cisco Catalyst 6500 シリーズ スイッチがパケットを代行受信します。フレームが RP に入力した後は、フレームに L3 インターフェイス（SVI）が関連付けられてからでないと、フレームをスヌーピング部分に渡すことはできません。SVI がなければ、この IDB は存在しないため、パケットは RP でドロップされます。

L.制限付きブロードキャストアドレス

DHCP クライアントが DHCP パケット内にブロードキャスト ビットを設定すると、DHCP サーバとリレー エージェントはオールワン型ブロードキャスト アドレス（255.255.255.255）を使用してクライアントに DHCP メッセージを送信します。 ip broadcast-addressコマンドがネットワークブロードキャストを送信するように設定されている場合、DHCPによって送信されたオールワンブロードキャストは上書きされます。この状況に対処するには、ip dhcp limited-broadcast-address コマンドを使用して、設定されたネットワークブロードキャストによってデフォルトのDHCP動作が上書きされないようにします。

オールワン型ブロードキャストしか受け入れることができない一部の DHCP クライアントは、クライアントに接続されたルータ インターフェイスにこのコマンドが設定されない限り、DHCP アドレスを取得できません。

M. Debugコマンドを使用したDHCPのデバッグ

debugコマンドを使用してルータがDHCP要求を受信することの確認

DHCPパケットを処理するソフトウェアをサポートするルータでは、ルータがクライアントからDHCP要求を受信しているかどうかを確認できます。ルータがクライアントから要求を受信しないと、DHCPプロセスは失敗します。この手順では、出力をデバッグするようにアクセスリストを設定します。このアクセスリストはコマンドをデバッグするためだけに使用され、ルータに影響を与えることはありません。

グローバルコンフィギュレーションモードで、次のアクセスリストを入力します。

access-list 100 permit ip host 0.0.0.0 host 255.255.255.255

execモードで、次のdebugコマンドを入力します。

debug ip packet detail 100

出力例

Router#debug ip packet detail 100

IP packet debugging is on (detailed) for access list 100

Router#

00:16:46: IP: s=0.0.0.0 (Ethernet4/0), d=255.255.255.255, len 604, rcvd 2

00:16:46: UDP src=68, dst=67

00:16:46: IP: s=0.0.0.0 (Ethernet4/0), d=255.255.255.255, len 604, rcvd 2

00:16:46: UDP src=68, dst=67

この出力例から、ルータがクライアントからのDHCP要求をアクティブに受信していることがわかります。この出力は、パケットの概要だけを示し、パケットそのものは表示しません。したがって、パケットが正しいかどうかを判断することはできません。そうとは言え、ルータが DHCP に適切な発信元および宛先 IP と UDP ポートが設定されたブロードキャスト パケットを受信していることは確認できます。

debug ip udpコマンドを使用したルータでのDHCP要求の受信と転送の確認

debug ip udpコマンドは、ルータを経由するDHCP要求のパスをトレースできます。ただし、このデバッグは実稼働環境では動作に影響を与えます。これは、処理されたすべてのスイッチドUDPパケットがコンソールに表示されるためです。このdebugコマンドは実稼働環境では使用しないでください。

警告：debug ip udpコマンドは割り込みを発生させるため、中央処理装置(CPU)の使用率が高くなる可能性があります。

execモードで、次のdebugコマンドを入力します。debug ip udp

出力例

Router#debug ip udp

UDP packet debugging is on

Router#

00:18:48: UDP: rcvd src=0.0.0.0(68), dst=255.255.255.255(67), length=584

!--- Router receiving DHCPDISCOVER from DHCP client.

00:18:48: UDP: sent src=192.168.1.1(67), dst=192.168.2.2(67), length=604

!--- Router forwarding DHCPDISCOVER unicast to DHCP server using DHCP/BootP Relay Agent source IP address.

00:18:48: UDP: rcvd src=192.168.2.2(67), dst=192.168.1.1(67), length=313

!--- Router receiving DHCPOFFER from DHCP server directed to DHCP/BootP Relay Agent IP address.

00:18:48: UDP: sent src=0.0.0.0(67), dst=255.255.255.255(68), length=333

!--- Router forwarding DHCPOFFER from DHCP server to DHCP client via DHCP/BootP Relay Agent.

00:18:48: UDP: rcvd src=0.0.0.0(68), dst=255.255.255.255(67), length=584

!--- Router receiving DHCPREQUEST from DHCP client.

00:18:48: UDP: sent src=192.168.1.1(67), dst=192.168.2.2(67), length=604

!--- Router forwarding DHCPDISCOVER unicast to DHCP server using DHCP/BootP Relay Agent source IP address.

00:18:48: UDP: rcvd src=192.168.2.2(67), dst=192.168.1.1(67), length=313

!--- Router receiving DHCPACK (or DHCPNAK) from DHCP directed to DHCP/BootP Relay Agent IP address.

00:18:48: UDP: sent src=0.0.0.0(67), dst=255.255.255.255(68), length=333

!--- Router forwarding DHCPACK (or DHCPNAK) to DHCP client via DHCP/BootP Relay Agent.

00:18:48: UDP: rcvd src=192.168.1.2(520), dst=255.255.255.255(520), length=32

!--- DHCP client verifying IP address not in use by sending ARP request for its own IP address.

00:18:50: UDP: rcvd src=192.168.1.2(520), dst=255.255.255.255(520), length=32

!--- DHCP client verifying IP address not in use by sending ARP request for its own IP address.

debug ip dhcp server packetコマンドを使用して、ルータがDHCP要求を受信して転送することを確認する

ルータCisco IOSが12.0.x.Tまたは12.1で、Cisco IOS DHCPサーバ機能をサポートしている場合は、debug ip dhcp server packetコマンドを使用できます。このデバッグは、IOS DHCPサーバ機能で使用し、DHCP/BootPリレーエージェント機能のトラブルシューティングにも使用することを目的としています。前の手順と同様に、実際のパケットは表示できないため、ルータのデバッグでは問題を正確に判別できません。ただし、デバッグを使用すると、DHCP処理に関する推論を行うことができます。execモードで、次のdebugコマンドを入力します。

debug ip dhcp server packet

Router#debug ip dhcp server packet

00:20:54: DHCPD: setting giaddr to 192.168.1.1.

!--- Router received DHCPDISCOVER/REQUEST/INRORM and setting Gateway IP address to 192.168.1.1 for forwarding.

00:20:54: DHCPD: BOOTREQUEST from 0063.6973.636f.2d30.3065.302e.3165.6632.2e63..

!--- BOOTREQUEST includes DHCPDISCOVER, DHCPREQUEST, and DHCPINFORM.

!--- 0063.6973.636f.2d30.3065.302e.3165.6632.2e63 indicates client identifier.

00:20:54: DHCPD: forwarding BOOTREPLY to client 00e0.1ef2.c441.

!--- BOOTREPLY includes DHCPOFFER and DHCPNAK.

!--- Client's MAC address is 00e0.1ef2.c441.

00:20:54: DHCPD: broadcasting BOOTREPLY to client 00e0.1ef2.c441.

!--- Router is forwarding DHCPOFFER or DHCPNAK broadcast on local LAN interface.

00:20:54: DHCPD: setting giaddr to 192.168.1.1.

!--- Router received DHCPDISCOVER/REQUEST/INFORM and set Gateway IP address to 192.168.1.1 for forwarding.

00:20:54: DHCPD: BOOTREQUEST from 0063.6973.636f.2d30.3065.302e.3165.6632.2e63..

!--- BOOTREQUEST includes DHCPDISCOVER, DHCPREQUEST, and DHCPINFORM.

!--- 0063.6973.636f.2d30.3065.302e.3165.6632.2e63 indicates client identifier.

00:20:54: DHCPD: forwarding BOOTREPLY to client 00e0.1ef2.c441.

!--- BOOTREPLY includes DHCPOFFER and DHCPNAK.

!--- Client's MAC address is 00e0.1ef2.c441.

00:20:54: DHCPD: broadcasting BOOTREPLY to client 00e0.1ef2.c441.

!--- Router is forwarding DHCPOFFER or DHCPNAK broadcast on local LAN interface.

複数のデバッグを同時に実行する

複数のデバッグを同時に実行すると、DHCP/BootPリレーエージェントとサーバの動作に関してかなりの量の情報を検出できます。上記の概要を使用してトラブルシューティングを行う場合は、DHCP/BootPリレーエージェント機能が正しく動作しない場所を推測できます。

IP: s=0.0.0.0 (Ethernet0), d=255.255.255.255, len 604, rcvd 2

UDP src=68, dst=67

UDP: rcvd src=0.0.0.0(68), dst=255.255.255.255(67), length=584

DHCPD: setting giaddr to 192.168.1.1.

UDP: sent src=192.168.1.1(67), dst=192.168.2.2(67), length=604

IP: s=192.168.1.1 (local), d=192.168.2.2 (Ethernet1), len 604, sending

UDP src=67, dst=67

DHCPD: BOOTREQUEST from 0063.6973.636f.2d30.3030.302e.3030.3030.2e30.3030.312d.4574.30 forwarded to 192.168.2.2.

IP: s=192.168.2.2 (Ethernet1), d=192.168.1.1, len 328, rcvd 4

UDP src=67, dst=67

UDP: rcvd src=192.168.2.2(67), dst=192.168.1.1(67), length=308

DHCPD: forwarding BOOTREPLY to client 0000.0000.0001.

DHCPD: broadcasting BOOTREPLY to client 0000.0000.0001.

UDP: sent src=0.0.0.0(67), dst=255.255.255.255(68), length=328

IP: s=0.0.0.0 (Ethernet0), d=255.255.255.255, len 604, rcvd 2

UDP src=68, dst=67

UDP: rcvd src=0.0.0.0(68), dst=255.255.255.255(67), length=584

DHCPD: setting giaddr to 192.168.1.1.

UDP: sent src=192.168.1.1(67), dst=192.168.2.2(67), length=604

IP: s=192.168.1.1 (local), d=192.168.2.2 (Ethernet1), len 604, sending

UDP src=67, dst=67

DHCPD: BOOTREQUEST from 0063.6973.636f.2d30.3030.302e.3030.3030.2e30.3030.312d.4574.30 forwarded to 192.168.2.2.

IP: s=192.168.2.2 (Ethernet1), d=192.168.1.1, len 328, rcvd 4

UDP src=67, dst=67

UDP: rcvd src=192.168.2.2(67), dst=192.168.1.1(67), length=308

DHCPD: forwarding BOOTREPLY to client 0000.0000.0001.

DHCPD: broadcasting BOOTREPLY to client 0000.0000.0001.

UDP: sent src=0.0.0.0(67), dst=255.255.255.255(68), length=328.

スニファ トレースを取得して DHCP 問題の根本原因を判別する

「同じLANセグメント上のDHCPクライアントとサーバのスニファトレースのデコード」および「DHCPリレーエージェントとして設定されたルータによって分離されたDHCPクライアントとサーバのスニファトレースのデコード」のセクションを確認してください

DHCPパケットトレースを解読します。

Catalystスイッチでスイッチドポートアナライザ(SPAN)機能を使用してスニファトレースを取得する方法については、『Catalystスイッチドポートアナライザ(SPAN)の設定例』を参照してください。

ルータでのデバッグを使用したパケットデコードの代替方法

Ciscoルータでdebug ip packet detail dump <acl>コマンドを使用すると、システムログまたはコマンドラインインターフェイス(CLI)にパケット全体を16進数で表示できます。 debugコマンドを使用してルータがDHCP要求を受信することを確認、およびdebugコマンドを使用してルータがDHCP要求を受信し、DHCPサーバに要求を転送することを確認します。同じデバッグ情報を16進数のパケットの詳細とともに取得するには、上記のセクションと、アクセスリストに追加されたdumpキーワードを確認します。パケットの内容を判別するには、パケットを変換する必要があります。付録 A に、その一例が記載されています。

付録 A:Cisco IOS DHCPの設定例

DHCP サーバ データベースはツリー構造になっています。ツリーのルートはナチュラル ネットワークのアドレス プール、ブランチはサブネットワークのアドレス プール、リーフはクライアントへの手動バインディングです。サブネットワークはネットワーク パラメータを継承し、クライアントはサブネットワーク パラメータを継承します。したがって、ドメイン名などの共通パラメータは、ツリーの最上位（ネットワークまたはサブネットワーク）レベルで設定する必要があります。

DHCPの設定方法およびDHCPに関連するコマンドの詳細については、『DHCP設定タスクリスト』を参照してください。

version 12.1

!

service timestamps debug uptime

service timestamps log uptime

no service password-encryption

!

hostname Router

!

enable password cisco

ip subnet-zero

no ip domain-lookup

ip dhcp excluded-address 10.10.1.1 10.10.1.199

!--- Address range excluded from DHCP pools.

ip dhcp pool test_dhcp

!--- DHCP pool (scope) name is test_dhcp.

network 10.10.1.0 255.255.255.0

!--- DHCP pool (address will be assigned in this range) for associated Gateway IP address.

default-router 10.10.1.1

!--- DHCP option for default gateway.

dns-server 10.30.1.1

!--- DHCP option for DNS server(s).

netbios-name-server 10.40.1.1

!--- DHCP option for NetBIOS name server(s) (WINS).

lease 0 0 1

!--- Lease time.

interface Ethernet0

description DHCP Client Network

ip address 10.10.1.1 255.255.255.0

no ip directed-broadcast

!

interface Ethernet1

description Server Network

ip address 10.10.2.1 255.255.255.0

no ip directed-broadcast

!

line con 0

transport input none

line aux 0

transport input all

line vty 0 4

login

!

end

関連情報

- ツールとリソース

- テクニカルサポート - Cisco Systems