Home > Windows にまつわる e.t.c.

匿名(一時) IPv6 アドレスを無効にする


Windows 7 や Windows Vista を RA 環境に配置すると、IPv6 アドレス、一時 IPv6 アドレス、リンクローカル IPv6 アドレスの3種類の IPv6 アドレスが構成されます。

このうち、一時 IPv6 アドレスは、匿名アドレスと呼ばれる IPv6 アドレスで、24h または PC 再起動時にアドレスが変更される使い捨ての IPv6 アドレスです。

実際の通信は、この一時 IPv6 アドレスが使用され、クライアント PC の匿名性を担保しています。

この一時 IPv6 アドレスは、インターネット接続時には都合が良いのですが、DDNS に登録されないので(AD が持つ DNS には IPv6 アドレスが登録されますが、一時 IPv6 アドレスは登録されません)、IPv6 アドレスから逆引きでホスト名を得る事が出来ません。
このため、ファイアウオール等で、ポリシー違反のホストを特定したりする場合には、匿名性が強すぎて弊害になってしまいます。

この問題を解決するには、netsh コマンドで「一時 IPv6 アドレス」を構成させないようにして、IPv6 アドレスで通信をするようにします。

一時 IPv6 アドレス構成の OFF/ON は netsh interface ipv6 set privacy state コマンドで設定します。

netsh interface ipv6 set privacy state=disable    一時 IPv6 アドレスの構成を無効にする
netsh interface ipv6 set privacy state=enable    一時 IPv6 アドレスの構成を有効にする

実際に設定してみましょう。(要管理者権限)

コマンド入力後に NIC を再起動する必要があります。
GUI での設定や PC を再起動しても良いのですが、面倒なので netsh コマンドで NIC 再起動しても構いません。

一時 IPv6 アドレスが構成されなくなった

 

この設定を GPO やレジストリで出来れば企業とかでの展開が楽なのですが、残念ながら netsh 以外での設定はできない様です。

どこのレジストリに設定されるのかは見つけたのですが、キーが GUID だし、サブキーも人が判別できるような仕様ではなく、設定されている値もバイナリーです。
業務運用としてこれを設定するのはかなり無理があるので、公表は控える事にします。

ちなみに、Windows 8 以降であれば、netsh を使わず、PowerShell のコマンドレットで設定可能です。

Set-NetIPv6Protocol -UseTemporaryAddresses Disabled
Get-NetAdapter | Restart-NetAdapter

 

Back

Home 

Copyright © MURA All rights reserved.