次の方法で共有


DHCP クライアントが DHCP 割り当て IP アドレスを取得できない場合がある

この記事は、DHCP クライアントが DHCP 割り当て IP アドレスを取得できない問題を解決するのに役立ちます。

元の KB 番号: 167014

現象

DHCP クライアントをあるサブネットから別のサブネットに移動すると、新しいサブネットで有効な IP アドレスを取得できないことがあります。

解決方法

この問題を回避するには、次のいずれかの方法を実行します。

  • 重複する IP アドレス指定スキームは使用しないでください。

  • クライアントを新しいセグメントに移動した後、次のコマンドを実行します。

    Ipconfig /Release
    Ipconfig /Renew
    

詳細

以前に DHCP 割り当てアドレスを持っていた DHCP クライアントが再度起動されると、クライアントは INIT-REBOOT 状態になります。 クライアントは、DHCPRequest パケットを送信し、DHCP オプション フィールド "DHCP 要求アドレス" に以前に割り当てられた IP アドレスを設定することで、同じアドレスを引き続き使用できることを確認しようとします。

DHCP サーバーがサイレント状態のままである場合、クライアントは前のアドレスがまだ有効であると見なして保持します。 DHCP サーバーが DHCPRequest に応答して NACK パケットを送信すると、クライアントは検出サイクルに入ります。また、DHCPDiscover パケットで以前に割り当てられたアドレスも要求します。

DHCP サーバーは、以前に割り当てられたアドレスが指定された DHCPRequest を受け取ると、まず GIADDR フィールドを調べてローカル セグメントから送信されたかどうかを確認します。 ローカル セグメントから送信された場合、DHCP サーバーは、要求されたアドレスを、要求を受信したローカル インターフェイスに属する IP アドレスとサブネット マスクと比較します。

アドレスが同じサブネット上にあるように見える場合、アドレスがそのアドレス プールの範囲内にない場合でも、DHCP サーバーはサイレントのままです。 DHCP サーバーは、アドレスが同じセグメント上の別の DHCP サーバーによって割り当てられたと見なします (独自のプールから割り当てられない場合)。 アドレスがサブネット マスク/IP アドレス チェックに失敗した場合、DHCP サーバーは、スーパースコープから取得されたアドレスが定義されているかどうかを確認します。 そうでない場合、サーバーは NACK パケットを使用して DHCPRequest に応答します。

DHCPRequest を送信するクライアントが、同じサブネット上にあるように見えるアドレスを要求しているが、実際には別のサブネット マスクが割り当てられている場合、DHCP サーバーはサイレントのままになり、クライアントは新しいサブネットの有効な IP アドレスを取得できません。

たとえば、DHCP クライアントが 255.255.255.255.0 のサブネット マスクを持つアドレス 172.17.3.x を取得し、DHCP サーバーのアドレスが 172.17.1.x でサブネット マスクが 255.255.0.0 である新しいセグメントに移動するとします。 DHCP サーバーでサブネット マスクと IP アドレスの比較が行われると、DHCP サーバーは、アドレスが割り当てられたセグメント上の別の DHCP サーバーを想定して、サイレントのままです。 サブネット マスクが逆の場合、クライアントは有効なアドレスを取得します。