2011-02-21 05:21 PM
概要
このドキュメントでは、Cisco Catalyst スイッチ ネットワークで発生する可能性のある一般的な Dynamic Host Configuration Protocol(DHCP)問題のトラブルシューティング方法について説明しています。また、Cisco IOS(R) DHCP/BootP リレー エージェント機能を使用した場合のトラブルシューティングについても記載されています。
要件
このドキュメントに関する特別な要件はありません。
使用するコンポーネント
このドキュメントは、特定のソフトウェアやハードウェアに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで 使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。対象のネットワークが実稼働中である場合には、どのような作業について も、その潜在的な影響について確実に理解しておく必要があります。
表記法
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
主なコンセプト
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 サーバは、ユニキャストによって要求に応答します。この例では、ルータにこれ以上の設定は必要ありません。
シナリオ 2:L3 モジュールを搭載した Cisco Catalyst スイッチによる DHCP クライアントとサーバ ネットワーク間のルーティング
上記の図のように設定すると、インターフェイス VLAN20 は、クライアントがブロードキャストした DHCPDISCOVER を、インターフェイス VLAN10 経由で 192.168.2.2 に転送します。DHCP サーバは、ユニキャストによって要求に応答します。この例では、ルータにこれ以上の設定は必要ありません。スイッチ ポートはホスト ポートとして設定し、Spanning-Tree Protocol(STP; スパニング ツリー プロトコル)PortFast を有効に、トランキングとチャネリングを無効にする必要があります。
背景説明
DHCP が提供するメカニズムにより、TCP/IP を使用するコンピュータは、ネットワークを通じて自動的にプロトコル設定パラメータを取得できます。DHCP は、Internet Engineering Task Force(IETF; インターネット技術特別調査委員会) の Dynamic Host Configuration-Working Group (DHC-WG)によって策定されたオープン スタンダードです。
DHCP はクライアント サーバ パラダイムをベースにしており、DHCP クライアント(デスクトップ コンピュータなど)は設定パラメータを得るために DHCP サーバに要求を出します。DHCP サーバは、通常、中央に配置されており、ネットワーク管理者によって操作されます。ネットワーク管理者によってサーバが運用されているため、DHCP クライアントには、現在のネットワーク アーキテクチャに固有のパラメータが確実かつ動的に設定されます。
ほとんどの企業ネットワークは、Virtual LAN(VLAN; 仮想 LAN)と呼ばれるサブネットワークに分割された複数のサブネットから構成されており、ルータはサブネットワークの間をルーティングしています。デフォル トでは、ルータはブロードキャストを通過させないため、DHCP リレー エージェント機能を使用して DHCP ブロードキャストを転送するようにルータを設定しない限り、サブネットごとに DHCP サーバが必要となります。
DHCPについて
DHCP は当初 Requests for Comments(RFC)1531 で定義され、その後 RFC 2131 に置き換えられました。DHCP は、RFC 951 で定義されている Bootstrap Protocol(BootP; ブートストラップ プロトコル)に基づいています。
DHCP は、IP アドレス、サブネット マスク、デフォルト ゲートウェイなどの初期設定情報を起動時に取得するために、ワークステーション(ホスト)によって使用されます。IP ネットワークで通信するためには、すべてのホストに IP アドレスが必要です。DHCP を使用すれば、各ホストに IP アドレスを手動で設定するという管理上の負担が軽減されます。また、ホストが別の IP サブネットに移動した場合は、それまで使用していたものと異なる IP アドレスを使用しなければなりません。DHCP は、この処理を自動的に実行します。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メッセージ表
<TABLE cellSpacing=1 cellPadding=3 width="60%" bgColor=#ffffff
border=1>
<TBODY>
<TR>
<TH bgColor=#ccccff>
<P>参照</P></TH><TH bgColor=#ccccff>
<P>メッセージ</P></TH>
<TH bgColor=#ccccff>
<P>使用目的</P></TH></TR>
<TR>
<TD bgColor=#ffffff>
<P>0x01</P></TD><TD bgColor=#ffffff>
<P>DHCPDISCOVER</P></TD>
<TD bgColor=#ffffff>
<P>クライアントが使用可能な DHCP サーバを探しています。</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>0x02</P></TD><TD bgColor=#ffffff>
<P>DHCPOFFER</P></TD>
<TD bgColor=#ffffff>
<P>サーバがクライアントの DHCPDISCOVER に応答します。</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>0x03</P></TD><TD bgColor=#ffffff>
<P>DHCPREQUEST</P></TD>
<TD bgColor=#ffffff>
<P>クライアントは、パケット内の定義に従ってサーバに対してのブロードキャストを行い、特定の 1 台のサーバから提供されたパラメータを要求します。</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>0x04</P></TD><TD bgColor=#ffffff>
<P>DHCPDECLINE</P></TD>
<TD bgColor=#ffffff>
<P>クライアントがサーバに、与えられたネットワーク アドレスがすでに使用中であることを伝えます。</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>0x05</P></TD><TD bgColor=#ffffff>
<P>DHCPACK</P></TD>
<TD bgColor=#ffffff>
<P>サーバがクライアントに、割り当てられたネットワーク アドレスなどの設定パラメータを送信します。</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>0x06</P></TD><TD bgColor=#ffffff>
<P>DHCPNAK</P></TD>
<TD bgColor=#ffffff>
<P>サーバがクライアントに、設定パラメータの要求を拒否することを伝えます。</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>0x07</P></TD><TD bgColor=#ffffff>
<P>DHCPRELEASE</P></TD>
<TD bgColor=#ffffff>
<P>クライアントがサーバに、ネットワーク アドレスを解放し、残りのリースをキャンセルすることを伝えます。</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>0x08</P></TD><TD bgColor=#ffffff>
<P>DHCPINFORM</P></TD>
<TD bgColor=#ffffff>
<P>クライアントにアドレスがすでに外部的に設定されている場合に、クライアントがサーバに対してローカル設定パラメータのみを要求します。</P></TD></TR></TBODY></TABLE><br />
クライアントは初めて起動するときに(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 サーバがあるサブネットに DHCPDISCOVER メッセージを転送する DHCP/BootP リレー エージェントが、このローカル サブネット上に存在する必要があります。
このリレー エージェントは、専用ホスト(Microsoft Windows サーバなど)またはルータ(インターフェイス レベルで ip helper 文が設定された Cisco ルータなど)のどちらでもかまいません。
DHCPDISCOVER メッセージを受信した DHCP サーバは、UDP ポート 68(BootP クライアント)の DHCPOFFER メッセージで応答します。クライアントは DHCPOFFER を受信すると、Selecting 状態に移行します。この DHCPOFFER メッセージには、クライアント用の初期設定情報が含まれています。たとえば、DHCP サーバは、DHCPOFFER メッセージの yiaddr フィールドに、要求された IP アドレスを設定します。サブネット マスクとデフォルト ゲートウェイは、それぞれオプション フィールドの subnet mask と router options に指定されます。DHCPOFFER メッセージに含まれるその他の一般的なオプションには、IP アドレスのリース時間、更新時間、ドメイン ネーム サーバ、NetBIOS ネーム サーバ(WINS)などがあります。DHCP サーバは DHCPOFFER をブロードキャスト アドレスに送信しますが、オファーの chaddr フィールドにクライアントのハードウェア アドレスを設定します。そのため、クライアントはその DHCPOFFER の宛先が自分自身であるかどうかがわかります。DHCP サーバがローカル サブネット上にない場合、DHCP サーバは、DHCPDISCOVER の転送元である DHCP/BootP リレー エージェントに、ユニキャスト パケットとして UDP ポート 67 の DHCPOFFER を送信します。その後、HCP/BootP リレー エージェントは、Bootp クライアントによって設定されるブロードキャスト フラグに応じて、DUDP ポート 68 のローカル サブネットに DHCPOFFER をブロードキャストまたはユニキャストします。
クライアントは DHCPOFFER を受信した後、DHCPOFFER のパラメータを受け入れる意向を示すために DHCPREQUEST メッセージで応答し、Requesting 状態に移行します。クライアントが最初に送信した DHCPDISCOVER メッセージを複数の DHCP サーバが受信し、各 DHCP サーバがそれぞれメッセージを返信してきた場合、クライアントは複数の DHCPOFFER メッセージを受信することになります。この場合、クライアントは 1 つの DHCPOFFER を選択してその DHCP サーバのみに応答し、その他すべての DHCPOFFER メッセージを暗黙的に辞退します。クライアントは、選択したサーバを明確にするために、Server Identifier オプション フィールドに DHCP サーバの IP アドレスを設定します。DHCPREQUEST もブロードキャストされるため、DHCPOFFER を送信した DHCP サーバすべてが DHCPREQUEST を確認し、自身が返答した DHCPOFFER が受け入れられたかどうかを知ることができます。DHCPREQUEST メッセージのオプション フィールドには、クライアントが要求するその他の設定オプションも含まれています。クライアントは IP アドレスをオファーされた場合でも、送信元 IP アドレスに 0.0.0.0 を指定して DHCPREQUEST メッセージを送信します。これは、この時点ではまだクライアントがその IP アドレスを使用してよいという明確な確認を受信していないためです。
DHCP サーバは DHCPREQUEST を受信すると、その要求に対して DHCPACK メッセージで確認応答します。これによって初期化プロセスが完了します。DHCPACK メッセージには、送信元アドレスとして DHCP サーバの IP アドレス、宛先アドレスとして再びブロードキャストが指定され、DHCPREQUEST メッセージでクライアントから要求されたすべてのパラメータが含まれています。クライアントは DHCPACK を受信すると Bound 状態に移行し、割り当てられた IP アドレスを自由に使用してネットワーク上で通信できるようになります。一方、DHCP サーバはリース情報をデータベースに格納し、client identifier または chaddr と、対応する IP アドレスを使用してリースを一意に識別します。クライアントとサーバはどちらも、この識別情報の組み合せを使用してリースを参照します。client identifier は、デバイスの Mac アドレスとメディア タイプです。
DHCP クライアントは、新しいアドレスの使用を開始する前に、リースされたアドレスに関連する時間パラメータ、つまり Lease Time(LT; リース時間)、Renewal Time(T1; 更新時間)、および Rebind Time(T2; 再バインド時間)を計算します。標準的なデフォルト LT は 72 時間です。必要であれば、一定量のアドレスを維持するために、リース時間を短縮できます。
選択された DHCP サーバは、DHCPREQUEST メッセージの要求に応えられない場合、DHCPNAK メッセージで応答します。クライアントは、DHCPNAK メッセージを受信するか、または DHCPREQUEST メッセージへの応答が受信されないと、Requesting 状態に移行して設定プロセスを再び開始します。クライアントは、60 秒以内に最低 4 回 DHCPREQUEST を再送信しても応答がない場合、Initializing 状態に戻ります。
クライアントは DHCPACK を受信すると、オプションでパラメータの最終チェックを実行します。クライアントはこの手順を実行するために、DHCPACK で提供された IP アドレスの Address Resolution Protocol(ARP)要求を送信します。クライアントが ARP 要求への応答を受信し、指定したアドレスが使用中であることが判明した場合、クライアントはサーバに DHCPDECLINE メッセージを送信し、Requesting 状態に移行して設定プロセスを再び開始します。
クライアントが他の手段によってすでにネットワーク アドレスを取得している場合、または IP アドレスが手動で設定されている場合には、クライアント ワークステーションは、DHCPINFORM 要求メッセージを使用して、ドメイン名や Domain Name Server(DNS; ドメイン ネーム サーバ)といったその他のローカル設定パラメータを取得できます。DHCPINFORM メッセージを受信した DHCP サーバは、そのクライアントに応じた適切なローカル設定パラメータで DHCPACK メッセージを構成します。その際、新たに IP アドレスは割り当てません。DHCPACK はユニキャストでクライアントに送信されます。
DHCP クライアントは、DHCPRELEASE メッセージを DHCP サーバに送信することで、ネットワーク アドレスに関するリースを解放できます。クライアントは DHCPRELEASE メッセージの client identifier フィールドとネットワーク アドレスを使用して、解放するリースを識別します。現在の DHCP プール範囲を拡張する必要がある場合は、現在のアドレス プールを削除して、DHCP プールの下で新しい IP アドレスの範囲を指定します。特定の IP アドレスまたは DHCP プールに含めるアドレスの範囲を削除するには、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 を送信するクライアントは、server indentifier フィールドに値を設定する必要はありませんが、その代わりに IP address オプション フィールドに要求する IP アドレスを設定する必要があります。RFC に厳密に準拠したクライアントでは、DHCP オプション フィールドではなく、ciaddr フィールドに要求するアドレスが設定されます。DHCP サーバはどちらの方法にも対応します。DHCP サーバの動作は、多数のファクタに基づいて決まります。たとえば Windows NT DHCP サーバでは、使用されているオペレーティング システム バージョンなどのファクタがあり、その他にもスーパースコープなどのファクタが関係します。DHCP サーバは、クライアントから要求された IP アドレスがまだ使用できると判断した場合、DHCPREQUEST に対して何も応答しないか、または DHCPACK を送信します。クライアントから要求された IP アドレスが使用できないと判断した場合は、クライアントに DHCPNACK を返信します。この場合、クライアントは Initializing 状態に移行し、DHCPDISCOVER メッセージを送信します。
注: DHCP サーバは、IP アドレスのプールの一番下にある IP アドレスを、DHCP クライアントに割り当てます。一番下のアドレスは、そのリースが期限切れになった場合、要求されると、別のクライアントに割り当てられます。DHCP アドレスが割り当てられる順序を変更することはできません。
DHCP パケット
DHCP メッセージは可変長で、次の表に示すフィールドから構成されています。
注:このパケットは、オリジナルの BootP パケットの修正バージョンです。
<TABLE cellSpacing=1 cellPadding=3 width="60%" bgColor=#ffffff
border=1>
<TBODY>
<TR>
<TH bgColor=#ccccff>
<P>フィールド</P></TH>
<TH bgColor=#ccccff><P>バイト</P></TH>
<TH bgColor=#ccccff>
<P>Name</P></TH>
<TH bgColor=#ccccff>
<P>説明</P></TH></TR>
<TR>
<TD bgColor=#ffffff><P>op</P></TD>
<TD bgColor=#ffffff>
<P>1</P></TD>
<TD bgColor=#ffffff>
<P>OpCode</P></TD>
<TD bgColor=#ffffff>
<P>パケットが要求と応答のいずれであるかを識別します(1=BOOTREQUEST、2=BOOTREPLY)。</P></TD></TR><TR>
<TD bgColor=#ffffff>
<P>htype</P></TD>
<TD bgColor=#ffffff>
<P>1</P></TD>
<TD bgColor=#ffffff>
<P>ハードウェア タイプ</P></TD><TD bgColor=#ffffff>
<P>ネットワーク ハードウェア アドレスのタイプを指定します。</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>hlen</P></TD>
<TD bgColor=#ffffff>
<P>1</P></TD><TD bgColor=#ffffff>
<P>ハードウェア長</P></TD>
<TD bgColor=#ffffff>
<P>ハードウェア アドレス長を指定します。</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>hops</P></TD><TD bgColor=#ffffff>
<P>1</P></TD>
<TD bgColor=#ffffff>
<P>ホップ</P></TD>
<TD bgColor=#ffffff>
<P>クライアントが 0 を設定し、要求がルータを経由して転送されるたびに値がインクリメントされます。</P></TD></TR>
<TR><TD bgColor=#ffffff>
<P>xid</P></TD>
<TD bgColor=#ffffff>
<P>4</P></TD>
<TD bgColor=#ffffff>
<P>トランザクション ID</P></TD>
<TD bgColor=#ffffff><P>クライアントによって選択されたランダムな数字。特定の DHCP トランザクションで交換される DHCP メッセージにはすべて同じ ID(xid)が設定されます。</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>secs</P></TD>
<TD bgColor=#ffffff>
<P>2</P></TD>
<TD bgColor=#ffffff><P>秒</P></TD>
<TD bgColor=#ffffff>
<P>DHCP プロセスが始まってから経過した秒数を指定します。</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>flags</P></TD>
<TD bgColor=#ffffff><P>2</P></TD>
<TD bgColor=#ffffff>
<P>フラグ</P></TD>
<TD bgColor=#ffffff>
<P>メッセージがブロードキャストとユニキャストのいずれであるかを指定します。</P></TD></TR>
<TR>
<TD bgColor=#ffffff><P>ciaddr</P></TD>
<TD bgColor=#ffffff>
<P>4</P></TD>
<TD bgColor=#ffffff>
<P>クライアント IP アドレス</P></TD>
<TD bgColor=#ffffff>
<P>Bound、Renew、または Rebinding 状態の場合のように、クライアントが自身の IP アドレスを知っているときのみ使用されます。</P></TD></TR><TR>
<TD bgColor=#ffffff>
<P>yiaddr</P></TD>
<TD bgColor=#ffffff>
<P>4</P></TD>
<TD bgColor=#ffffff>
<P>相手先 IP アドレス</P></TD><TD bgColor=#ffffff>
<P>クライアント IP アドレスが 0.0.0.0 の場合、DHCP サーバはオファーされたクライアント IP アドレスをこのフィールドに設定します。</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>siaddr</P></TD>
<TD bgColor=#ffffff>
<P>4</P></TD><TD bgColor=#ffffff>
<P>サーバ IP アドレス</P></TD>
<TD bgColor=#ffffff>
<P>クライアントが DHCP サーバの IP アドレスを知っている場合は、このフィールドに DHCP サーバのアドレスが設定されます。それ以外では、DHCP サーバからの DHCPOFFER および DHCPACK で使用されます。</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>giaddr</P></TD><TD bgColor=#ffffff>
<P>4</P></TD>
<TD bgColor=#ffffff>
<P>ルータ IP アドレス(GI ADDR)</P></TD>
<TD bgColor=#ffffff>
<P>ゲートウェイ IP アドレス。DHCP/BootP リレー エージェントによって設定されます。</P></TD></TR>
<TR><TD bgColor=#ffffff>
<P>chaddr</P></TD>
<TD bgColor=#ffffff>
<P>16</P></TD>
<TD bgColor=#ffffff>
<P>クライアント MAC アドレス</P></TD>
<TD bgColor=#ffffff><P>DHCP クライアントの MAC アドレス。</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>sname</P></TD>
<TD bgColor=#ffffff>
<P>64</P></TD>
<TD bgColor=#ffffff><P>サーバ名</P></TD>
<TD bgColor=#ffffff>
<P>オプションのサーバ ホスト名。</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>file</P></TD>
<TD bgColor=#ffffff><P>128</P></TD>
<TD bgColor=#ffffff>
<P>ブート ファイル名</P></TD>
<TD bgColor=#ffffff>
<P>ブート ファイル名。</P></TD></TR>
<TR>
<TD bgColor=#ffffff><P>options</P></TD>
<TD bgColor=#ffffff>
<P>可変</P></TD>
<TD bgColor=#ffffff>
<P>オプション パラメータ</P></TD>
<TD bgColor=#ffffff>
<P>DHCP サーバが提供できるオプションのパラメータ。RFC 2132 に、使用可能なすべてのオプションが記載されています。</P></TD></TR></TBODY></TABLE>
DHCPサーバと同じサブネットにあるクライアントがDHCPアドレスを
取得する場合のクライアントサーバ間のやり取り
<TABLE cellSpacing=1 cellPadding=3 width="60%" bgColor=#ffffff
border=1>
<TBODY>
<TR>
<TH bgColor=#ccccff></P><P>パケット</P></TH>
<TH bgColor=#ccccff>
<P>送信元 MAC アドレス</P></TH>
<TH bgColor=#ccccff>
<P>宛先 MAC アドレス</P></TH>
<TH bgColor=#ccccff>
<P>送信元 IP アドレス</P></TH><TH bgColor=#ccccff>
<P>宛先 IP アドレス</P></TH></TR>
<TR>
<TD bgColor=#ffffff>
<P>DHCPDISCOVER</P></TD>
<TD bgColor=#ffffff>
<P>クライアント</P></TD><TD bgColor=#ffffff>
<P>ブロードキャスト</P></TD>
<TD bgColor=#ffffff>
<P>0.0.0.0</P></TD>
<TD bgColor=#ffffff>
<P>255.255.255.255</P></TD></TR>
<TR><TD bgColor=#ffffff>
<P>DHCPOFFER</P></TD>
<TD bgColor=#ffffff>
<P>DHCP サーバ</P></TD>
<TD bgColor=#ffffff>
<P>ブロードキャスト</P></TD>
<TD bgColor=#ffffff><P>DHCP サーバ</P></TD>
<TD bgColor=#ffffff>
<P>255.255.255.255</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>DHCPREQUEST</P></TD>
<TD bgColor=#ffffff><P>クライアント</P></TD>
<TD bgColor=#ffffff>
<P>ブロードキャスト</P></TD>
<TD bgColor=#ffffff>
<P>0.0.0.0</P></TD>
<TD bgColor=#ffffff>
<P>255.255.255.255</P></TD></TR><TR>
<TD bgColor=#ffffff>
<P>DHCPACK</P></TD>
<TD bgColor=#ffffff>
<P>DHCP サーバ</P></TD>
<TD bgColor=#ffffff>
<P>ブロードキャスト</P></TD><TD bgColor=#ffffff>
<P>DHCP サーバ</P></TD>
<TD bgColor=#ffffff>
<P>255.255.255.255</P></TD></TR></TBODY></TABLE>
概要DHCP/BootPリレーエージェントの役割
デフォルトでは、ルータはブロードキャスト パケットを転送しません。DHCP クライアント メッセージは宛先 IP アドレスとして 255.255.255.255(全ネットワークへのブロードキャスト)を使用するため、ルータに DHCP/BootP リレー エージェントが設定されていない限り、DHCP クライアントの要求をサブネットが異なる DHCP サーバに送信できません。DHCP/BootP リレー エージェントは、DHCP クライアントの代わりに DHCP サーバに DHCP 要求を転送します。DHCP/BootP リレー エージェントは、DHCP サーバに転送する DHCP フレームの送信元 IP アドレスの最後に自身の IP アドレスを付加します。これにより、DHCP サーバは DHCP/BootP リレー エージェントにユニキャストで応答できます。また、DHCP/BootP リレー エージェントは、ゲートウェイ IP アドレス フィールドに、クライアントからの DHCP メッセージを受信したインターフェイスの IP アドレスを設定します。DHCP サーバでは、ゲートウェイ ip address フィールドを使用して、DHCPDISCOVER、DHCPREQUEST、または DHCPINFORM メッセージの送信元のサブネットを特定します。
Cisco IOSルータでのDHCP/BootPリレーエージェント機能の設定
BootP または DHCP 要求を転送するための Cisco ルータの設定は簡単で、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)
- Boot Protocol(DHCP/BootP)クライアントおよびサーバのデータグラム(ポート 67 と 68)
- Terminal Access Control Access Control System(TACACS)サービス(ポート 49)
- IEN-116 ネーム サーバ(ポート 42)
IP ヘルパー アドレスは、UDP ブロードキャストをユニキャストまたはブロードキャスト IP アドレスに直接送信できます。ただし、IP ヘルパー アドレスを使用して、UDP ブロードキャストをあるサブネットから別のサブネットのブロードキャスト アドレスに転送することは推奨できません。これを行うと、大量のブロードキャスト フラッディングが発生するおそれがあるためです。次の例のように、1 つのインターフェイスに対して IP ヘルパー アドレスのエントリを複数設定することもできます。
! |
Cisco ルータは、DHCP リレー エージェントとして設定された DHCP サーバのロード バランシングをサポートしていません。Cisco ルータは、そのインターフェイスに関して言及されているすべてのヘルパー アドレスに、DHCPDISCOVER メッセージを転送します。サブネットをサポートするために複数の DHCP サーバを使用すると、DHCPDISCOVER、DHCPOFFER および DHCPREQUEST/DHCPDECLINE メッセージが DHCP クライアントとサーバの各ペアの間で交換されるため、DHCP トラフィックが増加します。
手動バインディングの設定
手動バインディングを設定する方法は 2 つあり、一方は Windows ホスト用、他方は非 Windows ホスト用です。設定に使用するコマンドは 2 つあり、一方は Microsoft DHCP クライアント用、他方は非 Microsoft DHCP クライアント用です。具体的に言うと、DHCP client-identifier(手動バインディング - Microsoft DHCP クライアント用)と DHCP hardware-address(手動バインディング - 非 Microsoft DHCP クライアント用)です。コマンドが 2 つある理由は、Windows が稼働する PC ではその MAC アドレスが変更され、MAC アドレスの先頭に 01 が付加されるからです。設定例を次に示します。
- 次の設定は、Microsoft DHCP クライアント用です。
configuration terminal
ip dhcp pool new_pool
host ip_address subnet_mask
client-identifier 01XXXXXXXXXXXX
!--- xxxxxx は 48 ビットの MAC アドレスであり、前に 01 が付加されます
- 次の設定は、非 Microsoft DHCP クライアント用です。configuration terminal
ip dhcp pool new_pool
host ip_address subnet_mask
hardware-address XXXXXXXXXXXX
!--- xxxxxx は 48 ビットの MAC アドレスです
セカンダリIPセグメントでDHCPを稼動させる方法
DHCP にはデフォルト時、プライマリ IP アドレスを使用して設定されたインターフェイスから要求を受信した場合のみ、応答パケットが送信されるという制限があります。DHCP トラフィックでは、ブロードキャスト アドレスが使用されます。ルータ インターフェイスは、DHCP 要求を受信すると、その DHCP 要求とともに、該当インターフェイス上で設定されているプライマリ IP の送信元アドレスを DHCP サーバに転送(IP ヘルパー アドレスが設定されている場合)し、DHCP 応答パケット内で(クライアントのために)使用すべき IP プールを DHCP サーバに教えます。
インターフェイス上で設定されているセカンダリ IP ネットワーク上のデバイスから DHCP ブロードキャスト要求が来るのか否かをルータが判断する方法はありません。回避策として、サブインターフェイスの設定(ルータに接続されているデバイスが dot1q タギングをサポートしている場合)により 2 つのサブネットを分割し、両者が対応する IP アドレスを正しく取得できるようにします。
セカンダリ アドレスの方が望ましい場合は、グローバル設定コマンド ip dhcp smart-relay を有効にするという回避策もあります。ただし、その場合は、プライマリ アドレス プールに対する要求が 3 回連続してあった後、DHCP サーバから応答がないとき、DHCP 要求のリレーにセカンダリ IP しか使用されないという制限があります。
DHCPリレー機能を使用したDHCPクライアントサーバ間のやり取り
次の表は、DHCP クライアントが DHCP サーバから IP アドレスを取得するプロセスを示しています。この表は、上記のネットワーク ダイアグラムに 基づいています。ダイアグラム上の数値は、下表で説明されているパケットを表します。この表は、DHCP クライアント サーバ間のやり取りにおけるパケット フローを理解するためのリファレンス ポイントです。また、DHCP の問題発生箇所を特定する上でも役立ちます。
<TABLE cellSpacing=1 cellPadding=3 width="60%" bgColor=#ffffff
border=1>
<TBODY>
<TR>
<TH bgColor=#ccccff>
<P>パケット</P></TH>
<TH bgColor=#ccccff>
<P>クライアント IP アドレス</P></TH>
<TH bgColor=#ccccff><P>サーバ IP アドレス</P></TH>
<TH bgColor=#ccccff>
<P>GI アドレス</P></TH>
<TH bgColor=#ccccff>
<P>パケットの送信元 MAC アドレス</P></TH>
<TH bgColor=#ccccff>
<P>パケットの送信元 IP アドレス</P></TH><TH bgColor=#ccccff>
<P>パケットの宛先 MAC アドレス</P></TH>
<TH bgColor=#ccccff>
<P>パケットの宛先 IP アドレス</P></TH></TR>
<TR>
<TD bgColor=#ffffff>
<P>1. DHCPDISCOVER がクライアントから送信されます。</P></TD><TD bgColor=#ffffff>
<P>0.0.0.0</P></TD>
<TD bgColor=#ffffff>
<P>0.0.0.0</P></TD>
<TD bgColor=#ffffff>
<P>0.0.0.0</P></TD>
<TD bgColor=#ffffff><P>0005.DCC9.C640</P></TD>
<TD bgColor=#ffffff>
<P>0.0.0.0</P></TD>
<TD bgColor=#ffffff>
<P>ffff.ffff.fffff (broadcast)</P></TD>
<TD bgColor=#ffffff>
<P>255.255.255.255</P></TD></TR><TR>
<TD bgColor=#ffffff>
<P>2. ルータの E1 インターフェイスで DHCPDISCOVER が受信されます。ルータはこのパケットが DHCP UDP ブロードキャストであると認識します。ここからルータは DHCP/BootP リレー エージェントとして動作します。ゲートウェイ IP アドレス フィールドに着信インターフェイスの IP アドレスを設定し、送信元 IP アドレスを着信インターフェイスの IP アドレスに変更して、要求を DHCP サーバに直接転送します。</P></TD>
<TD bgColor=#ffffff>
<P>0.0.0.0</P></TD>
<TD bgColor=#ffffff>
<P>0.0.0.0</P></TD><TD bgColor=#ffffff>
<P>192.168.1.1</P></TD>
<TD bgColor=#ffffff>
<P>インターフェイス E2 の MAC アドレス</P></TD>
<TD bgColor=#ffffff>
<P>192.168.1.1</P></TD>
<TD bgColor=#ffffff><P>DHCP サーバの MAC アドレス</P></TD>
<TD bgColor=#ffffff>
<P>192.168.2.2</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>3. DHCP サーバは DHCPDISCOVER を受信し、DHCP リレー エージェントに対して DHCPOFFER を送信します。</P></TD>
<TD bgColor=#ffffff><P>192.168.1.2</P></TD>
<TD bgColor=#ffffff>
<P>192.168.2.2</P></TD>
<TD bgColor=#ffffff>
<P>192.168.1.1</P></TD>
<TD bgColor=#ffffff>
<P>DHCP サーバの MAC アドレス</P></TD><TD bgColor=#ffffff>
<P>192.168.2.2</P></TD>
<TD bgColor=#ffffff>
<P>インターフェイス E2 の MAC アドレス</P></TD>
<TD bgColor=#ffffff>
<P>192.168.1.1</P></TD></TR>
<TR><TD bgColor=#ffffff>
<P>4. DHCP リレー エージェントは DHCPOFFER を受信し、DHCPOFFER ブロードキャストをローカル LAN に転送します。</P></TD>
<TD bgColor=#ffffff>
<P>192.168.1.2</P></TD>
<TD bgColor=#ffffff>
<P>192.168.2.2</P></TD>
<TD bgColor=#ffffff><P>192.168.1.1</P></TD>
<TD bgColor=#ffffff>
<P>インターフェイス E1 の MAC アドレス</P></TD>
<TD bgColor=#ffffff>
<P>192.168.1.1</P></TD>
<TD bgColor=#ffffff>
<P>ffff.ffff.ffff (broadcast)</P></TD><TD bgColor=#ffffff>
<P>255.255.255.255</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>5. DHCPREQUEST がクライアントから送信されます。</P></TD>
<TD bgColor=#ffffff>
<P>0.0.0.0</P></TD><TD bgColor=#ffffff>
<P>0.0.0.0</P></TD>
<TD bgColor=#ffffff>
<P>0.0.0.0</P></TD>
<TD bgColor=#ffffff>
<P>0005.DCC9.C640</P></TD>
<TD bgColor=#ffffff><P>0.0.0.0</P></TD>
<TD bgColor=#ffffff>
<P>ffff.ffff.fffff (broadcast)</P></TD>
<TD bgColor=#ffffff>
<P>255.255.255.255</P></TD></TR>
<TR>
<TD bgColor=#ffffff><P>6. ルータの E1 インターフェイスで DHCPREQUEST が受信されます。ルータはこのパケットが DHCP UDP ブロードキャストであると認識します。ここからルータは DHCP リレー エージェントとして動作します。ゲートウェイ IP アドレス フィールドに着信インターフェイスの IP アドレスを設定し、送信元 IP アドレスを着信インターフェイスの IP アドレスに変更して、要求を DHCP サーバに直接転送します。</P></TD>
<TD bgColor=#ffffff>
<P>0.0.0.0</P></TD>
<TD bgColor=#ffffff>
<P>0.0.0.0</P></TD>
<TD bgColor=#ffffff>
<P>192.168.1.1</P></TD><TD bgColor=#ffffff>
<P>インターフェイス E2 の MAC アドレス</P></TD>
<TD bgColor=#ffffff>
<P>192.168.1.1</P></TD>
<TD bgColor=#ffffff>
<P>DHCP サーバの MAC アドレス</P></TD>
<TD bgColor=#ffffff><P>192.168.2.2</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>7. DHCP サーバは DHCPREQUEST を受信し、DHCP/BootP リレー エージェントに対して DHCPACK を送信します。</P></TD>
<TD bgColor=#ffffff>
<P>192.168.1.2</P></TD>
<TD bgColor=#ffffff><P>192.168.2.2</P></TD>
<TD bgColor=#ffffff>
<P>192.168.1.1</P></TD>
<TD bgColor=#ffffff>
<P>DHCP サーバの MAC アドレス</P></TD>
<TD bgColor=#ffffff>
<P>192.168.2.2</P></TD><TD bgColor=#ffffff>
<P>インターフェイス E2 の MAC アドレス</P></TD>
<TD bgColor=#ffffff>
<P>192.168.1.1</P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>8. DHCP/BootP リレー エージェントは DHCPACK を受信し、DHCPACK ブロードキャストをローカル LAN に転送します。クライアントは ACK を受け入れて、クライアント IP アドレスを使用します。</P></TD><TD bgColor=#ffffff>
<P>192.168.1.2</P></TD>
<TD bgColor=#ffffff>
<P>192.168.2.2</P></TD>
<TD bgColor=#ffffff>
<P>192.168.1.1</P></TD>
<TD bgColor=#ffffff><P>インターフェイス E1 の MAC アドレス</P></TD>
<TD bgColor=#ffffff>
<P>192.168.1.1</P></TD>
<TD bgColor=#ffffff>
<P>ffff.ffff.ffff (broadcast)</P></TD>
<TD bgColor=#ffffff>
<P>255.255.255.255</P></TD></TR></TBODY></TABLE>
Pre-Execution Environment(PXE)ブートアップDHCPの注意事項
Pre-Execution Environment(PXE)を使用すると、ローカル ハード ドライブでオペレーティング システムをブートする前に、ネットワーク上でサーバからワークステーションをブートすることができます。ネットワーク管理者は、特定のワークステーション がある実際の場所まで出向いて、手動でワークステーションをブートする必要がなくなります。オペレーティング システムや診断プログラムなどのソフトウェアを、ネットワーク経由でサーバからデバイスにロードできます。PXE 環境では DHCP を使用してその IP アドレスを設定します。
DHCP サーバがネットワークの別のルーティング セグメントに存在する場合は、ルータで DHCP/BootP リレー エージェントの設定を行う必要があります。ローカル ルータ インターフェイスでは、ip helper address コマンドを設定する必要があります。設定の詳細は、このドキュメントの「Cisco IOS ルータでの DHCP/BootP リレー エージェント機能の設定」のセクションを参照してください。
スニファトレースを使用したDHCPの説明とトラブルシューティング
同一のLANセグメントにあるDHCPクライアントとサーバの
スニファトレースの解読
次のスニファ トレースは 6 つのフレームから構成されています。これら 6 つのフレームは、DHCP クライアントおよびサーバが同じ物理セグメントまたは論理セグメントに存在する場合の、DHCP の動作シナリオを示しています。DHCP のトラブルシューティングを行うときは、取得したスニファ トレースを次のトレースと照合してください。次のトレースと一部異なる点があるかもしれませんが、一般的なパケット フローはほぼ同じです。パケット トレースは、DHCP の動作の仕組みに関する前述の説明に従います。
<p>- - - - - - - - - - - - - - - - - - - - Frame 1 - DHCPDISCOVER - - - - - - - - - - - - - - - - - - - -<br>
<br>
<br>Frame Status Source Address Dest.Address Size Rel.Time Delta Time Abs.Time Summary
<br>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,
<br>Message type: DHCP Discover
<br>DLC: ----- DLC Header -----
<br>DLC:
<br>DLC: Frame 1arrived at 11:52:03.8106; frame size is 618 (026A hex) bytes.
<br>DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast
<br>DLC: Source = Station 0005DCC9C640
<br>DLC: Ethertype = 0800 (IP)
<br>DLC:
<br>IP: ----- IP Header -----
<br>IP:
<br>IP: Version = 4, header length = 20 bytes
<br>IP: Type of service = 00
<br>IP: 000.....= routine
<br>IP: ...0 ....= normal delay
<br>IP: ....0... = normal throughput
<br>IP: .... .0..= normal reliability
<br>IP: .... ..0.= ECT bit - transport protocol will ignore the CE bit
<br>IP: .......0 = CE bit - no congestion
<br>IP: Total length = 604 bytes
<br>IP: Identification = 9
<br>IP: Flags = 0X
<br>IP: .0......= may fragment
<br>IP: ..0.....= last fragment
<br>IP: Fragment offset = 0 bytes
<br>IP: Time to live = 255 seconds/hops
<br>IP: Protocol = 17 (UDP)
<br>IP: Header checksum = B988 (correct)
<br>IP: Source address = [0.0.0.0]
<br>IP: Destination address = [255.255.255.255]
<br>IP: No options
<br>IP:
<br>UDP: ----- UDP Header -----
<br>UDP:
<br>UDP: Source port = 68 (BootPc/DHCP)
<br>UDP: Destination port = 67 (BootPs/DHCP)
<br>UDP: Length = 584
<br>UDP: No checksum
<br>UDP: [576 byte(s) of data]
<br>UDP:
<br>DHCP: ----- DHCP Header -----
<br>DHCP:
<br>DHCP: Boot record type = 1 (Request)
<br>DHCP: Hardware address type = 1 (10Mb Ethernet)
<br>DHCP: Hardware address length = 6 bytes
<br>DHCP:
<br>DHCP: Hops = 0
<br>DHCP: Transaction id = 00000882
<br>DHCP: Elapsed boot time = 0 seconds
<br>DHCP: Flags = 8000
<br>DHCP: 1... ............= Broadcast IP datagrams
<br>DHCP: Client self-assigned IP address = [0.0.0.0]
<br>DHCP: Client IP address = [0.0.0.0]
<br>DHCP: Next Server to use in bootstrap = [0.0.0.0]
<br>DHCP: Relay Agent = [0.0.0.0]
<br>DHCP: Client hardware address = 0005DCC9C640
<br>DHCP:
<br>DHCP: Host name = ""
<br>DHCP: Boot file name = ""
<br>DHCP:
<br>DHCP: Vendor Information tag = 63825363
<br>DHCP: Message Type = 1 (DHCP Discover)
<br>DHCP: Maximum message size = 1152
<br>DHCP: Client identifier = 00636973636F2D303030352E646363392E633634302D564C31
<br>DHCP: Parameter Request List: 7 entries
<br>DHCP: 1 = Client's subnet mask
<br>DHCP: 66 = TFTP Option
<br>DHCP: 6 = Domain name server
<br>DHCP: 3 = Routers on the client's subnet
<br>DHCP: 67 = Boot File Option
<br>DHCP: 12 = Host name server
<br>DHCP: 150 = Unknown Option
<br>DHCP: Class identifier = 646F63736973312E30
<br>DHCP: Option overload =3 (File and Sname fields hold options)
<br>DHCP:</p>
<br><br>
<p>- - - - - - - - - - - - - - - - - - - - Frame 2 - DHCPOFFER - - - - - - - - - - - - - - - - - - - -<br>
<br><br>
<br>Frame Status Source Address Dest.Address Size Rel.Time Delta Time Abs.Time Summary
<br>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,
<br>Message type: DHCP Offer
<br>DLC: ----- DLC Header -----
<br>DLC:
<br>DLC: Frame 2 arrived at 11:52:03.8258; frame size is 331 (014B hex) bytes.
<br>DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast
<br>DLC: Source = Station 0005DCC42484
<br>DLC: Ethertype = 0800 (IP)
<br>DLC:
<br>IP: ----- IP Header -----
<br>IP:
<br>IP: Version = 4, header length = 20 bytes
<br>IP: Type of service = 00
<br>IP: 000.....= routine
<br>IP: ...0 ....= normal delay
<br>IP: ....0... = normal throughput
<br>IP: .... .0..= normal reliability
<br>IP: .... ..0.= ECT bit - transport protocol will ignore the CE bit
<br>IP: .......0 = CE bit - no congestion
<br>IP: Total length = 317 bytes
<br>IP: Identification = 5
<br>IP: Flags = 0X
<br>IP: .0......= may fragment
<br>IP: ..0.....= last fragment
<br>IP: Fragment offset = 0 bytes
<br>IP: Time to live = 255 seconds/hops
<br>IP: Protocol = 17 (UDP)
<br>IP: Header checksum = F901 (correct)
<br>IP: Source address = [192.168.1.1]
<br>IP: Destination address = [255.255.255.255]
<br>IP: No options
<br>IP:
<br>UDP: ----- UDP Header -----
<br>UDP:
<br>UDP: Source port = 67 (BootPs/DHCP)
<br>UDP: Destination port = 68 (BootPc/DHCP)
<br>UDP: Length = 297
<br>UDP: No checksum
<br>UDP: [289 byte(s) of data]
<br>UDP:
<br>DHCP: ----- DHCP Header -----
<br>DHCP:
<br>DHCP: Boot record type = 2 (Reply)
<br>DHCP: Hardware address type = 1 (10Mb Ethernet)
<br>DHCP: Hardware address length = 6 bytes
<br>DHCP:
<br>DHCP: Hops = 0
<br>DHCP: Transaction id = 00000882
<br>DHCP: Elapsed boot time = 0 seconds
<br>DHCP: Flags = 8000
<br>DHCP: 1... ............= Broadcast IP datagrams
<br>DHCP: Client self-assigned IP address = [0.0.0.0]
<br>DHCP: Client IP address = [192.168.1.2]
<br>DHCP: Next Server to use in bootstrap = [0.0.0.0]
<br>DHCP: Relay Agent = [0.0.0.0]
<br>DHCP: Client hardware address = 0005DCC9C640
<br>DHCP:
<br>DHCP: Host name = ""
<br>DHCP: Boot file name = ""
<br>DHCP:
<br>DHCP: Vendor Information tag = 63825363
<br>DHCP: Message Type = 2 (DHCP Offer)
<br>DHCP: Server IP address = [192.168.1.1]
<br>DHCP: Request IP address lease time = 85535 (seconds)
<br>DHCP: Address Renewel interval = 42767 (seconds)
<br>DHCP: Address Rebinding interval = 74843 (seconds)
<br>DHCP: Subnet mask = [255.255.255.0]
<br>DHCP: Domain Name Server address = [192.168.1.3]
<br>DHCP: Domain Name Server address = [192.168.1.4]
<br>DHCP: Gateway address = [192.168.1.1]
<br>DHCP:</p>
<br><br>
<p>- - - - - - - - - - - - - - - - - - - - Frame 3 - DHCPREQUEST - - - - - - - - - - - - - - - - - - -<br>
<br><br>
<br>Frame Status Source Address Dest.Address Size Rel.Time Delta Time Abs.Time Summary
<br>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,
<br>Message type: DHCP Request
<br>DLC: ----- DLC Header -----
<br>DLC:
<br>DLC: Frame 56 arrived at 11:52:03.8294; frame size is 618 (026A hex) bytes.
<br>DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast
<br>DLC: Source = Station 0005DCC9C640
<br>DLC: Ethertype = 0800 (IP)
<br>DLC:
<br>IP: ----- IP Header -----
<br>IP:
<br>IP: Version = 4, header length = 20 bytes
<br>IP: Type of service = 00
<br>IP: 000.....= routine
<br>IP: ...0 ....= normal delay
<br>IP: ....0... = normal throughput
<br>IP: .... .0..= normal reliability
<br>IP: .... ..0.= ECT bit - transport protocol will ignore the CE bit
<br>IP: .......0 = CE bit - no congestion
<br>IP: Total length = 604 bytes
<br>IP: Identification = 10
<br>IP: Flags = 0X
<br>IP: .0......= may fragment
<br>IP: ..0.....= last fragment
<br>IP: Fragment offset = 0 bytes
<br>IP: Time to live = 255 seconds/hops
<br>IP: Protocol = 17 (UDP)
<br>IP: Header checksum = B987 (correct)
<br>IP: Source address = [0.0.0.0]
<br>IP: Destination address = [255.255.255.255]
<br>IP: No options
<br>IP:
<br>UDP: ----- UDP Header -----
<br>UDP:
<br>UDP: Source port = 68 (BootPc/DHCP)
<br>UDP: Destination port = 67 (BootPs/DHCP)
<br>UDP: Length = 584
<br>UDP: No checksum
<br>UDP: [576 byte(s) of data]
<br>UDP:
<br>DHCP: ----- DHCP Header -----
<br>DHCP:
<br>DHCP: Boot record type = 1 (Request)
<br>DHCP: Hardware address type = 1 (10Mb Ethernet)
<br>DHCP: Hardware address length = 6 bytes
<br>DHCP:
<br>DHCP: Hops = 0
<br>DHCP: Transaction id = 00000882
<br>DHCP: Elapsed boot time = 0 seconds
<br>DHCP: Flags = 8000
<br>DHCP: 1... ............= Broadcast IP datagrams
<br>DHCP: Client self-assigned IP address = [0.0.0.0]
<br>DHCP: Client IP address = [0.0.0.0]
<br>DHCP: Next Server to use in bootstrap = [0.0.0.0]
<br>DHCP: Relay Agent = [0.0.0.0]
<br>DHCP: Client hardware address = 0005DCC9C640
<br>DHCP:
<br>DHCP: Host name = ""
<br>DHCP: Boot file name = ""
<br>DHCP:
<br>DHCP: Vendor Information tag = 63825363
<br>DHCP: Message Type = 3 (DHCP Request)
<br>DHCP: Maximum message size = 1152
<br>DHCP: Client identifier = 00636973636F2D303030352E646363392E633634302D564C31
<br>DHCP: Server IP address = [192.168.1.1]
<br>DHCP: Request specific IP address = [192.168.1.2]
<br>DHCP: Request IP address lease time = 85535 (seconds)
<br>DHCP: Parameter Request List: 7 entries
<br>DHCP: 1 = Client's subnet mask
<br>DHCP: 66 = TFTP Option
<br>DHCP: 6 = Domain name server
<br>DHCP: 3 = Routers on the client's subnet
<br>DHCP: 67 = Boot File Option
<br>DHCP: 12 = Host name server
<br>DHCP: 150 = Unknown Option
<br>DHCP: Class identifier = 646F63736973312E30
<br>DHCP: Option overload =3 (File and Sname fields hold options)
<br>DHCP:</p>
<br><br>
<p>- - - - - - - - - - - - - - - - - - - - Frame 4 - DHCPACK - - - - - - - - - - - - - - - - - - - -<br>
<br><br>
<br>Frame Status Source Address Dest.Address Size Rel.Time Delta Time Abs.Time Summary
<br>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,
<br> Message type: DHCP Ack
<br>DLC: ----- DLC Header -----
<br>DLC:
<br>DLC: Frame 57 arrived at 11:52:03.8440; frame size is 331 (014B hex) bytes.
<br>DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast
<br>DLC: Source = Station 0005DCC42484
<br>DLC: Ethertype = 0800 (IP)
<br>DLC:
<br>IP: ----- IP Header -----
<br>IP:
<br>IP: Version = 4, header length = 20 bytes
<br>IP: Type of service = 00
<br>IP: 000.....= routine
<br>IP: ...0 ....= normal delay
<br>IP: ....0... = normal throughput
<br>IP: .... .0..= normal reliability
<br>IP: .... ..0.= ECT bit - transport protocol will ignore the CE bit
<br>IP: .......0 = CE bit - no congestion
<br>IP: Total length = 317 bytes
<br>IP: Identification = 6
<br>IP: Flags = 0X
<br>IP: .0......= may fragment
<br>IP: ..0.....= last fragment
<br>IP: Fragment offset = 0 bytes
<br>IP: Time to live = 255 seconds/hops
<br>IP: Protocol = 17 (UDP)
<br>IP: Header checksum = F900 (correct)
<br>IP: Source address = [192.168.1.1]
<br>IP: Destination address = [255.255.255.255]
<br>IP: No options
<br>IP:
<br>UDP: ----- UDP Header -----
<br>UDP:
<br>UDP: Source port = 67 (BootPs/DHCP)
<br>UDP: Destination port = 68 (BootPc/DHCP)
<br>UDP: Length = 297
<br>UDP: No checksum
<br>UDP: [289 byte(s) of data]
<br>UDP:
<br>DHCP: ----- DHCP Header -----
<br>DHCP:
<br>DHCP: Boot record type = 2 (Reply)
<br>DHCP: Hardware address type = 1 (10Mb Ethernet)
<br>DHCP: Hardware address length = 6 bytes
<br>DHCP:
<br>DHCP: Hops = 0
<br>DHCP: Transaction id = 00000882
<br>DHCP: Elapsed boot time = 0 seconds
<br>DHCP: Flags = 8000
<br>DHCP: 1... ............= Broadcast IP datagrams
<br>DHCP: Client self-assigned IP address = [0.0.0.0]
<br>DHCP: Client IP address = [192.168.1.2]
<br>DHCP: Next Server to use in bootstrap = [0.0.0.0]
<br>DHCP: Relay Agent = [0.0.0.0]
<br>DHCP: Client hardware address = 0005DCC9C640
<br>DHCP:
<br>DHCP: Host name = ""
<br>DHCP: Boot file name = ""
<br>DHCP:
<br>DHCP: Vendor Information tag = 63825363
<br>DHCP: Message Type = 5 (DHCP Ack)
<br>DHCP: Server IP address = [192.168.1.1]
<br>DHCP: Request IP address lease time = 86400 (seconds)
<br>DHCP: Address Renewel interval = 43200 (seconds)
<br>DHCP: Address Rebinding interval = 75600 (seconds)
<br>DHCP: Subnet mask = [255.255.255.0]
<br>DHCP: Domain Name Server address = [192.168.1.3]
<br>DHCP: Domain Name Server address = [192.168.1.4]
<br>DHCP: Gateway address = [192.168.1.1]
<br>DHCP:</p>
<br><br>
<p>- - - - - - - - - - - - - - - - - - - - Frame 5 - ARP - - - - - - - - - - - - - - - - - - - -<br>
<br><br>
<br>Frame Status Source Address Dest.Address Size Rel.Time Delta Time Abs.Time Summary
<br>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]
<br> HA=0005DCC9C640 PRO=IP
<br>DLC: ----- DLC Header -----
<br>DLC:
<br>DLC: Frame 58 arrived at 11:52:03.8470; frame size is 60 (003C hex) bytes.
<br>DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast
<br>DLC: Source = Station 0005DCC9C640
<br>DLC: Ethertype = 0806 (ARP)
<br>DLC:
<br>ARP: ----- ARP/RARP frame -----
<br>ARP:
<br>ARP: Hardware type = 1 (10Mb Ethernet)
<br>ARP: Protocol type = 0800 (IP)
<br>ARP: Length of hardware address = 6 bytes
<br>ARP: Length of protocol address = 4 bytes
<br>ARP: Opcode 2 (ARP reply)
<br>ARP: Sender's hardware address = 0005DCC9C640
<br>ARP: Sender's protocol address = [192.168.1.2]
<br>ARP: Target hardware address = FFFFFFFFFFFF
<br>ARP: Target protocol address = [192.168.1.2]
<br>ARP:
<br>ARP: 18 bytes frame padding
<br>ARP:</p>
<br><br>
<p>- - - - - - - - - - - - - - - - - - - - Frame 6 - ARP - - - - - - - - - - - - - - - - - - - -<br>
<br><br>
<br>Frame Status Source Address Dest.Address Size Rel.Time Delta Time Abs.Time Summary
<br>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]
<br> HA=0005DCC9C640 PRO=IP
<br>DLC: ----- DLC Header -----
<br>DLC:
<br>DLC: Frame 59 arrived at 11:52:04.3557; frame size is 60 (003C hex) bytes.
<br>DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast
<br>DLC: Source = Station 0005DCC9C640
<br>DLC: Ethertype = 0806 (ARP)
<br>DLC:
<br>ARP: ----- ARP/RARP frame -----
<br>ARP:
<br>ARP: Hardware type = 1 (10Mb Ethernet)
<br>ARP: Protocol type = 0800 (IP)
<br>ARP: Length of hardware address = 6 bytes
<br>ARP: Length of protocol address = 4 bytes
<br>ARP: Opcode 2 (ARP reply)
<br>ARP: Sender's hardware address = 0005DCC9C640
<br>ARP: Sender's protocol address = [192.168.1.2]
<br>ARP: Target hardware address = FFFFFFFFFFFF
<br>ARP: Target protocol address = [192.168.1.2]
<br>ARP:
<br>ARP: 18 bytes frame padding
<br>ARP:</p>
DHCPリレーエージェントとして設定されているルータによって分けられた
DHCPクライアントとサーバのスニファトレースの解読
<p>- - - - - - - - - - - - - - - - - - - - Frame 1 - DHCPDISCOVER - - - - - - - - - - - - - - - - - - - -<br>
<br>
<br>Frame Status Source Address Dest.Address Size Rel.Time Delta Time Abs.Time Summary
<br>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,
<br> Message type: DHCP Discover
<br>DLC: ----- DLC Header -----
<br>DLC:
<br>DLC: Frame 124 arrived at 06:53:04.2043; frame size is 618 (026A hex) bytes.
<br>DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast
<br>DLC: Source = Station 0005DCF2C441
<br>DLC: Ethertype = 0800 (IP)
<br>DLC:
<br>IP: ----- IP Header -----
<br>IP:
<br>IP: Version = 4, header length = 20 bytes
<br>IP: Type of service = 00
<br>IP: 000.....= routine
<br>IP: ...0 ....= normal delay
<br>IP: ....0... = normal throughput
<br>IP: .... .0..= normal reliability
<br>IP: .... ..0.= ECT bit - transport protocol will ignore the CE bit
<br>IP: .......0 = CE bit - no congestion
<br>IP: Total length = 604 bytes
<br>IP: Identification = 183
<br>IP: Flags = 0X
<br>IP: .0......= may fragment
<br>IP: ..0.....= last fragment
<br>IP: Fragment offset = 0 bytes
<br>IP: Time to live = 255 seconds/hops
<br>IP: Protocol = 17 (UDP)
<br>IP: Header checksum = B8DA (correct)
<br>IP: Source address = [0.0.0.0]
<br>IP: Destination address = [255.255.255.255]
<br>IP: No options
<br>IP:
<br>UDP: ----- UDP Header -----
<br>UDP:
<br>UDP: Source port = 68 (BootPc/DHCP)
<br>UDP: Destination port = 67 (BootPs/DHCP)
<br>UDP: Length = 584
<br>UDP: No checksum
<br>UDP: [576 byte(s) of data]
<br>UDP:
<br>DHCP: ----- DHCP Header -----
<br>DHCP:
<br>DHCP: Boot record type = 1 (Request)
<br>DHCP: Hardware address type = 1 (10Mb Ethernet)
<br>DHCP: Hardware address length = 6 bytes
<br>DHCP:
<br>DHCP: Hops = 0
<br>DHCP: Transaction id = 00001425
<br>DHCP: Elapsed boot time = 0 seconds
<br>DHCP: Flags = 8000
<br>DHCP: 1... ............= Broadcast IP datagrams
<br>DHCP: Client self-assigned IP address = [0.0.0.0]
<br>DHCP: Client IP address = [0.0.0.0]
<br>DHCP: Next Server to use in bootstrap = [0.0.0.0]
<br>DHCP: Relay Agent = [0.0.0.0]
<br>DHCP: Client hardware address = 0005DCF2C441
<br>DHCP:
<br>DHCP: Host name = ""
<br>DHCP: Boot file name = ""
<br>DHCP:
<br>DHCP: Vendor Information tag = 63825363
<br>DHCP: Message Type = 1 (DHCP Discover)
<br>DHCP: Maximum message size = 1152
<br>DHCP: Client identifier = 00636973636F2D303065302E316566322E633434312D4574302F30
<br>DHCP: Parameter Request List: 7 entries
<br>DHCP: 1 = Client's subnet mask
<br>DHCP: 6 = Domain name server
<br>DHCP: 15 = Domain name
<br>DHCP: 44 = NetBIOS over TCP/IP name server
<br>DHCP: 3 = Routers on the client's subnet
<br>DHCP: 33 = Static route
<br>DHCP: 150 = Unknown Option
<br>DHCP: Class identifier = 646F63736973312E30
<br>DHCP: Option overload =3 (File and Sname fields hold options)
<br>DHCP:</p>
<p>- - - - - - - - - - - - - - - - - - - - Frame 2 - DHCPOFFER - - - - - - - - - - - - - - - - - - - -<br>
<br>
<br>Frame Status Source Address Dest.Address Size Rel.Time Delta Time Abs.Time Summaryr
<br>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,
<br> Message type: DHCP Offer
<br>DLC: ----- DLC Header -----
<br>DLC:
<br>DLC: Frame 125 arrived at 06:53:04.2171; frame size is 347 (015B hex) bytes.
<br>DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast
<br>DLC: Source = Station 003094248F71
<br>DLC: Ethertype = 0800 (IP)
<br>DLC:
<br>IP: ----- IP Header -----
<br>IP:
<br>IP: Version = 4, header length = 20 bytes
<br>IP: Type of service = 00
<br>IP: 000.....= routine
<br>IP: ...0 ....= normal delay
<br>IP: ....0... = normal throughput
<br>IP: .... .0..= normal reliability
<br>IP: .... ..0.= ECT bit - transport protocol will ignore the CE bit
<br>IP: .......0 = CE bit - no congestion
<br>IP: Total length = 333 bytes
<br>IP: Identification = 45
<br>IP: Flags = 0X
<br>IP: .0......= may fragment
<br>IP: ..0.....= last fragment
<br>IP: Fragment offset = 0 bytes
<br>IP: Time to live = 255 seconds/hops
<br>IP: Protocol = 17 (UDP)
<br>IP: Header checksum = F8C9 (correct)
<br>IP: Source address = [192.168.1.1]
<br>IP: Destination address = [255.255.255.255]
<br>IP: No options
<br>IP:
<br>UDP: ----- UDP Header -----
<br>UDP:
<br>UDP: Source port = 67 (BootPs/DHCP)
<br>UDP: Destination port = 68 (BootPc/DHCP)
<br>UDP: Length = 313
<br>UDP: Checksum = 8517 (correct)
<br>UDP: [305 byte(s) of data]
<br>UDP:
<br>DHCP: ----- DHCP Header -----
<br>DHCP:
<br>DHCP: Boot record type = 2 (Reply)
<br>DHCP: Hardware address type = 1 (10Mb Ethernet)
<br>DHCP: Hardware address length = 6 bytes
<br>DHCP:
<br>DHCP: Hops = 0
<br>DHCP: Transaction id = 00001425
<br>DHCP: Elapsed boot time = 0 seconds
<br>DHCP: Flags = 8000
<br>DHCP: 1... ............= Broadcast IP datagrams
<br>DHCP: Client self-assigned IP address = [0.0.0.0]
<br>DHCP: Client IP address = [192.168.1.2]
<br>DHCP: Next Server to use in bootstrap = [0.0.0.0]
<br>DHCP: Relay Agent = [192.168.1.1]
<br>DHCP: Client hardware address = 0005DCF2C441
<br>DHCP:
<br>DHCP: Host name = ""
<br>DHCP: Boot file name = ""
<br>DHCP:
<br>DHCP: Vendor Information tag = 63825363
<br>DHCP: Message Type = 2 (DHCP Offer)
<br>DHCP: Server IP address = [192.168.2.2]
<br>DHCP: Request IP address lease time = 99471 (seconds)
<br>DHCP: Address Renewel interval = 49735 (seconds)
<br>DHCP: Address Rebinding interval = 87037 (seconds)
<br>DHCP: Subnet mask = [255.255.255.0]
<br>DHCP: Domain Name Server address = [192.168.10.1]
<br>DHCP: Domain Name Server address = [192.168.10.2]
<br>DHCP: NetBIOS Server address = [192.168.10.1]
<br>DHCP: NetBIOS Server address = [192.168.10.3]
<br>DHCP: Domain name = "cisco.com"
<br>DHCP:</p>
<p>- - - - - - - - - - - - - - - - - - - - Frame 3 - DHCPREQUEST - - - - - - - - - - - - - - - - - - - -<br>
<br>
<br>Frame Status Source Address Dest.Address Size Rel.Time Delta Time Abs.Time Summary
<br>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,
<br> Message type: DHCP Request
<br>DLC: ----- DLC Header -----
<br>DLC:
<br>DLC: Frame 126 arrived at 06:53:04.2193; frame size is 618 (026A hex) bytes.
<br>DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast
<br>DLC: Source = Station Cisc14F2C441
<br>DLC: Ethertype = 0800 (IP)
<br>DLC:
<br>IP: ----- IP Header -----
<br>IP:
<br>IP: Version = 4, header length = 20 bytes
<br>IP: Type of service = 00
<br>IP: 000.....= routine
<br>IP: ...0 ....= normal delay
<br>IP: ....0... = normal throughput
<br>IP: .... .0..= normal reliability
<br>IP: .... ..0.= ECT bit - transport protocol will ignore the CE bit
<br>IP: .......0 = CE bit - no congestion
<br>IP: Total length = 604 bytes
<br>IP: Identification = 184
<br>IP: Flags = 0X
<br>IP: .0......= may fragment
<br>IP: ..0.....= last fragment
<br>IP: Fragment offset = 0 bytes
<br>IP: Time to live = 255 seconds/hops
<br>IP: Protocol = 17 (UDP)
<br>IP: Header checksum = B8D9 (correct)
<br>IP: Source address = [0.0.0.0]
<br>IP: Destination address = [255.255.255.255]
<br>IP: No options
<br>IP:
<br>UDP: ----- UDP Header -----
<br>UDP:
<br>UDP: Source port = 68 (BootPc/DHCP)
<br>UDP: Destination port = 67 (BootPs/DHCP)
<br>UDP: Length = 584
<br>UDP: No checksum
<br>UDP: [576 byte(s) of data]
<br>UDP:
<br>DHCP: ----- DHCP Header -----
<br>DHCP:
<br>DHCP: Boot record type = 1 (Request)
<br>DHCP: Hardware address type = 1 (10Mb Ethernet)
<br>DHCP: Hardware address length = 6 bytes
<br>DHCP:
<br>DHCP: Hops = 0
<br>DHCP: Transaction id = 00001425
<br>DHCP: Elapsed boot time = 0 seconds
<br>DHCP: Flags = 8000
<br>DHCP: 1... ............= Broadcast IP datagrams
<br>DHCP: Client self-assigned IP address = [0.0.0.0]
<br>DHCP: Client IP address = [0.0.0.0]
<br>DHCP: Next Server to use in bootstrap = [0.0.0.0]
<br>DHCP: Relay Agent = [0.0.0.0]
<br>DHCP: Client hardware address = 0005DCF2C441
<br>DHCP:
<br>DHCP: Host name = ""
<br>DHCP: Boot file name = ""
<br>DHCP:
<br>DHCP: Vendor Information tag = 63825363
<br>DHCP: Message Type = 3 (DHCP Request)
<br>DHCP: Maximum message size = 1152
<br>DHCP: Client identifier = 00636973636F2D303065302E316566322E633434312D4574302F30
<br>DHCP: Server IP address = [192.168.2.2]
<br>DHCP: Request specific IP address = [192.168.1.2]
<br>DHCP: Request IP address lease time = 99471 (seconds)
<br>DHCP: Parameter Request List: 7 entries
<br>DHCP: 1 = Client's subnet mask
<br>DHCP: 6 = Domain name server
<br>DHCP: 15 = Domain name
<br>DHCP: 44 = NetBIOS over TCP/IP name server
<br>DHCP: 3 = Routers on the client's subnet
<br>DHCP: 33 = Static route
<br>DHCP: 150 = Unknown Option
<br>DHCP: Class identifier = 646F63736973312E30
<br>DHCP: Option overload =3 (File and Sname fields hold options)
<br>DHCP:</p>
<p>- - - - - - - - - - - - - - - - - - - - Frame 4 - DHCPACK - - - - - - - - - - - - - - - - - - - -<br>
<br>
<br>Frame Status Source Address Dest.Address Size Rel.Time Delta Time Abs.Time Summary
<br>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,
<br> Message type: DHCP Ack
<br>DLC: ----- DLC Header -----
<br>DLC:
<br>DLC: Frame 127 arrived at 06:53:04.2321; frame size is 347 (015B hex) bytes.
<br>DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast
<br>DLC: Source = Station 003094248F71
<br>DLC: Ethertype = 0800 (IP)
<br>DLC:
<br>IP: ----- IP Header -----
<br>IP:
<br>IP: Version = 4, header length = 20 bytes
<br>IP: Type of service = 00
<br>IP: 000.....= routine
<br>IP: ...0 ....= normal delay
<br>IP: ....0... = normal throughput
<br>IP: .... .0..= normal reliability
<br>IP: .... ..0.= ECT bit - transport protocol will ignore the CE bit
<br>IP: .......0 = CE bit - no congestion
<br>IP: Total length = 333 bytes
<br>IP: Identification = 47
<br>IP: Flags = 0X
<br>IP: .0......= may fragment
<br>IP: ..0.....= last fragment
<br>IP: Fragment offset = 0 bytes
<br>IP: Time to live = 255 seconds/hops
<br>IP: Protocol = 17 (UDP)
<br>IP: Header checksum = F8C7 (correct)
<br>IP: Source address = [192.168.1.1]
<br>IP: Destination address = [255.255.255.255]
<br>IP: No options
<br>IP:
<br>UDP: ----- UDP Header -----
<br>UDP:
<br>UDP: Source port = 67 (BootPs/DHCP)
<br>UDP: Destination port = 68 (BootPc/DHCP)
<br>UDP: Length = 313
<br>UDP: Checksum = 326F (correct)
<br>UDP: [305 byte(s) of data]
<br>UDP:
<br>DHCP: ----- DHCP Header -----
<br>DHCP:
<br>DHCP: Boot record type = 2 (Reply)
<br>DHCP: Hardware address type = 1 (10Mb Ethernet)
<br>DHCP: Hardware address length = 6 bytes
<br>DHCP:
<br>DHCP: Hops = 0
<br>DHCP: Transaction id = 00001425
<br>DHCP: Elapsed boot time = 0 seconds
<br>DHCP: Flags = 8000
<br>DHCP: 1... ............= Broadcast IP datagrams
<br>DHCP: Client self-assigned IP address = [0.0.0.0]
<br>DHCP: Client IP address = [192.168.1.2]
<br>DHCP: Next Server to use in bootstrap = [0.0.0.0]
<br>DHCP: Relay Agent = [192.168.1.1]
<br>DHCP: Client hardware address = 0005DCF2C441
<br>DHCP:
<br>DHCP: Host name = ""
<br>DHCP: Boot file name = ""
<br>DHCP:
<br>DHCP: Vendor Information tag = 63825363
<br>DHCP: Message Type = 5 (DHCP Ack)
<br>DHCP: Server IP address = [192.168.2.2]
<br>DHCP: Request IP address lease time = 172800 (seconds)
<br>DHCP: Address Renewel interval = 86400 (seconds)
<br>DHCP: Address Rebinding interval = 151200 (seconds)
<br>DHCP: Subnet mask = [255.255.255.0]
<br>DHCP: Domain Name Server address = [192.168.10.1]
<br>DHCP: Domain Name Server address = [192.168.10.2]
<br>DHCP: NetBIOS Server address = [192.168.10.1]
<br>DHCP: NetBIOS Server address = [192.168.10.3]
<br>DHCP: Domain name = "cisco.com"
<br>DHCP:</p>
<p>- - - - - - - - - - - - - - - - - - - - Frame 5 - ARP - - - - - - - - - - - - - - - - - - - -<br>
<br>
<br>Frame Status Source Address Dest.Address Size Rel.Time Delta Time Abs.Time Summary
<br>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]
<br> HA=Cisc14F2C441 PRO=IP
<br>DLC: ----- DLC Header -----
<br>DLC:
<br>DLC: Frame 128 arrived at 06:53:04.2439; frame size is 60 (003C hex) bytes.
<br>DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast
<br>DLC: Source = Station Cisc14F2C441
<br>DLC: Ethertype = 0806 (ARP)
<br>DLC:
<br>ARP: ----- ARP/RARP frame -----
<br>ARP:
<br>ARP: Hardware type = 1 (10Mb Ethernet)
<br>ARP: Protocol type = 0800 (IP)
<br>ARP: Length of hardware address = 6 bytes
<br>ARP: Length of protocol address = 4 bytes
<br>ARP: Opcode 2 (ARP reply)
<br>ARP: Sender's hardware address = 00E01EF2C441
<br>ARP: Sender's protocol address = [192.168.1.2]
<br>ARP: Target hardware address = FFFFFFFFFFFF
<br>ARP: Target protocol address = [192.168.1.2]
<br>ARP:
<br>ARP: 18 bytes frame padding
<br>ARP:</p>
<p>- - - - - - - - - - - - - - - - - - - - Frame 6 - ARP - - - - - - - - - - - - - - - - - - - -<br>
<br>
<br>Frame Status Source Address Dest.Address Size Rel.Time Delta Time Abs.Time Summary
<br>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]
<br> HA=Cisc14F2C441 PRO=IP
<br>DLC: ----- DLC Header -----
<br>DLC:
<br>DLC: Frame 128 arrived at 06:53:04.2439; frame size is 60 (003C hex) bytes.
<br>DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast
<br>DLC: Source = Station Cisc14F2C441
<br>DLC: Ethertype = 0806 (ARP)
<br>DLC:
<br>ARP: ----- ARP/RARP frame -----
<br>ARP:
<br>ARP: Hardware type = 1 (10Mb Ethernet)
<br>ARP: Protocol type = 0800 (IP)
<br>ARP: Length of hardware address = 6 bytes
<br>ARP: Length of protocol address = 4 bytes
<br>ARP: Opcode 2 (ARP reply)
<br>ARP: Sender's hardware address = 00E01EF2C441
<br>ARP: Sender's protocol address = [192.168.1.2]
<br>ARP: Target hardware address = FFFFFFFFFFFF
<br>ARP: Target protocol address = [192.168.1.2]
<br>ARP:
<br>ARP: 18 bytes frame padding
<br>ARP:</p>
Sniffer A のトレース
<p>- - - - - - - - - - - - - - - - - - - - Frame 1 - DHCPDISCOVER - - - - - - - - - - - - - - - - - - - -<br>
<br>
<br>Frame Status Source Address Dest.Address Size Rel.Time Delta Time Abs.Time Summary
<br>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,
<br> Message type: DHCP Discover
<br>DLC: ----- DLC Header -----
<br>DLC:
<br>DLC: Frame 118 arrived at 07:02:54.7463; frame size is 618 (026A hex) bytes.
<br>DLC: Destination = Station 0005DC0BF2F4
<br>DLC: Source = Station 003094248F72
<br>DLC: Ethertype = 0800 (IP)
<br>DLC:
<br>IP: ----- IP Header -----
<br>IP:
<br>IP: Version = 4, header length = 20 bytes
<br>IP: Type of service = 00
<br>IP: 000.....= routine
<br>IP: ...0 ....= normal delay
<br>IP: ....0... = normal throughput
<br>IP: .... .0..= normal reliability
<br>IP: .... ..0.= ECT bit - transport protocol will ignore the CE bit
<br>IP: .......0 = CE bit - no congestion
<br>IP: Total length = 604 bytes
<br>IP: Identification = 52
<br>IP: Flags = 0X
<br>IP: .0......= may fragment
<br>IP: ..0.....= last fragment
<br>IP: Fragment offset = 0 bytes
<br>IP: Time to live = 255 seconds/hops
<br>IP: Protocol = 17 (UDP)
<br>IP: Header checksum = 3509 (correct)
<br>IP: Source address = [192.168.1.1]
<br>IP: Destination address = [192.168.2.2]
<br>IP: No options
<br>IP:
<br>UDP: ----- UDP Header -----
<br>UDP:
<br>UDP: Source port = 67 (BootPs/DHCP)
<br>UDP: Destination port = 67 (BootPs/DHCP)
<br>UDP: Length = 584
<br>UDP: Checksum = 0A19 (correct)
<br>UDP: [576 byte(s) of data]
<br>UDP:
<br>DHCP: ----- DHCP Header -----
<br>DHCP:
<br>DHCP: Boot record type = 1 (Request)
<br>DHCP: Hardware address type = 1 (10Mb Ethernet)
<br>DHCP: Hardware address length = 6 bytes
<br>DHCP:
<br>DHCP: Hops = 1
<br>DHCP: Transaction id = 000005F4
<br>DHCP: Elapsed boot time = 0 seconds
<br>DHCP: Flags = 8000
<br>DHCP: 1... ............= Broadcast IP datagrams
<br>DHCP: Client self-assigned IP address = [0.0.0.0]
<br>DHCP: Client IP address = [0.0.0.0]
<br>DHCP: Next Server to use in bootstrap = [0.0.0.0]
<br>DHCP: Relay Agent = [192.168.1.1]
<br>DHCP: Client hardware address = 0005DCF2C441
<br>DHCP:
<br>DHCP: Host name = ""
<br>DHCP: Boot file name = ""
<br>DHCP:
<br>DHCP: Vendor Information tag = 63825363
<br>DHCP: Message Type = 1 (DHCP Discover)
<br>DHCP: Maximum message size = 1152
<br>DHCP: Client identifier = 00636973636F2D303065302E316566322E633434312D4574302F30
<br>DHCP: Parameter Request List: 7 entries
<br>DHCP: 1 = Client's subnet mask
<br>DHCP: 6 = Domain name server
<br>DHCP: 15 = Domain name
<br>DHCP: 44 = NetBIOS over TCP/IP name server
<br>DHCP: 3 = Routers on the client's subnet
<br>DHCP: 33 = Static route
<br>DHCP: 150 = Unknown Option
<br>DHCP: Class identifier = 646F63736973312E30
<br>DHCP: Option overload =3 (File and Sname fields hold options)
<br>DHCP:</p>
<p>- - - - - - - - - - - - - - - - - - - - Frame 2 - DHCPOFFER - - - - - - - - - - - - - - - - - - - -<br>
<br>
<br>Frame Status Source Address Dest.Address Size Rel.Time Delta Time Abs.Time Summary
<br>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,
<br> Message type: DHCP Offer
<br>DLC: ----- DLC Header -----
<br>DLC:
<br>DLC: Frame 119 arrived at 07:02:54.7485; frame size is 347 (015B hex) bytes.
<br>DLC: Destination = Station 003094248F72
<br>DLC: Source = Station 0005DC0BF2F4
<br>DLC: Ethertype = 0800 (IP)
<br>DLC:
<br>IP: ----- IP Header -----
<br>IP:
<br>IP: Version = 4, header length = 20 bytes
<br>IP: Type of service = 00
<br>IP: 000.....= routine
<br>IP: ...0 ....= normal delay
<br>IP: ....0... = normal throughput
<br>IP: .... .0..= normal reliability
<br>IP: .... ..0.= ECT bit - transport protocol will ignore the CE bit
<br>IP: .......0 = CE bit - no congestion
<br>IP: Total length = 333 bytes
<br>IP: Identification = 41
<br>IP: Flags = 0X
<br>IP: .0......= may fragment
<br>IP: ..0.....= last fragment
<br>IP: Fragment offset = 0 bytes
<br>IP: Time to live = 255 seconds/hops
<br>IP: Protocol = 17 (UDP)
<br>IP: Header checksum = 3623 (correct)
<br>IP: Source address = [192.168.2.2]
<br>IP: Destination address = [192.168.1.1]
<br>IP: No options
<br>IP:
<br>UDP: ----- UDP Header -----
<br>UDP:
<br>UDP: Source port = 67 (BootPs/DHCP)
<br>UDP: Destination port = 67 (BootPs/DHCP)
<br>UDP: Length = 313
<br>UDP: Checksum = A1F8 (correct)
<br>UDP: [305 byte(s) of data]
<br>UDP:
<br>DHCP: ----- DHCP Header -----
<br>DHCP:
<br>DHCP: Boot record type = 2 (Request)
<br>DHCP: Hardware address type = 1 (10Mb Ethernet)
<br>DHCP: Hardware address length = 6 bytes
<br>DHCP:
<br>DHCP: Hops = 0
<br>DHCP: Transaction id = 000005F4
<br>DHCP: Elapsed boot time = 0 seconds
<br>DHCP: Flags = 8000
<br>DHCP: 1... ............= Broadcast IP datagrams
<br>DHCP: Client self-assigned IP address = [0.0.0.0]
<br>DHCP: Client IP address = [192.168.1.2]
<br>DHCP: Next Server to use in bootstrap = [0.0.0.0]
<br>DHCP: Relay Agent = [192.168.1.1]
<br>DHCP: Client hardware address = 0005DCF2C441
<br>DHCP:
<br>DHCP: Host name = ""
<br>DHCP: Boot file name = ""
<br>DHCP:
<br>DHCP: Vendor Information tag = 63825363
<br>DHCP: Message Type = 2 (DHCP Offer)
<br>DHCP: Server IP address = [192.168.2.2]
<br>DHCP: Request IP address lease time = 172571 (seconds)
<br>DHCP: Address Renewel interval = 86285 (seconds)
<br>DHCP: Address Rebinding interval = 150999 (seconds)
<br>DHCP: Subnet mask = [255.255.255.0]
<br>DHCP: Domain Name Server address = [192.168.10.1]
<br>DHCP: Domain Name Server address = [192.168.10.2]
<br>DHCP: NetBIOS Server address = [192.168.10.1]
<br>DHCP: NetBIOS Server address = [192.168.10.3]
<br>DHCP: Domain name = "cisco.com"
<br>DHCP:</p>
<p>- - - - - - - - - - - - - - - - - - - - Frame 3 - DHCPREQUEST - - - - - - - - - - - - - - - - - - - -<br>
<br>
<br>Frame Status Source Address Dest.Address Size Rel.Time Delta Time Abs.Time Summary
<br>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,
<br> Message type: DHCP Request
<br>DLC: ----- DLC Header -----
<br>DLC:
<br>DLC: Frame 120 arrived at 07:02:54.7745; frame size is 618 (026A hex) bytes.
<br>DLC: Destination = Station 0005DC0BF2F4
<br>DLC: Source = Station 003094248F72
<br>DLC: Ethertype = 0800 (IP)
<br>DLC:
<br>IP: ----- IP Header -----
<br>IP:
<br>IP: Version = 4, header length = 20 bytes
<br>IP: Type of service = 00
<br>IP: 000.....= routine
<br>IP: ...0 ....= normal delay
<br>IP: ....0... = normal throughput
<br>IP: .... .0..= normal reliability
<br>IP: .... ..0.= ECT bit - transport protocol will ignore the CE bit
<br>IP: .......0 = CE bit - no congestion
<br>IP: Total length = 604 bytes
<br>IP: Identification = 54
<br>IP: Flags = 0X
<br>IP: .0......= may fragment
<br>IP: ..0.....= last fragment
<br>IP: Fragment offset = 0 bytes
<br>IP: Time to live = 255 seconds/hops
<br>IP: Protocol = 17 (UDP)
<br>IP: Header checksum = 3507 (correct)
<br>IP: Source address = [192.168.1.1]
<br>IP: Destination address = [192.168.2.2]
<br>IP: No options
<br>IP:
<br>UDP: ----- UDP Header -----
<br>UDP:
<br>UDP: Source port = 67 (BootPs/DHCP)
<br>UDP: Destination port = 67 (BootPs/DHCP)
<br>UDP: Length = 584
<br>UDP: Checksum = 4699 (correct)
<br>UDP: [576 byte(s) of data]
<br>UDP:
<br>DHCP: ----- DHCP Header -----
<br>DHCP:
<br>DHCP: Boot record type = 1 (Request)
<br>DHCP: Hardware address type = 1 (10Mb Ethernet)
<br>DHCP: Hardware address length = 6 bytes
<br>DHCP:
<br>DHCP: Hops = 1
<br>DHCP: Transaction id = 000005F4
<br>DHCP: Elapsed boot time = 0 seconds
<br>DHCP: Flags = 8000
<br>DHCP: 1... ............= Broadcast IP datagrams
<br>DHCP: Client self-assigned IP address = [0.0.0.0]
<br>DHCP: Client IP address = [0.0.0.0]
<br>DHCP: Next Server to use in bootstrap = [0.0.0.0]
<br>DHCP: Relay Agent = [192.168.1.1]
<br>DHCP: Client hardware address = 0005DCF2C441
<br>DHCP:
<br>DHCP: Host name = ""
<br>DHCP: Boot file name = ""
<br>DHCP:
<br>DHCP: Vendor Information tag = 63825363
<br>DHCP: Message Type = 3 (DHCP Request)
<br>DHCP: Maximum message size = 1152
<br>DHCP: Client identifier = 00636973636F2D303065302E316566322E633434312D4574302F30
<br>DHCP: Server IP address = [192.168.2.2]
<br>DHCP: Request specific IP address = [192.168.1.2]
<br>DHCP: Request IP address lease time = 172571 (seconds)
<br>DHCP: Parameter Request List: 7 entries
<br>DHCP: 1 = Client's subnet mask
<br>DHCP: 6 = Domain name server
<br>DHCP: 15 = Domain name
<br>DHCP: 44 = NetBIOS over TCP/IP name server
<br>DHCP: 3 = Routers on the client's subnet
<br>DHCP: 33 = Static route
<br>DHCP: 150 = Unknown Option
<br>DHCP: Class identifier = 646F63736973312E30
<br>DHCP: Option overload =3 (File and Sname fields hold options)
<br>DHCP:</p>
<p>- - - - - - - - - - - - - - - - - - - - Frame 4 - DHCPACK - - - - - - - - - - - - - - - - - - - -<br>
<br>
<br>Frame Status Source Address Dest.Address Size Rel.Time Delta Time Abs.Time Summary
<br>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,
<br> Message type: DHCP Ack
<br>DLC: ----- DLC Header -----
<br>DLC:
<br>DLC: Frame 121 arrived at 07:02:54.7746; frame size is 347 (015B hex) bytes.
<br>DLC: Destination = Station 003094248F72
<br>DLC: Source = Station 0005DC0BF2F4
<br>DLC: Ethertype = 0800 (IP)
<br>DLC:
<br>IP: ----- IP Header -----
<br>IP:
<br>IP: Version = 4, header length = 20 bytes
<br>IP: Type of service = 00
<br>IP: 000.....= routine
<br>IP: ...0 ....= normal delay
<br>IP: ....0... = normal throughput
<br>IP: .... .0..= normal reliability
<br>IP: .... ..0.= ECT bit - transport protocol will ignore the CE bit
<br>IP: .......0 = CE bit - no congestion
<br>IP: Total length = 333 bytes
<br>IP: Identification = 42
<br>IP: Flags = 0X
<br>IP: .0......= may fragment
<br>IP: ..0.....= last fragment
<br>IP: Fragment offset = 0 bytes
<br>IP: Time to live = 255 seconds/hops
<br>IP: Protocol = 17 (UDP)
<br>IP: Header checksum = 3622 (correct)
<br>IP: Source address = [192.168.2.2]
<br>IP: Destination address = [192.168.1.1]
<br>IP: No options
<br>IP:
<br>UDP: ----- UDP Header -----
<br>UDP:
<br>UDP: Source port = 67 (BootPs/DHCP)
<br>UDP: Destination port = 67 (BootPs/DHCP)
<br>UDP: Length = 313
<br>UDP: Checksum = 7DF6 (correct)
<br>UDP: [305 byte(s) of data]
<br>UDP:
<br>DHCP: ----- DHCP Header -----
<br>DHCP:
<br>DHCP: Boot record type = 2 (Request)
<br>DHCP: Hardware address type = 1 (10Mb Ethernet)
<br>DHCP: Hardware address length = 6 bytes
<br>DHCP:
<br>DHCP: Hops = 0
<br>DHCP: Transaction id = 000005F4
<br>DHCP: Elapsed boot time = 0 seconds
<br>DHCP: Flags = 8000
<br>DHCP: 1... ............= Broadcast IP datagrams
<br>DHCP: Client self-assigned IP address = [0.0.0.0]
<br>DHCP: Client IP address = [192.168.1.2]
<br>DHCP: Next Server to use in bootstrap = [0.0.0.0]
<br>DHCP: Relay Agent = [192.168.1.1]
<br>DHCP: Client hardware address = 0005DCF2C441
<br>DHCP:
<br>DHCP: Host name = ""
<br>DHCP: Boot file name = ""
<br>DHCP:
<br>DHCP: Vendor Information tag = 63825363
<br>DHCP: Message Type = 5 (DHCP Ack)
<br>DHCP: Server IP address = [192.168.2.2]
<br>DHCP: Request IP address lease time = 172800 (seconds)
<br>DHCP: Address Renewel interval = 86400 (seconds)
<br>DHCP: Address Rebinding interval = 151200 (seconds)
<br>DHCP: Subnet mask = [255.255.255.0]
<br>DHCP: Domain Name Server address = [192.168.10.1]
<br>DHCP: Domain Name Server address = [192.168.10.2]
<br>DHCP: NetBIOS Server address = [192.168.10.1]
<br>DHCP: NetBIOS Server address = [192.168.10.3]
<br>DHCP: Domain name = "cisco.com"
<br>DHCP:</p>
DHCPのトラブルシューティング:クライアントワークステーションが
DHCPアドレスを取得できない場合
事例1:DHCPサーバがDHCPクライアントと同じLANセグメントまたはVLAN上にある場合
DHCP サーバとクライアントが同じ LAN セグメントまたは VLAN にある環境で、クライアントが DHCP サーバから IP アドレスを取得できない場合、その原因がローカル ルータにあることはほとんどありません。この問題は、ほとんどの場合、DHCP サーバと DHCP クライアントを接続するデバイスに関連しています。ただし、DHCP サーバまたはクライアント自体に問題がある場合もあります。次のトラブルシューティング モジュールに従って、問題を引き起こしているデバイスを特定してください。
注: VLAN ごとに DHCP サーバを設定するには、DHCP アドレスをクライアントに提供する VLAN ごとに異なる DHCP プールを定義します。
事例2:DHCP/BootPリレーエージェント機能が設定されたルータによって、DHCPサーバとDHCPクライアントが分けられている場合
DHCP サーバとクライアントが異なる LAN セグメントまたは VLAN にある環境では、DHCP/BootP リレー エージェントとして機能するルータが、DHCPREQUEST を DHCP サーバに転送する役割を果たします。DHCP サーバとクライアントだけでなく、DHCP/BootP リレー エージェントのトラブルシューティングもあわせて行うには、追加のトラブルシューティング ステップが必要です。次のトラブルシューティング モジュールに従って、問題を引き起こしているデバイスを特定してください。
ルータ上のDHCPサーバがエラーPOOL EXHAUSTEDで
アドレスの割り当てに失敗
一部のアドレスが、プールから解放された後もクライアントによって保持されている場合があります。これは、show ip dhcp conflict の出力によって確認できます。2 つのホストが同一の IP アドレスを使用すると、アドレス競合が発生します。アドレスの割り当て時、DHCP は ping および gratuitous ARP を使用して、競合をチェックします。
競合が検出されると、該当するアドレスがプールから削除されます。該当するアドレスは、管理者が競合を解決するまで割り当てられます。この問題を解決するには、no ip dhcp conflict logging を設定します。
DHCPのトラブルシューティングモジュール
DHCP問題の発生源について
DHCP 問題はさまざまな原因で起こります。最も可能性の高い原因は、設定の問題です。しかし、オペレーティング システム、Network Interface Card(NIC; ネットワーク インターフェイス カード)のドライバ、ルータで動作している DHCP/BootP リレー エージェントなどのソフトウェアの不良によっても、各種の DHCP 問題が引き起こされる可能性があります。このように原因となりうる領域が複数あるため、トラブルシューティングには体系的なアプローチが必要となります。
DHCP 問題の原因となりうるもの
- Catalyst スイッチのデフォルト コンフィギュレーション
- DHCP/BootP リレー エージェントの設定
- NIC の互換性の問題、または DHCP 機能の問題
- NIC の障害または不適切な NIC ドライバのインストール
- 頻繁なスパニング ツリー計算による断続的なネットワークの停止
- オペレーティング システムの動作またはソフトウェアの不良
- Cisco Catalyst スイッチまたは 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; ブートストラップ プロトコル)パケットを廃棄する場合があります。また、ルータは、該当インターフェイスをマルチキャスト IP の宛先とする IP パケットをすべて廃棄する場合もあります。この問題は CSCdw31925(登録ユーザのみ)でドキュメント化されています。
- DHCP データベース エージェントを使用していないが、DHCP 競合のロギングが無効にされていない
このドキュメントでは、上記のリストにあるような根本原因を特定するために、次のトラブルシューティング モジュールを使用しています。
この手順はすべての事例に適用されます。
最初に、DHCP クライアントとサーバの物理的な接続を確認します。Catalyst スイッチに接続されている場合は、DHCP クライアントとサーバがどちらも物理的に接続されているかを確認します。
2948G、4000、5000、6000 シリーズ スイッチなどの Catalyst CatOS スイッチでは、show port <mod#>/<port_range> コマンドを使用して、ポートのステータスを確認します。ポートのステータスが connected 以外である場合、そのポートでは、DHCP クライアント要求も含め、すべてのトラフィックが通過しません。このコマンドからの出力例を次に示します。
Switch (enable) show port 5/1
Port Name Status Vlan Duplex Speed Type
----- ------------------ ---------- ---------- ------ ----- ------------
5/1 connected 1 a-full a-100 10/100BaseTX
Catalyst 2900XL/3500XL/2950/3550 などの 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 スイッチのポートが errdisabled 状態になる場合があります。errdisable 状態の詳細と、この状態から復旧する方法については、『CatOS プラットフォームでの errDisable ポート状態からの復旧』および『Cisco IOS プラットフォームでの errDisable ポート状態からの復旧』を参照してください。
B. クライアント ワークステーションにスタティック IP アドレスを設定してネットワーク接続性をテスト
この手順はすべての事例に適用されます。
DHCP 問題のトラブルシューティングでは、クライアント ワークステーションにスタティック IP アドレスを設定してネットワーク接続性を確認することが重要です。ワークステーションにスタティック IP アドレスを設定してもネットワーク リソースに到達できない場合、問題の根本原因は DHCP ではありません。この場合は、ネットワーク接続性のトラブルシューティングが必要です。
C. 起動時における問題の確認
この手順はすべての事例に適用されます。
DHCP クライアントが起動時に DHCP サーバから IP アドレスを取得できない場合は、クライアントから DHCP サーバに手動で DHCP 要求を送信して IP アドレスを取得できるかを試してみます。DHCP サーバから IP アドレスを手動で取得するには、クライアントのオペレーティング システムに応じて次のステップに従います。
Microsoft Windows 95/98/ME:Start ボタンをクリックして、WINIPCFG.exe プログラムを実行します。Release All ボタンをクリックしてから、Renew All ボタンをクリックします。これで、DHCP クライアントは IP アドレスを取得できますか。
Microsoft Windows NT/2000: Start/Run フィールドで cmd と入力し、コマンド プロンプトを開きます。コマンド プロンプト ウィンドウで、次のように ipconfig/renew コマンドを発行します。これで、DHCP クライアントは IP アドレスを取得できますか。
PC の起動プロセスが完了した後、DHCP クライアントから IP アドレスを手動で更新することで IP アドレスを取得できる場合、おそらく DHCP の起動の問題です。DHCP クライアントが Cisco Catalyst スイッチに接続している場合、最も可能性が高いのは、STP PortFast またはチャネリングとトランキングの処理に関する設定の問題です。その他には、NIC カードの問題やスイッチ ポートの起動の問題などが考えられます。スイッチ ポートの設定と NIC カードの問題が DHCP 問題の根本原因である可能性を除外するには、トラブルシューティング ステップ 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 問題の原因となるソフトウェアの互換性の問題がある可能性があります。このトラブルシューティング ステップでは、次のドキュメントを参照して、Catalyst スイッチまたは NIC のソフトウェアの問題が DHCP 問題の原因である可能性を除外します。
Cisco Catalyst スイッチと NIC との互換性に関する問題のトラブルシューティング
互換性の問題を適切に除外するには、DHCP クライアントのオペレーティング システムに関する知識と、メーカー、モデル、ドライバのバージョンといった NIC 固有の情報が必要となります。
F. DHCP サーバと同じサブネットまたは VLAN にあるクライアントが IP アドレスを取得しているかどうかを確認
クライアントが DHCP サーバと同じサブネットまたは VLAN にある場合に、DHCP が正常に機能しているかどうかを判別することは重要です。DHCP サーバと同じサブネットまたは VLAN で 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 リレー エージェント機能が処理されます。このため、ip helper-address コマンドが DHCP UDP ブロードキャストを転送して、DHCP クライアントの代わりに DHCP リレー エージェントとして動作するように設定されている場合は、これらのルータで ip bootp server コマンドを有効にする必要があります。
3. ip helper-address コマンドを使用して、UDP ブロードキャストをサブネット ブロードキャスト アドレスに転送する場合は、UDP ブロードキャスト パケットが経由するすべての発信インターフェイスで no ip directed-broadcast が設定されていないことを確認します。no ip directed-broadcast は、ダイレクト ブロードキャストから物理ブロードキャストへの変換をブロックします。このインターフェイス設定は、ソフトウェア バージョン 12.0 以上のデフォルト コンフィギュレーションです。
4. DHCP ブロードキャストを DHCP サーバのサブネット ブロードキャスト アドレスに転送すると、ソフトウェアの問題を引き起こすことがあります。DHCP のトラブルシューティングを行うときは、次のように、必ず DHCP UDP ブロードキャストを DHCP サーバの IP アドレスに転送するようにしてください。
! |
H. 加入者識別(82)オプションがオン
DHCP リレー エージェント情報(オプション 82)機能を使用すると、DHCP クライアントから DHCP サーバに DHCP 要求を転送する際に、DHCP リレー エージェント(Catalyst スイッチ)が自身に関する情報と接続されているクライアントに関する情報を含めることが可能になります。
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 データベース エージェントを設定しない場合は、DHCP サーバで DHCP アドレス競合の記録を無効にしてください。DHCP アドレス競合のロギングを無効にするには、no ip dhcp conflict logging コマンドを実行します。clear ip dhcp conflict を使用して、以前にロギングされた競合をクリアします。
競合のロギングの無効化に失敗すると、次のエラー メッセージが表示されます。
%DHCPD-4-DECLINE_CONFLICT: DHCP address conflict: client
J. IP Phone 接続の CDP を調べる
<P>Cisco IP Phone に接続されているスイッチポートで Cisco Discovery Protocol(CDP;
Cisco 検出プロトコル)が無効に設定されている場合、DHCP サーバは適切な IP アドレスを電話機に割り当てることができません。DHCP
サーバは、スイッチポートのデータ VLAN またはサブネットに属している IP アドレスを割り当てる傾向があります。CDP
が有効になっている場合、スイッチは、Cisco IP Phone が DHCP
を要求していて、正しいサブネット情報を提供できることを検出できます。その場合、DHCP サーバは、音声 VLAN またはサブネット プールから
IP アドレスを割り当てることができます。DHCP サービスを音声 VLAN
にバインドする際、特別なステップは必要ありません。</P>
K. ダウンした SVI の削除による DHCP スヌーピング処理の中断
Cisco Catalyst 6500 シリーズ スイッチでは、特定の VLAN に対してスヌーピングするよう DHCP を設定した後、SVI(シャットダウン状態)が自動的に作成されます。この SVI の存在は、DHCP スヌーピングの正確なオペレーションに直接関係しています。
Native IOS が稼働する Cisco Catalyst 6500 シリーズ スイッチ上の DHCP スヌーピングはほとんど、スイッチ プロセッサ(SP またはスーパーバイザ)ではなく、ルート プロセッサ(RP または MSFC)に実装されます。Cisco Catalyst 6500 シリーズは、RP が加入している Local Target Logic(LTL) にパケットを供給する VACL 付きのハードウェア内でパケットを代行受信します。フレームは、RP に入ると、スヌーピング部に渡される前に、まず L3 インターフェイス(SVI)IDB と関連付けられる必要があります。SVI がないと、この IDB が存在しないため、パケットは RP 内で廃棄されます。
L. 制限付きブロードキャスト アドレス
DHCP クライアントが DHCP パケット内のブロードキャスト ビットを設定すると、DHCP サーバおよびリレー エージェントはすべて 1 つのブロードキャスト アドレス(255.255.255.255)を使用して、DHCP メッセージをクライアントに送信します。ネットワーク ブロードキャストを送信するよう ip broadcast-address コマンドが設定されていると、DHCP によって送信されるすべて 1 のブロードキャストが上書きされます。この状況に対処するには、ip dhcp limited-broadcast-address コマンドを使用して、設定されているネットワーク ブロードキャストによって DHCP のデフォルトの動作が上書きされないようにします。
一部の DHCP クライアントは、すべて 1 つのブロードキャストのみを受け入れることができ、クライアントに接続されているルータ インターフェイス上で該当コマンドが設定されない限り、DHCP アドレスを取得することができません。
M. ルータの debug コマンドによる DHCP のデバッグ
debug コマンドを使用して、ルータが DHCP 要求を受信しているかを確認
DHCP パケットのソフトウェア処理をサポートしているルータ上で、クライアントからの DHCP 要求が受信されているかどうかを確認できます。ルータがクライアントからの要求を受信していない場合、DHCP プロセスは失敗します。このトラブルシューティング ステップでは、デバック出力を得るために、access-list を設定する必要があります。この access-list はデバッグのためのものであり、これによってルータの動作が影響を受けることはありません。
グローバル設定モードで、次の 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 と 宛先 IP、および UDP ポートを含むブロードキャスト パケットがルータで受信されていたのは確かです。
debug コマンドを使用して、ルータが DHCP 要求を受信し、DHCP サーバに要求を転送しているかを確認
ルータが DHCP サーバと正常に通信しているかどうかを確認するために、access-list のエントリを追加します。今度のデバッグもパケット自体を調べるものではありませんが、DHCP リレー エージェントが DHCP サーバに要求を転送しているかどうかは確認できます。
グローバル設定モードで、次の access-list を作成します。
access-list 100 permit ip host 0.0.0.0 host 255.255.255.255
access-list 100 permit udp host <dhcp_relay_agent> host <dhcp_server> eq 67
access-list 100 permit udp host <dhcp_server> host <dhcp_relay_agent> eq 67
たとえば、次のようになります。
access-list 100 permit ip host 0.0.0.0 host 255.255.255.0
access-list 100 permit udp host 192.168.1.1 host 192.168.2.2 eq 67
access-list 100 permit udp host 192.168.1.1 host 192.168.2.2 eq 68
access-list 100 permit udp host 192.168.2.2 host 192.168.1.1 eq 67
access-list 100 permit udp host 192.168.2.2 host 192.168.1.1 eq 68
EXEC モードで、次の debug コマンドを入力します。
Router#
00:23:44: IP: s=0.0.0.0 (Ethernet4/0), d=255.255.255.255, len 604, rcvd 2
00:23:44: UDP src=68, dst=67
!--- ルータは DHCP クライアントから DHCPDISCOVER を受信しました。
00:23:44: IP: s=192.168.1.1 (local), d=192.168.2.2 (Ethernet4/1), len 604, sendg
00:23:44: UDP src=67, dst=67
!--- ルータは DHCP/BootP リレー エージェントの送信元 IP アドレスを使用して、
DHCP サーバに DHCPDISCOVER ユニキャストを転送しました。
00:23:44 IP: s=192.168.2.2 (Ethernet1), d=192.168.1.1, len 328, rcvd 4
00:23:44 UDP src=67, dst=67
!--- DHCP サーバが DHCP/BootP リレー エージェントに DHCPOFFER を送信しました。
00:23:44: IP: s=0.0.0.0 (Ethernet4/0), d=255.255.255.255, len 604, rcvd 2
00:23:44: UDP src=68, dst=67
!--- ルータは DHCP クライアントから DHCPREQUEST を受信しました。
00:23:44: IP: s=192.168.1.1 (local), d=192.168.2.2 (Ethernet4/1), len 604, sendg
00:23:44: UDP src=67, dst=67
!--- ルータは DHCP/BootP リレー エージェントの送信元 IP アドレスを使用して、
DHCP サーバに DHCPDISCOVER ユニキャストを転送しました。
00:23:44 IP: s=192.168.2.2 (Ethernet1), d=192.168.1.1, len 328, rcvd 4
00:23:44 UDP src=67, dst=67
!--- DHCP サーバが DHCP/BootP リレー エージェントに DHCPACK を送信しました。
上記の出力から、ルータがクライアントからの DHCP 要求を受信し、DHCP/BootP リレー エージェントの設定に従って DHCP サーバに要求を転送していることがわかります。DHCP サーバも DHCP/BootP リレー エージェントに直接応答しています。この出力が示しているのはパケットの要約情報のみであり、パケットそのものではありません。したがって、パケットが正常であるか、あるいはサーバが DHCPNAK で応答しているかどうかは判断できません。しかし、DHCP 用の適切な送信元 IP と 宛先 IP、および UDP ポートを含むブロードキャスト パケットがルータで受信されており、ルータと DHCP サーバの間で双方向の通信が行われていたのは確かです。
debug ip udp コマンドを使用して、ルータが DHCP 要求を受信し、転送しているかを確認
debug ip udp コマンドを使用すれば、ルータを経由した DHCP 要求のパスをトレースできます。ただし、このデバッグ コマンドを実行すると、プロセス交換された UDP パケットがすべてコンソールに表示されるため、実稼働環境の運用に支障をきたします。このデバッグは、実稼働環境では行わないでください。
警告: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
!--- ルータは DHCP クライアントから DHCPDISCOVER を受信しました。
00:18:48: UDP: sent src=192.168.1.1(67), dst=192.168.2.2(67), length=604
!--- ルータは DHCP/BootP リレー エージェントの送信元 IP アドレスを使用して、
DHCP サーバに DHCPDISCOVER ユニキャストを転送しました。
00:18:48: UDP: rcvd src=192.168.2.2(67), dst=192.168.1.1(67), length=313
!--- ルータは DHCP サーバから DHCP/BootP リレー エージェントの IP アドレスに直接送信された
DHCPOFFER を受信しました。
00:18:48: UDP: sent src=0.0.0.0(67), dst=255.255.255.255(68), length=333
!--- ルータは DHCP/BootP リレー エージェントを通じて、DHCP サーバから DHCP クライアントに
DHCPOFFER を転送しました。
00:18:48: UDP: rcvd src=0.0.0.0(68), dst=255.255.255.255(67), length=584
!--- ルータは DHCP クライアントから DHCPREQUEST を受信しました。
00:18:48: UDP: sent src=192.168.1.1(67), dst=192.168.2.2(67), length=604
!--- ルータは DHCP/BootP リレー エージェントの送信元 IP アドレスを使用して、
DHCP サーバに DHCPDISCOVER ユニキャストを転送しました。
00:18:48: UDP: rcvd src=192.168.2.2(67), dst=192.168.1.1(67), length=313
!--- ルータは DHCP サーバから DHCP/BootP リレー エージェントの IP アドレスに直接送信された
DHCPACK(または DHCPNAK)を受信しました。
00:18:48: UDP: sent src=0.0.0.0(67), dst=255.255.255.255(68), length=333
!--- ルータは DHCP/BootP リレー エージェントを通じて、DHCP クライアントに
DHCPACK(または DHCPNAK)を転送しました。
00:18:48: UDP: rcvd src=192.168.1.2(520), dst=255.255.255.255(520), length=32
!--- IP アドレスが使用中でないか確認するために、DHCP クライアントが自身の
IP アドレスの ARP 要求を送信しました。
00:18:50: UDP: rcvd src=192.168.1.2(520), dst=255.255.255.255(520), length=32
!--- IP アドレスが使用中でないか確認するために、DHCP クライアントが自身の
IP アドレスの ARP 要求を送信しました。
debug ip dhcp server packet コマンドを使用して、ルータが DHCP 要求を受信し、転送しているかを確認
ルータの IOS が 12.0.x.T または 12.1 で、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.
!--- ルータは DHCPDISCOVER/REQUEST/INRORM を受信し、転送のためにゲートウェイ IP アドレスを
192.168.1.1 に設定しました。
00:20:54: DHCPD: BOOTREQUEST from 0063.6973.636f.2d30.3065.302e.3165.6632.2e63..
!--- BOOTREQUEST には、DHCPDISCOVER、DHCPREQUEST、および DHCPINFORM が含まれます。
!--- 0063.6973.636f.2d30.3065.302e.3165.6632.2e63 はクライアント識別子を示します。
00:20:54: DHCPD: forwarding BOOTREPLY to client 00e0.1ef2.c441.
!--- BOOTREPLY には、DHCPOFFER と DHCPNAK が含まれます。
!--- クライアントの MAC アドレスは 00e0.1ef2.c441 です。
00:20:54: DHCPD: broadcasting BOOTREPLY to client 00e0.1ef2.c441.
!--- ルータは DHCPOFFER または DHCPNAK ブロードキャストを
ローカル LAN インターフェイスに転送しました。
00:20:54: DHCPD: setting giaddr to 192.168.1.1.
!--- ルータは DHCPDISCOVER/REQUEST/INFORM を受信し、転送のためにゲートウェイ IP アドレスを
192.168.1.1 に設定しました。
00:20:54: DHCPD: BOOTREQUEST from 0063.6973.636f.2d30.3065.302e.3165.6632.2e63..
!--- BOOTREQUEST には、DHCPDISCOVER、DHCPREQUEST、および DHCPINFORM が含まれます。
!--- 0063.6973.636f.2d30.3065.302e.3165.6632.2e63 はクライアント識別子を示します。
00:20:54: DHCPD: forwarding BOOTREPLY to client 00e0.1ef2.c441.
!--- BOOTREPLY には、DHCPOFFER と DHCPNAK が含まれます。
!--- クライアントの MAC アドレスは 00e0.1ef2.c441 です。
00:20:54: DHCPD: broadcasting BOOTREPLY to client 00e0.1ef2.c441.
!--- ルータは DHCPOFFER または DHCPNAK ブロードキャストを
ローカル LAN インターフェイスに転送しました。
複数のデバッグの同時実行
複数のデバッグを同時に実行すると、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 問題の根本原因の特定
ルータ デバッグ手法を使用しても、必ずしも DHCP 問題の根本原因を正確に特定できるとは限りません。DHCP 問題を解決するための最終的なステップは、スニファ トレースを取得して、プロセスのどの部分が正常に機能していないかを突き止めることです。DHCP パケットのトレースを解読するには、このドキュメントの「同一の LAN セグメントにある DHCP クライアントとサーバのスニファ トレースの解読」および「DHCP リレー エージェントとして設定されているルータによって分けられた DHCP クライアントとサーバのスニファ トレースの解読」のセクションを参照してください。
Catalyst スイッチで Switched Port Analyzer(SPAN; 交換ポート アナライザ)機能を使用してスニファ トレースを取得する方法については、次のドキュメントを参照してください。
- Catalyst スイッチド ポート アナライザ(SPAN)機能の設定
ルータでのデバッグを使用してパケットを解読するその他の方法
Cisco ルータで debug ip packet detail dump <acl> コマンドを使用すれば、システム ログまたは Command Line Interface(CLI; コマンドライン インターフェイス)にパケット全体を 16 進数で表示できます。上記の「debug コマンドを使用して、ルータが DHCP 要求を受信しているかを確認」および「debug コマンドを使用して、ルータが DHCP 要求を受信し、DHCP サーバに要求を転送しているかを確認」の項の手順で、access-list に dump キーワードを追加すると、同じデバッグ情報を 16 進数のパケット詳細とともに取得できます。パケットの内容を解読するには、パケットを翻訳する必要があります。「付録 A」に例があります。
ip dhcp poolコマンドのオプション{option_number}ASCIIの後に入力されたキーワードが二重引用符で囲まれている
オプション番号が設定済みの DHCP オプションを持つ Cisco ルータは、URL を解析しようとする際、ip dhcp pool コマンドのオプション option number ASCII の後で入力されたキーワードが、ルータのリロード後に二重引用符に入っていることが原因で、障害が発生することがあります。この動作は IOS 12.4(17a)が稼働するデバイスで見られ、判明している不具合として CSCsk96976(登録ユーザ専用)に記載されています。
この問題は、IOS バージョン 12.4(17b)、12.4(18a)以降、および 12.4(19)T1 で解決されています。
サーバ付録A:IOS DHCP の設定例
DHCP サーバ データベースはツリー構造で編成されています。ツリーのルートはナチュラル ネットワークのアドレス プール、ブランチはサブネットワークのアドレス プール、リーフはクライアントへの手動バインディングです。サブネットワークはネットワーク パラメータを継承し、クライアントはサブネットワーク パラメータを継承します。したがって、共通のパラメータ(ドメイン名など)は、ツリーの最上位(ネットワークまたはサブネットワーク)レベルで設定する必要があります。
DHCP の設定方法と、それに関連するコマンドの詳細については、次のリンクを参照してください。
version 12.1 |
------------------------------------------------------
Document ID: 27470
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします
下記より関連するコンテンツにアクセスできます