内容

はじめに

前提条件

要件

使用するコンポーネント

表記法

背景説明

主要概念

シナリオ例

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）に関するいくつかの一般的な問題をトラブルシューティングする方法について説明します。

前提条件

要件

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

使用するコンポーネント

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

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

表記法

表記法の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。

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

背景説明

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:CiscoルータによるDHCPクライアントとサーバネットワーク間のルーティング

次の図のように設定すると、インターフェイス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アドレス255.255.255.255）になります。送信元IPアドレスは0.0.0.0です。これは、クライアントにIPアドレスが設定されていないためです。DHCPサーバがこのローカルサブネット上に存在し、正しく設定されて動作している場合、DHCPサーバはブロードキャストを受信し、DHCPOFFERメッセージで応答します。ローカル サブネット上に DHCP サーバがなければ、DHCP サーバが位置するローカル サブネット上に DHCP/BootP リレー エージェントが存在し、このリレー エージェントによって DHCPDISCOVER メッセージが転送されるようになっていなければなりません。

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

DHCPOFFER

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

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アドレスのアドレス解決プロトコル(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アドレスを持っていて、それが再起動された場合、クライアントは以前にリースされたIPアドレスをDHCPREQUESTパケットで明確に要求します。この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パケットテーブルにリストされたフィールドで構成されます。

注：このパケットは、元のBootPパケットの変更バージョンです。

フィールド

バイト数

[名前(Name)]

説明

op

1

OpCode

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

htype

1

ハードウェア タイプ

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

hlen

1

ハードウェア長

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

ホップ

1

ホップ数

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

xid

4

トランザクション ID

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

secs

2

秒数

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

flags

2

フラグ

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

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リレーエージェントは、ゲートウェイIPアドレスフィールドに、クライアントからDHCPメッセージを受信したインターフェイスのIPアドレスを設定します。DHCP サーバはこのゲートウェイ IP アドレス フィールドに基づいて、DHCPDISCOVER、DHCPREQUEST、または DHCPINFORM メッセージの発信元サブネットを判断します。

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

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

ネットワーク例：

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

BootP/DHCP 要求をクライアントから 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 メッセージを、該当するインターフェイスに対して指定されたすべてのヘルパー アドレスに転送します。サブネットにサービスを提供するために2つ以上のDHCPサーバを使用すると、DHCPクライアントとサーバの各ペアの間でDHCPDISCOVER、DHCPOFFER、およびDHCPREQUEST/DHCPDECLINEメッセージが交換されるため、DHCPトラフィックが増加するだけです。

手動バインドの設定

手動バインディングを設定する方法は2つあります。1つはWindowsホスト用で、もう1つはWindows以外のホスト用です。設定に使用するコマンドは2種類あります。1つはMicrosoft DHCPクライアント用で、もう1つは非Microsoft DHCPクライアント用です。具体的には、DHCPclient-identifier（手動バインディング – Microsoft DHCPクライアント）とDHCPhardware-address（手動バインディング – 非Microsoft DHCPクライアント）です。コマンドが2つある理由は、Windowsが稼働するPCではそのMACアドレスが変更され、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 タギングをサポートすることが前提となります）。

セカンダリ アドレスのほうが優先される方法だとしたら、別の回避策として、グローバル コンフィギュレーション コマンド ip 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を受信し、ローカルLAN上でDHCPOFFERブロードキャストを転送します。

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サーバとクライアントだけでなく、DHCP/BootPリレーエージェントのトラブルシューティングにも追加の手順が必要です。これらのモジュールを追跡すると、問題の原因となっているデバイスを特定できます。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- Cisco CatalystスイッチまたはCisco IOS DHCP/BootP Relay Agentソフトウェア不具合

- DHCP オファーが期待されるインターフェイスとは別のインターフェイスで受信されていることによる、Unicast Reverse Path Forwarding（uRPF）チェックの失敗。インターフェイスでリバース パス フォワーディング（RPF）機能が有効にされていると、Cisco ルータが、送信元アドレス 0.0.0.0、宛先アドレス 255.255.255.255 に設定された Dynamic Host Configuration Protocol（DHCP）パケットおよびブートストラップ プロトコル（BOOTP）パケットをドロップする可能性があります。また、ルータはマルチキャスト IP 宛先が設定されたすべての IP パケットをインターフェイスでドロップする可能性もあります。この問題は、Cisco Bug ID CSCdw31925

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

- DHCPデータベースエージェントを使用していないが、DHCP競合のロギングが無効にされていない

A.物理的な接続の確認

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

まず、DHCP クライアントとサーバの物理的な接続を確認します。Catalyst スイッチに接続されている場合は、DHCP クライアントとサーバの両方が物理的に接続されていることを確認します。 Catalyst 2900XL/3500XL/2950/3550などのCisco IOSベースのスイッチでは、show port statusに相当するコマンドとしてshow 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スイッチのポートがanerrdisabledstateになる場合があります。詳細については、『Cisco IOSプラットフォームでのerrdisableポート状態からの復旧』を参照してください。このドキュメントには、errdisable状態の概要とこの状態から回復する方法、および回復例が記載されています。

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

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

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

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

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

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

Microsoft Windows 95/98/ME：

1. Startbuttonをクリックして、WINIPCFG.exeプログラムを実行します。

2. Renew Allbuttonによって追跡されるRelease Allbuttonをクリックします。

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

IP Configurationウィンドウ

Microsoft Windows NT/2000：

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

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

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

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

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

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 dhcp が設定されていないことを確認します。この設定パラメータは、ルータ上のすべての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 コマンドを有効にする必要があります。

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

1. 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 アドレス競合のログへの記録を無効にしてください。DHCPアドレス競合のロギングを無効にするには、noip dhcp conflict logging コマンドを実行します。前にログに記録された競合をクリアするには、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を入力します。

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コマンドを使用できます。このデバッグは、Cisco 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サーバに転送することの確認」の項と、アクセスリストにdumpキーワードを追加して、同じデバッグ情報を16進数のパケット詳細とともに取得します。パケットの内容を判別するには、パケットを変換する必要があります。付録 A に、その一例が記載されています。

付録A:Cisco IOS 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

注：コマンドsubnet prefix-lengthはDHCPプールの通常の動作に必須ではないことに注意してください。このコマンドの使用は、サブネット割り当てプールが必要なシナリオに重点を置いています。このコマンドの詳細については、『DHCPサーバオンデマンドアドレスプールマネージャの設定』の「サブネット割り当てサーバの動作」のセクションを参照してください。

関連情報

- ツールとリソース

- シスコのテクニカルサポートとダウンロード