はじめに
このドキュメントでは、Microsoft Windows Vista以降のバージョンのユーザが受信する「Duplicate IP Address 0.0.0.0」エラーメッセージとその解決策について説明します。
前提条件
要件
このドキュメントに関する固有の要件はありません。
使用するコンポーネント
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
問題
Microsoft Windows Vista以降のバージョンでは、Dynamic Host Configuration Protocol(DHCP)プロセスの発生時にネットワーク上の重複アドレスを検出するために使用される新しいメカニズムが導入されました。この新しい検出のフローは、RFC 5227 に記述されます。
この検出フローのトリガーの1つは、2.1.1で定義されています。次に定義を示します。
また、この期間中にホストがアドレス解決プロトコル(ARP)プローブを受信し、その場合のパケットターゲットIPアドレスはプローブ対象のアドレスで、パケット送信元ハードウェアアドレスがホストインターフェイスのハードウェアアドレスでない場合、ホストは同様にこれをアドレス競合として処理し、上記のように設定エージェントにエラーを通知する必要があります。これは、複数のホストで同じアドレスが何らかの理由で誤って設定されている場合に、そのアドレスが安全に使用できるかどうかについての調査が同時に行われる場合に発生する可能性があります。
Cisco IOS®では、IPデバイストラックが発生したときに、アドレス0.0.0.0を送信元とするアドレス解決プロトコル(ARP)プローブを使用してIPデバイストラッキングのキャッシュが保持されます。また、このキャッシュを使用する機能(802.1xなど)がCisco IOSスイッチで有効になっています。IPデバイストラックの目的は、スイッチがIPアドレスによってスイッチに接続されているデバイスのリストを取得し、維持することです。プローブはトラックエントリを読み込みません。学習後にテーブル内のエントリをアクティブにして維持するために使用されます。このIPアドレスは、アクセスコントロールリスト(ACL)がインターフェイスに適用されるときに使用され、ACL内の送信元アドレスをクライアントIPアドレスに置き換えます。この機能は、アクセスリストが802.1xまたはシスコのスイッチの他のFlex-Auth機能で使用される場合に重要です。
重複 IP アドレスの原因
Microsoft Windows PC が重複アドレス検出のフェーズにある間にスイッチでクライアントへの ARP プローブが送信された場合、Microsoft Windows ではこのプローブを重複した IP アドレスとして検知し、0.0.0.0 のネットワークで重複した IP アドレスが見つかったというメッセージを表示します。PCではIPアドレスが取得されないため、ユーザは手動でアドレスをリリース/更新するか、ネットワークを切断して再接続するか、またはネットワークアクセスを取得するためにPCをリブートする必要があります。
失敗したパケットシーケンスの例を次に示します。
解決方法
この問題を回避するために使用できる複数の方法があります。次に、考えられる回避策のリストを示します。
- この問題を回避するために使用される最も効果的な方法は、PCが存在するVLANのスイッチ仮想インターフェイス(SVI)からプローブを送信するように、RFCに準拠しないARPプローブをスイッチに送信するように設定することです。SVIが仮想ローカルエリアネットワーク(VLAN)用に設定され、次の2つのコマンドのいずれかが使用される場合、IPデバイストラッキング(IPDT)プローブの送信元IPアドレスは0.0.0.0にはなりません。したがって、IPアドレスの重複エラーが発生していないことは確実です。
このコマンド形式は、古いコードバージョン用です。
ip device tracking probe use-svi
この設定は、現在 Microsoft Windows の重複アドレス検出のエラー メッセージをトリガーしません。このメソッドでの注意点は、DHCP を実行する Microsoft Windows のクライアントが存在するすべての VLAN のすべてのスイッチに SVI が存在する必要があります。この方式は拡張が困難なため、シスコではIPデバイストラッキングプローブの遅延を主要な方式として使用することを推奨しています。SVI は 6500 シリーズ スイッチのプラットフォームで現在使用できません。このコマンドは、2900、3500、および 3700 シリーズ スイッチ プラットフォーム上の Cisco IOS バージョン 12.2(55)SE、および 4500 シリーズ スイッチ プラットフォーム上の Cisco IOS バージョン 15.1(1)SG に実装されました。
このコマンド形式は、新しいコードバージョン用です。
ip device tracking probe auto-source fallback
[override]
この最新のコマンドラインインターフェイス(CLI)コマンドは、Cisco IOSバージョン15.2(2)EでCisco Bug ID CSCtn27420によって導入されました。これは、デフォルトの送信元IPアドレス0.0.0.0を使用する代わりに、ユーザ定義のARP要求の送信元IPアドレスを許可するために追加されました。新しいグローバルコマンドip device tracking probe auto-source fallback 0.0.0.x 255.255.255.0 overrideを使用すると、サブネットでホストアドレス0.0.0.xを使用して、IPアドレスの重複の問題を回避できます。 特定のVLANにSVIがない場合は、代わりにフォールバックホストIPを使用してプローブが送信されます。
- この問題を回避するために使用される非SVIの主な代替手段は、Microsoft Windowsが重複IPアドレスの検出を完了する時間を確保できるように、スイッチからのプローブを遅延させることです。これは、アクセスポートおよびリンクアップシナリオでのみ有効です。プローブを遅延させるには、次のコマンドを入力します。
ip device tracking probe delay 10
RFCでは、重複アドレス検出の10秒間の時間枠を指定しています。デバイストラッキングプローブを遅延させると、ほとんどすべての場合に問題が解決します。プローブの遅延に加えて、スイッチがPCからのプローブを検出したときにも遅延がリセットされます。たとえば、プローブタイマーが5秒までカウントしてからPCからのARPプローブを検出した場合、タイマーは10秒にリセットされます。 同様にタイマーをリセットするため、DHCPスヌープも有効にすると、このウィンドウをさらに短縮できます。 まれに、スイッチからプローブが送信される数ミリ秒前に PC から ARP プローブが送信される場合があり、この場合もエンド ユーザへの重複アドレスのメッセージがトリガーされます。このコマンドは、2900、3500、および 3700 シリーズ スイッチ プラットフォーム上の Cisco IOS バージョン 15.0(1)SE、4500 シリーズ スイッチ プラットフォーム上の Cisco IOS バージョン 15.0(2)SG、および 6500 シリーズ スイッチ プラットフォーム上の Cisco IOS バージョン 12.2(33)SXI7 で導入されました。
- この問題を解決するために使用される別の方法は、クライアントのトラブルシューティングを行い、リンクがオンラインになった後、重複アドレス検出がこれほど遅れて発生した理由を特定することです。スイッチにはこのプロセスが発生する時間を判別する方法がないため、競合を防ぐためにプローブ遅延に設定されている時間を推定します。重複アドレス検出がこれほど遅れて発生する原因を効果的にトラブルシューティングするには、IPデバイストラッキングプローブの動作に関する詳細な情報が役立ちます。
ARP プローブは、次の 2 つの状況下で送信されます。
- IPDT データベースの現在のエントリに関連付けられたリンクは DOWN 状態から UP 状態に移行します。
- IPDTデータベース内のエントリに関連付けられているリンクがすでにUP状態になっていて、プローブ間隔が期限切れになっている。
IPデバイストラッキングプローブ間隔を設定するには、次のコマンドを入力します。
ip device tracking probe interval
デフォルトの間隔は 30 秒です。この情報を表示するには、次のコマンドを入力します。
show ip device tracking all
IP Device Tracking = Enabled
IP Device Tracking Probe Count = 3
IP Device Tracking Probe Interval = 30
IP Device Tracking Probe Delay Interval = 0
------------------------------------------------------------
IP Address MAC Address Vlan Interface STATE
------------------------------------------------------------
10.0.0.1 a820.661b.b384 301 GigabitEthernet0/1 INACTIVE
Total number interfaces enabled: 1
Enabled interfaces:
Gi0/1
最初のエントリがDOWN状態からUP状態に移行した後は、プローブの遅延インターバルの間にスイッチがそのデバイスからのトラフィックを確認しない限り、それ以上のプローブは送信されません。また、前述のとおり、スイッチで ARP プローブを(同時に)送信する数ミリ秒前に PC で ARP プローブが送信された場合にのみ競合が発生します。
関連情報