BAD ADDRESSがDHCPサーバに記録される
Windows DHCPサーバでBAD_ADDRESSが記録されることがありました。そして、クライアントのイベントログにはIP重複メッセージが。
DHCPサーバがBAD_ADDRESSを記録されるのは、様々な要因がありますが、
根本的には、払い出したIPが同一セグメント内で重複していることが原因です。
とはいえ、特にIP重複するような構成に思い当たる節がない場合、
発生しているセグメント内に、シャットダウン後もNICがLINK UPしていて、arp応答している端末がないか 確認してみましょう。
ここでDHCPのIP払い出しのフローをおさらいしてみます。
IT Pro [これで完璧DHCP]上記記事にあるとおり、DHCPの払い出し後、割り当てられたクライアントは、ARP要求でIP重複していないか確認します。
http://itpro.nikkeibp.co.jp/members/NNW/NETPOINT/20041116/152622/
では、シャットダウン後NICからarp応答し続けている端末がある場合、どのような動きになるでしょうか。
DHCPサーバ、稼働中の端末A(ホスト名:A、IPアドレス:A、MACアドレス:A)、停止中の端末B(ホスト名:A、IPアドレス:A、MACアドレス:A)があったとして動きを見てみます。
1. (ホスト名:A、IPアドレス:A、MACアドレス:A)を保有する端末をシャットダウンする
2. (IPアドレス:A)はDHCPサーバでは使用されなくなったと認識
3. (ホスト名:B)を起動、DHCPサーバは(IPアドレス:A)は空いていると認識し、(IPアドレス:A)リリース
4. (ホスト名:A、MACアドレス:A)はarpを返しつづけているので、スイッチ上では(IPアドレス:A、MACアドレス:A)として存在
5. (ホスト名:B、IPアドレス:A)からarpすると、(IPアドレス:A、MACアドレス:A)で返答あるため、IP重複されていると(ホスト名:B)は判断
6. DHCPサーバは、(ホスト名:B)で重複の情報を受け、(IPアドレス:A)をBAD_ADDRESS と判断する
7. (ホスト名:B)は別IPを再度受け取り、通信が可能となる。
上記の状態になっている場合、発生しているセグメントから、以下の手順で確認可能です。
・arp –d <BAD_ADDRESS>でarpテーブルの情報クリア
・ping <BAD_ADDRESS> (応答がなくても構いません)
・再度arp –a 実施
・arpテーブルにBAD_ADDRESSのIPが表示されているか確認
対策
ARPオフロード、NSオフロードを無効化することで、停止後ARP応答しないようにできます。Windows7によるネットワークデバイスの管理
https://technet.microsoft.com/ja-jp/library/ee617165%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396
ARPオフロード、NSオフロードになっているか確認
<管理者権限にてPowerShell>ArpOffload、 NSOffloadが、enabledになっているかどうか確認します。
Get-NetAdapterPowerManagement –Name <ネットワーク名>
また、NICドライバの詳細設定でも確認・変更できる場合があります。
コマンドで無効化したい場合は、以下を実行することでdisableにすることができます。
<管理者権限にてPowerShell>
Set-NetAdapterPowerManagement –name '名前' -ArpOffload disabled -NSOffload disabled
まとめ
・DHCPサーバにBAD_ADDRESSが記録されるときは、シャットダウン後もARP応答している端末がないかも疑ってみる。・ARPオフロード、NSオフロードサービスを停めると、解消する
スポンサーリンク