クラウドおよびシステム管理 : Cisco Network Registrar

Cisco Network Registrar で使用不可能なリース

2003 年 2 月 14 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2005 年 10 月 26 日) | フィードバック

目次


概要

Dynamic Host Configuration Protocol(DHCP; ダイナミック ホスト コンフィギュレーション プロトコル)サーバが実行されている場合に、いくつかのリースが使用不可能として表示される場合があります。 これには次に示すようにいくつかの理由があり、ほとんどの場合は DHCP のログに明確に記されています。
  • Ping before offer がイネーブルになっている
  • DHCP サーバが正しい IP アドレスをリースしていると思われる DHCP クライアントから DHCPDECLINE メッセージを受信した
  • Cisco Network Registrar(CNR)DHCP サーバが他の DHCP 宛のメッセージを参照している
手っ取り早い解決策は、リースを強制的に使用可能にすることです。 しかし、リースが使用不可能とマークされている原因を探ることが必要であるため、この方法はお勧めできません。 CNR ログのディレクトリを参照して、DHCP ログを探してください。 このサーバによって、IP アドレスが使用不可とマークされる理由が明確になります。

前提条件

この文書の読者は次の項目に関する知識が必要です。
  • DHCP の動作の仕組み
  • CNR の コマンドライン インターフェイス(nrcmd)
  • CNR の GUI ユーザ インターフェイス

ハードウェアとソフトウェアのバージョン

この文書の情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
  • Cisco Network Registrar 5.0.X
  • Windows 2000 および Solaris 7

リースが使用不可とマークされる理由

Ping Before Offer

IP アドレスをクライアントに割り当てる前に、DHCP サーバが Internet Control Message Protocol(ICMP; インターネット制御メッセージ プロトコル)のエコー メッセージ機能(ping ユーティリティ)を使用して、あるアドレスに対する応答があるかどうかを判断できるようにすることができます。 CNR サーバがこの ping に対する応答を受け取ると、DHCP サーバはこのアドレスを使用不可能としてマークし、クライアントには別の IP アドレスを提示します。 ping を使用すると、2 つのクライアントが同じ IP アドレスを使用しないようにすることができます。 CNR サーバで Ping before offer をイネーブルにするには、「DHCP スコープとリースの設定」の「アドレスを提示する前にホストに ping を実行」の項を参照してください。

ping が応答される原因として、クライアントに IP アドレスがスタティックに設定されていることか、中間デバイス(ルータやスイッチ)によって、これらのデバイスが担当するネットワーク上のアドレス宛の ping に対して不適切な応答が行われていることが考えられます。

これらのリースを使用可能にするには、「リースを強制的に使用可能にする」を参照してください。

クライアントから DHCPDECLINE メッセージを受信

DHCP サーバが、正しいと見なしている IP アドレスをリースしているクライアントから DHCPDECLINE メッセージを受信した場合には、IP アドレスが使用不可とマークされる場合があります。

これは、一部のクライアントが自身のローカルな LAN セグメント上で、その IP アドレスに対して Address Resolution Protocol(ARP; アドレス解決プロトコル)を送信していることが原因で発生します。 これに応答があると、DHCP クライアントは DHCPDECLINE を使用してその IP アドレスを DHCP サーバに戻し、新しい IP アドレスを得るために別の DHCPDISCOVER を実行します。 この場合は ping before offer の場合と同様に、クライアントからその IP アドレスを使用しているアクティブなクライアントがあると示されます。これは、おそらくスタティックに設定されているものと思われます。 これにより、DHCP サーバはその IP アドレスを使用不可であるとマークします。

このことは、Non-Unique Client Identifiers を設定しているクライアントによって、頻繁に引き起こされます。 DHCP サーバはこのフィールドをクライアントの識別に使用しているため、アドレス割り当ての重複が発生することがあります。 この解決策は、クライアント識別子として mac-address-only を割り当てることです。

CNR では、クライアントの識別に次のいずれの方法でも指定できます。

  1. クライアント ID による識別。 クライアント ID は通常はクライアントによって指定されます。 ただし、クライアント ID がクライアントから指定されない場合は、DHCP サーバによって一意の ID が作成されます。その際、先頭に Hardware Type = 1 を持つ一意の MAC アドレスの再フォーマットが使用されます。 (これは RFC ごとに指定されているデフォルトの設定です)。
  2. MAC アドレスだけによる識別。 この機能はサーバ上でデフォルトで無効になっています。 (このオブジェクトを実際の MAC アドレスから識別するために、MAC アドレスのチェックサムが追加されています)。 これをイネーブルにするには、次のコマンドを使用します。
  3. nrcmd> dhcp enable Mac-address-only
    この設定により、DHCP サーバがクライアントの MAC アドレスを唯一のクライアント識別子として使用するようになり、その結果クライアントから渡されるクライアント ID が無視されます。 これを使用して、DHCP サーバを使用するすべてのクライアントを識別するための、唯一の一貫した方法とすることができます。

    : たとえどのクライアントであっても、クライアントがサーバ上で設定されたと見なされる前に、この機能を設定する必要があります。これは Mac-address-only で設定された新しいクライアント ID が、デフォルトで生成されるクライアント ID とは異なるためです。このオプションが実働ネットワークでイネーブルにされている場合、更新処理の間は既存のクライアントは それ自身 として見なされません。これらは確認応答されず(NAK)、強制的に新しいリースになります。 これによって、現在リースされていると見なされる(使用中の)複数のリースは、期限が切れるまで確保されます。 したがって、この機能をイネーブルにするサイクルの間、ネットワーク上には 2 倍の数のアドレスが必要になります。

