このドキュメントでは、IPデバイストラッキング(IPDT)の動作と一部のトラブルシューティングアクションを確認する方法について説明します。
このドキュメントに関する固有の要件はありません。
このドキュメントの出力は、次のソフトウェアとハードウェアのバージョンに基づくものです。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
IPDT の主要なタスクは、接続されたホストを追跡することです(MAC および IP アドレスの関連付け)。 これを行うために、ユニキャストアドレス解決プロトコル(ARP)プローブをデフォルトの間隔である30秒で送信します。これらのプローブは、リンクの反対側に接続されているホストのMACアドレスに送信され、デフォルトソースとしてレイヤ2(L2)を使用します。これにより、RFC 5227に記載されているARPプローブの定義に基づいて、ARPの送信元となる物理インターフェイスのMACアドレスと送信元IPアドレス0.0.0.0が許可されます。
注:IPDTは、SISFベース(スイッチ統合セキュリティ機能)のデバイストラッキングのために廃止されました。SISFは拡張IPトラッキングを提供し、IPv4とIPv6の両方をサポートします。
Cisco IOS® XE Denali 16.1.1以降では、既存のIPv6スヌーピング(SNOOPING)およびIPデバイストラッキング(IPDT)コマンドに対応するSISFベースのデバイストラッキングコマンドを使用して、IPv4とIPv6の両方のアドレスファミリに設定を適用できます。
このドキュメントは、従来のIPデバイストラッキング(IPDT)機能に関連するため、参照用に保存されています。現在の導入では、最新のCisco IOS-XEプラットフォームのIPDTに取って代わるSISFベースのデバイストラッキングを使用できます。 SISFのトラブルシューティングに関するその他のガイダンスについては、「Catalyst 9000シリーズスイッチのSISFのトラブルシューティング」を参照してください。
このドキュメントでは、ARPプローブという用語は、ARP要求パケットを指して使用されます。このパケットは、ローカルリンク上でブロードキャストされ、送信元IPアドレスがすべてゼロになります。送信側のハードウェアアドレスには、パケットを送信するインターフェイスのハードウェアアドレスを含める必要があります。送信元IPアドレスフィールドは、アドレスが別のホストによってすでに使用されていることが判明した場合に、同じリンク上の他のホストでARPがキャッシュする破損を避けるために、すべて0に設定する必要があります。ターゲットIPアドレスフィールドは、プローブ対象のアドレスに設定する必要があります。ARPプローブは、質問(このアドレスを使用する人はいますか?)と暗黙の文(このアドレスを使用したい)の両方を伝えます。
IPDT の目的は、スイッチが IP アドレスによりそのスイッチに接続されているデバイスのリストを取得して維持することです。プローブはトラッキングエントリを入力しません。これは、ホストからのARP要求/応答を通じて学習されたエントリをテーブル内で維持するためだけに使用されます。
IP ARPインスペクションは、IPDTが有効になると自動的に有効になります。これにより ARP パケットの監視時に新しいホストの出現が検出されます。ダイナミックARPインスペクションが有効な場合、検証されたARPパケットのみがデバイストラッキングテーブルの新しいホストの検出に使用されます。
IP DHCP スヌーピングが有効になっている場合、DHCP が IP アドレスを割り当てたり取り消したりすると、新しいホストの出現や削除が検出されます。特定のホストのDHCPトラフィックが確認されると、IPDT ARPプローブ間隔タイマーがリセットされます。
IPDTは常に利用可能であった機能ですが、より新しいCisco IOS®リリースでは、その相互依存関係はデフォルトで有効になっています(Cisco Bug ID CSCuj04986を参照)。 このコマンドは、IP/MACホストの関連付けのデータベースを使用して、ダイナミックアクセスコントロールリスト(ACL)の送信元IPを入力したり、IPアドレスのセキュリティグループタグへのバインディングを維持したりする場合に非常に便利です。
ARP プローブは、次の 2 つの状況下で送信されます。
スイッチから送信されるキープアライブプローブはL2チェックです。したがって、スイッチから見ると、ARPの送信元として使用されるIPアドレスは重要ではありません。この機能は、IPアドレスが設定されていないデバイスでも使用できるため、IP送信元0.0.0.0は関係ありません。
ホストはこのメッセージを受信すると、応答して受信パケットに使用できる IP アドレス(自身の IP アドレス)のみを宛先 IP フィールドに入力します。これにより、IPアドレスの重複に関する誤ったアラートが発生する可能性があります。これは、応答するホストが、自身のIPアドレスをパケットの送信元と宛先の両方として認識するためです。IPアドレスの重複のシナリオの詳細については、「Duplicate IP Address 0.0.0.0」エラーメッセージのトラブルシューティング」の記事を参照してください。
IPDTのグローバルオン/オフ設定は従来の動作であり、特定の機能を動作させるためにIPDTをオンにする必要があることを顧客が常に認識していたわけではないため、フィールドで問題が発生しました。現在のリリースでは、IPDTを必要とする機能を有効にした場合、IPDTはインターフェイスレベルでのみ制御されます。
これらのリリースでは、IPDTはデフォルトでグローバルに有効になっています。つまり、グローバル設定コマンドはありません。
IPDT がグローバルに有効になっていても、必ずしも IPDT が特定のポートをアクティブに監視することを意味するわけではないため、注意が必要です。
IPDTが常にオンで、IPDTがグローバルに有効なときにIPDTをグローバルにオフ/オンに切り替えられるリリースでは、他の機能によって特定のインターフェイスでアクティブかどうかが決まります(「機能領域」の項を参照)。
特定のインターフェイスから送信される IPDT とその ARP プローブは次の機能で使用されます。
| Platform |
機能 |
既定のオン(開始する場所) |
Disableメソッド |
CLIの無効化 |
| Cat 2960/3750(Cisco IOS) |
IPDT |
15.2(1)E * |
グローバルCLI(旧リリース)* インターフェイスごと |
IPデバイストラッキングなし* IPデバイストラッキング最大0 *** |
| Cat 2960/3750(Cisco IOS) |
NMSP |
いいえ |
グローバルCLIまたは インターフェイスごとのCLI |
NMSPの有効化なし NMSP添付の抑制**** |
| Cat 2960/3750(Cisco IOS) |
デバイスセンサー |
15.0(1)SE |
グローバルCLI |
マクロの自動モニタなし |
| Cat 2960/3750(Cisco IOS) |
ARPスヌーピング |
15.2(1)E ** |
N/A |
N/A |
| Cat 3850 |
IPDT |
すべてのリリース* |
インターフェイス単位* |
IPデバイストラッキング最大0 *** |
| Cat 3850 |
NMSP |
All releases |
インターフェイスごと |
NMSP添付の抑制 |
| Cat 3850 |
デバイスセンサー |
いいえ |
N/A |
N/A |
| Cat 3850 |
ARPスヌーピング |
All releases** |
N/A |
N/A |
| Cat 4500 |
IPDT |
15.2(1)E / 3.5.0E * |
グローバルCLI(旧リリース)* インターフェイスごと |
IPデバイストラッキングなし* IPデバイストラッキング最大0 *** |
| Cat 4500 |
NMSP |
いいえ |
グローバルCLIまたは インターフェイスごとのCLI |
NMSPの有効化なし NMSP添付の抑制**** |
| Cat 4500 |
デバイスセンサー |
15.1(1)SG / 3.3.0SG |
グローバルCLI |
no macro auto monitor |
| Cat 4500 |
ARPスヌーピング |
15.2(1)E / 3.5.0E ** |
N/A |
N/A |
IPDTがデフォルトで有効になっていないリリースでは、次のコマンドを実行してIPDTをグローバルに無効にすることができます。
Switch(config)#no ip device tracking
IPDTが常にオンになっているリリースでは、以前のコマンドの実行が使用できないか、IPDTを無効にできません(Cisco Bug ID CSCuj04986)。 この場合、IPDTが特定のポートをモニタしたり、重複したIPアラートを生成したりしないようにするには、いくつかの方法があります。
このコマンドを使用すると、スイッチはリンク アップまたはリンク フラップを検出したときに 10 秒間プローブを送信できなくなります。これにより、リンクの反対側のホストが重複 IP アドレスを確認している間にプローブが送信される可能性が最小限に抑えられます。RFCでは、重複アドレス検出の時間枠を10秒と指定しています。デバイストラッキングプローブを遅らせると、ほとんどの場合で問題が解決する可能性があります。
ホスト(たとえば Microsoft Windows PC)が重複アドレス検出のフェーズにある間に、スイッチでクライアントへの ARP プローブが送信された場合、ホストはこのプローブを重複 IP アドレスとして検知し、ネットワークで重複 IP アドレスが見つかったというメッセージをユーザに表示します。PCがアドレスを取得できず、ユーザが手動でアドレスを解放/更新する必要がある場合、ネットワークを切断して再接続するか、ネットワークアクセスを取得するためにPCをリブートします。
プローブ遅延に加えて、スイッチが PC/ホストからのプローブを検出したときも遅延がリセットされます。たとえば、プローブタイマーが5秒までカウントした後にPCまたはホストからのARPプローブを検出した場合、タイマーはリセットされて10秒に戻ります。
この設定は Cisco Bug ID CSCtn27420 によって使用可能になりました。
このコマンドを使用すると、RFCに準拠しないARPプローブを送信するようにスイッチを設定できます。IPソースは0.0.0.0ではなく、ホストが存在するVLAN内のスイッチ仮想インターフェイス(SVI)です。Microsoft Windowsマシンでは、プローブがRFC 5227で定義されているプローブとして認識されなくなり、重複する可能性のあるIPとしてフラグが付けられません。
予測可能または制御可能なエンドデバイスがない場合、またはL2のみのロールで多数のスイッチがある場合は、設計にレイヤ3変数を導入するSVIの設定は適切なソリューションではありません。バージョン15.2(2)E以降で導入された機能拡張では、IPアドレスの任意の割り当てを許可する機能が、IPDTによって生成されるARPプローブの送信元アドレスとして使用するためにスイッチに属している必要はありません。この拡張機能では、次の方法でシステムの自動動作を変更できます(次のリストで、各コマンドの使用後に行われるシステムの自動動作を示します)。
前述の計算の例として、ホスト192.168.1.200を提供されたマスクとホストビットを使用してプローブし、192.168.1.1の送信元アドレスを生成するとします。 エントリ10.5.5.20をプローブする場合は、送信元アドレスが10.5.5.1などであるARPプローブを生成できます。
このコマンドはIPDTを本当の意味で無効にするものではありませんが、追跡されるホストの数を0に制限します。このソリューションは推奨されておらず、Cisco Bug ID CSCun81556に記載されているポートチャネル設定を含む、IPDTに依存する他のすべての機能に影響を与えるため、使用には注意が必要です。
IPDTをトリガーできる機能には、NMSP、デバイスセンサー、dot1x/MAB、WebAuth、およびIPSGなどがあります。これらの機能は、トランクポートでイネーブルにすることは推奨されません。このソリューションは、以前に利用可能だったすべてのソリューションが期待どおりに動作しなかったり、新たな問題を引き起こしたりする、最も困難または複雑な状況に備えて用意されています。ただし、これは他の機能に影響を与えずに、問題の原因となる IPDT 関連機能のみを無効にすることができるので、IPDT の無効化時に詳細な設定を可能にする唯一のソリューションです。
最新の Cisco IOS、バージョン 15.2(2) E 以降では、次のような出力が表示されます。
Switch#show ip device tracking interface GigabitEthernet 1/0/9
--------------------------------------------
Interface GigabitEthernet1/0/9 is: STAND ALONE
IP Device Tracking = Disabled
IP Device Tracking Probe Count = 3
IP Device Tracking Probe Interval = 180000
IPv6 Device Tracking Client Registered Handle: 75
IP Device Tracking Enabled Features:
HOST_TRACK_CLIENT_ATTACHMENT
HOST_TRACK_CLIENT_SM
出力の最下部にあるすべて大文字の 2 行は、IPDT を使用して動作する機能です。デバイストラッキングを無効にしたときに発生する問題のほとんどは、インターフェイスで実行される単一のサービスを無効にすれば回避できます。
Cisco IOSの以前のバージョンでは、インターフェイスで有効になっているモジュールを簡単に確認する方法がまだないため、同じ結果を得るためにより複雑なプロセスを実行する必要があります。debug ip device track interfaceを有効にしてください。これは、ほとんどのセットアップで安全に使用できる低頻度のログです。反対に、debug ip device tracking allはスケールされた状況のコンソールをフラッディングするため、有効にしないよう注意してください。
デバッグを有効にすると、インターフェイスがデフォルトに戻り、インターフェイス設定の IPDT サービスが追加および削除されます。デバッグの結果から、使用したコマンドによって有効または無効になったサービスがわかります。
Switch(config)#interface GigabitEthernet 1/0/9
Switch(config-if)#ip device tracking maximum 10
Switch(config-if)#
*Mar 27 09:58:49.470: sw_host_track-interface:Feature 00000008 enabled on port Gi1/0/9, mask now 0000004C, 65 ports enabled
*Mar 27 09:58:49.471: sw_host_track-interface:Gi1/0/9[L2 DOWN, IPHOST DIS]IP host tracking max set to 10
Switch(config-if)#
出力によって判明することは、機能00000008を有効にしたこと、および新しい機能マスクが0000004Cであることです。
ここでは、追加した設定を削除します。
Switch(config-if)#no ip device tracking maximum 10
Switch(config-if)#
*Mar 27 10:02:31.154: sw_host_track-interface:Feature 00000008 disabled on port
Gi1/0/9, mask now 00000044, 65 ports enabled
*Mar 27 10:02:31.154: sw_host_track-interface:Gi1/0/9[L2 DOWN, IPHOST DIS]IP
host tracking max cleared
*Mar 27 10:02:31.154: sw_host_track-interface:Max limit has been removed from
the interface GigabitEthernet1/0/9.
Switch(config-if)#
機能00000008を削除すると、元のデフォルトマスクである必要がある00000044マスクが表示されます。AIMが0x00000004、SMが0x00000040であるため、結果として0x00000044が返され、00000044の値が予想されます。
インターフェイスで動作できる複数の IPDT サービスを次に示します。
| IPTサービス |
Interface |
| HOST_TRACK_CLIENT_IP_ADMISSIONS |
= 0x00000001 |
| HOST_TRACK_CLIENT_DOT1X |
= 0x00000002 |
| HOST_TRACK_CLIENT_ATTACHMENT |
= 0x00000004 |
| HOST_TRACK_CLIENT_TRACK_HOST_UPTO_MAX |
= 0x00000008 |
| HOST_TRACK_CLIENT_RSVP |
= 0x00000010 |
| HOST_TRACK_CLIENT_CTS |
= 0x00000020 |
| HOST_TRACK_CLIENT_SM |
= 0x00000040 |
| HOST_TRACK_CLIENT_WIRELESS |
= 0x00000080 |
この例では、HOST_TRACK_CLIENT_SM(SESSION-MANAGER)およびHOST_TRACK_CLIENT_ATTACHMENT(別名AIM/NMSP)モジュールがIPDT用に設定されています。このインターフェイスでIPDTを無効にするには、両方を無効にする必要があります。これは、IPDTを無効にするのは、それを使用するすべての機能が同様に無効になっている場合だけであるためです。
これらの機能を無効にすると、次のような出力が表示されます。
Switch(config-if)#do show ip device tracking interface GigabitEthernet 1/0/9
--------------------------------------------
Interface GigabitEthernet1/0/9 is: STAND ALONE
IP Device Tracking = Disabled ß IPDT is disabled
IP Device Tracking Probe Count = 3
IP Device Tracking Probe Interval = 180000
IP Device Tracking Enabled Features:
ß No active features
--------------------------------------------
このように、IPDT はより詳細に無効化されます。
前述の機能の一部を無効にするために使用するコマンドの例を次に示します。
次のコマンドを実行して、デバイスのIPDTステータスを確認します。
| 改定 | 発行日 | コメント |
|---|---|---|
5.0 |
07-Jul-2026
|
スペルチェック、文章校正、スペース、CCWのアラートを更新。 |
4.0 |
04-Dec-2025
|
機械翻訳とSEOを更新。 |
3.0 |
19-Dec-2024
|
更新された書式。 |
2.0 |
21-Aug-2023
|
SEO、スタイル要件、フォーマットが更新されました。 |
1.0 |
25-Nov-2014
|
初版 |