これらのリースを使用可能にするには、「リースを強制的に使用可能にする」の説明に従ってください。

設定が誤っている DHCP サーバまたは Rogue DHCP Server

DHCP サーバでは、あるリースが別の DHCP サーバによって供与されていることが分かった場合、その IP アドレスを使用不可としてマークします。

すべての DHCPREQUEST メッセージは、初期の DISCOVER/OFFER/REQUEST/ACK サイクルの一部としてブロードキャストされます。 DHCP サーバは他の DHCP サーバ宛のメッセージを参照でき、パケット内の server-id オプションの内容からメッセージの宛先を識別できます。

CNR DHCP サーバが他の DHCP サーバ宛のメッセージを参照したときに、そのメッセージが参照している IP アドレスがその DHCP サーバ自身によって制御されているものであった場合には、その IP アドレスを使用不可としてマークします。 この理由は、この DHCP サーバがこのアドレス空間を制御するように設定されているものの、別の DHCP が同じアドレス空間を管理していることが判明したために、この別のサーバが誤って設定されているものと見なしたためです。

この動作は、ある制御用 DHCP サーバから、IP アドレスが異なる別のサーバへ移行する場合(かつ、この別のサーバがこれらのアドレスに対して認知および認可された DHCP フェールオーバー パートナーとして設定されていない場合)に見られます。 CNR 5.0.X 移行では、この動作をディセーブルにし、他の制御用 DHCP サーバへのアドレス空間の移行を簡単にしています。この場合、次のコマンドを使用します。

nrcmd> dhcp set ignore-requests-for-other-servers=true
これらのリースを使用可能にするには、「リースを強制的に使用可能にする」を参照してください。

リースを強制的に使用可能にする

現在あるホストによって確保されているリースを、強制的に使用可能にすることができます。 強制的に使用可能にする前に、ユーザに対してこのリースを解放するよう要求するか、自分自身がこの作業を行えるようにする必要があります。 この変更を有効にするために、DHCP サーバをリロードする必要はありません。

GUI を使用する場合:

  1. Scope Properties ダイアログ ボックスの Leases タブから、強制的に使用可能にするリースを選択します。
  2. そのアドレスをダブルクリックして、Lease Properties ダイアログ ボックスを開きます。
  3. Force available ボタンをクリックします。
  4. OK をクリックします。
CLI を使用する場合:
  • lease <ip address> force-available コマンドを使用して、現在確保されているリースを強制的に使用可能にします。
  • nrcmd> lease 192.168.1.21 force-available
  • また、scope <scope name> clearUnavailable コマンドを使用すると、あるスコープ内の使用不可能なリースをすべて使用可能にすることができます。
  • nrcmd> scope scope1 clearUnavailable
    scope <scope name> clearUnavailable コマンドは、CNR バージョン 5.x 以降でのみ使用できます。

その他のリース情報

  • リースがいつ使用不可能になったかを判別するには:

  • リースがいつ使用不可能になったかを判別するには、次のコマンドを使用します。
    nrcmd> lease ip-address get start-time-of-state
  • リースを無効にするには:

  • クライアントをリースの対象から外すために、リースを無効にするよう選択することができます。 リースが使用可能な場合は、これを無効にすると CNR によってこのリースがクライアントに付与されなくなります。
    リースがアクティブな場合(クライアントによって確保されている場合)は、リースを無効にすると、クライアントによってリースが更新されなくなり、他のクライアントへ付与されなくなります。 リースを無効にできるのは、サーバが実行されているときだけです。 CNR によってリースが直ちに無効化されるため、DHCP サーバをリロードする必要はありません。 リースが使用可能である場合、無効にすると使用不可能になります。リースがアクティブである場合は、更新または初期リースの目的では使用不可能になります。

  • 使用可能なアドレスの総数:

  • スコープ範囲内のアドレスの総数は、次の合計数に一致します。 フリー + 動的にリース済み + 予約済み + 使用不可 + 無効 + その他の使用可能なもの

関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 18934