Windowsに何百もの一時IPv6アドレスがあるのはなぜですか?


17

ISPは数週間前にIPv6を有効にしました。今、私は、Windows(8.1)が多くの一時的なIPv6アドレスを取得することに気付きました。ipconfig次の出力があります(実際のアドレスは難読化されています):

Windows IP Configuration

Ethernet adapter Ethernet:

    Connection-specific DNS Suffix  . : fritz.box
    IPv6 Address. . . . . . . . . . . : 2012:65:fd85:5712:e0ca:9e76:661f:c4f1
    Temporary IPv6 Address. . . . . . : 2012:65:fd85:5712:74:5cd9:163c:69ef
    Temporary IPv6 Address. . . . . . : 2012:65:fd85:5712:89:8f2:7643:e51e
    Temporary IPv6 Address. . . . . . : 2012:65:fd85:5712:e3:52fd:b15f:6d7d
    [...over 600 more entries...]
    Temporary IPv6 Address. . . . . . : 2012:65:fd85:5712:fda8:816e:6d3:7713
    Temporary IPv6 Address. . . . . . : 2012:65:fd85:5712:fdc9:7a6b:d2c5:e880
    Temporary IPv6 Address. . . . . . : 2012:65:fd85:5712:fdf4:11ed:9aba:9e27
    Link-local IPv6 Address . . . . . : fe80::e0ca:9e76:661f:c4f1%3
    IPv4 Address. . . . . . . . . . . : 192.168.178.22
    Subnet Mask . . . . . . . . . . . : 255.255.255.0
    Default Gateway . . . . . . . . . : fe80::a96:d7ff:fe1f:cb26%3
                                        192.168.178.1

これらのアドレスがどこから来たのか、私には本当に分かりません。同じネットワーク上の私のMac OS Xには、一時的なIPv6アドレスに関する問題はありません。奇妙な問題に加えて、IPv6アドレスの量がWin​​dowsでのネットワークパフォーマンスを低下させていると思います。

誰がこの行動を引き起こしているのか、それを防ぐ方法を知っていますか?可能であれば、一時的なIPv6アドレスを完全に無効にしたくありません。


この質問を書いている間、私のWindowsはさらに50の一時IPv6アドレスを取得しました。
fschoenm 14年

1
接続を開いて、それらを開いたままにするプログラムがありますか?これが通常の原因です。また、これらのアドレスはいずれも実際には有効ではありません。2012::/8まだ割り当てられていません。それも問題になる可能性があります。
マイケルハンプトン14年

@MichaelHampton:申し訳ありませんが、アドレスを多少難読化しました。アドレスは有効です、あなたは私を信じなければなりません:)
fschoenm 14年

6
(ところで、IPv6アドレスを難読化する場合は、常に2001:db8::/32RFC 3849)を使用してください。これにより、これらがアドレス例であることが明確になります。)
Michael Hampton 14年

1
アドレス自体は部分的にランダムに生成されます。読むRandomly generated interface identifier:のセクションmsdn.microsoft.com/en-us/library/aa915616.aspx
ブライアン

回答:


14

誰がこの行動を引き起こしているのか、それを防ぐ方法を知っていますか?

ブライアンから提供されたリンクから、「ステートレスアドレス自動構成を使用するパブリックアドレスプレフィックスに対して一時アドレスが生成されます。」

より具体的には、各プロセスがリソース要求を生成し、OSが配信します。IPv6 SAAはRFC 2462で定義されていますが、「一時IPv6アドレス」は、RFC 4941の Windows実装のためです。したがって、質問は、これらのプライバシー拡張機能を持つソケットを開くためのOS要求を開始する責任があるプロセスになります。

これを引き起こしている質問に答えるために、ハードウェアとソフトウェアを見てみましょう。

OS

Windowsは、で定義されnetsh interface ipv6 show privacyたパラメーターを使用して一時アドレスを管理します。変更するにはnetsh interface ipv6 set privacy ?

Linuxマシンで設定されている内容を確認するには、のカーネル変数を確認します/proc/sys/net。を使用してディストリビューションの適切な値を見つけ、sysctl -a --pattern ^net\..*ipv?6.*temp.*必要な変数を変更するsysctl -w foo.bar.var=<new value>ことができます(Appleマシンでも同様である必要があります、チェックしてくださいman sysctl

ハードウェア/ OS

しましたnetstat -p TCPv6が、TCP接続ではない可能性があります。

行いnetstat -bes、互いから数分とされている* v6のブロック間のどのような差分参照してください。

NICファームウェアがipv6の処理に失敗しているという点でハードウェアの問題である可能性がありますが、ソフトウェアOS /プロセスがトリガーである可能性が高くなります。ハードウェアの場合、ソフトウェア側はセッションの中断を適切に処理していない可能性があり、以前のIPで接続を再開できません。したがって、ソフトウェアの問題としてIDを特定しても、必ずしもハードウェアの問題が排除されるわけではありません。

ソフトウェア/ OSシステムのプロセスとサービス

このため、http://www.nirsoft.net/utils/network_traffic_view.htmlを使用してネットワークトラフィックを表示し、プロセスを特定します。

定義上、これらのアドレスは一時的なものであるため、プロセスの終了後も一時的に残る可能性があり、ソケットがすぐに閉じられた場合、NTVで開いている接続で現在実行中のプロセスが表示されない場合があります。

これには、Process Explorer(http://live.sysinternals.com/tools/procexp.exe)と差分強調表示([オプション]> [差分強調表示期間]> 9)を使用してから、新しいプロセスにスクロールします([表示]> [新しいプロセスにスクロール])。行全体の緑/赤は、最後の9秒間にそれぞれ作成または破棄されたプロセスを示しています。

ブラウザーまたはプラグインを備えたアプリの場合、プロセスを特定したら、ブラウザーをセーフモードで起動し、プラグインごとにプラグインを有効にして、どのプラグインまたはWebサイトのJavaScriptが問題を引き起こしている可能性があるかをデバッグする必要があります。


おかげで、私はそのようなものを試してみるつもりです。ただし、再起動後、Windowsには一時的なIPv6アドレスがまったくないため、待つ必要があります。これは本当にイライラします。
fschoenm 14年

1
私が問題を見つけたと思います:あなたが提案したようにNetworkTrafficViewを使用しようとすると、WinPcapインストールが何らかの形で破損していることに気付きました。WiresharkもNetworkTrafficViewも使用できませんでした。どちらも起動時にハングしたためです。WinPcapを再インストールしてから、すべてが問題なく動作するようになりました!
fschoenm 14年

1

IPv6アドレス識別子は静的なままなので、セキュリティ上の理由から、一時アドレスが使用されます。一時アドレスは、匿名性のレベルを提供するIPv6インターフェイス識別子です。これらのアドレスは、時間の経過とともにランダムに生成および変更できます。WindowsのIPv6プロトコルは、デフォルトでグローバルアドレスプレフィックスの一時アドレスを作成します。

一時的なIPv6アドレスを無効にすることはお勧めしません。ただし、次のコマンドと再起動を使用して一時的なIPv6アドレスを無効にすることができます

netsh interface ipv6 set global randomizeidentifiers=disabled
netsh interface ipv6 set privacy state=disabled

Windows 10およびServer 2016では、PowerShell Set-NetIPv6Protocolコマンドレットを使用して制限を設定できます。

# The computer always generates temporary addresses by using random numbers. 
Set-NetIPv6Protocol -UseTemporaryAddresses Always

# The computer generates temporary addresses by using the interface identifier. 
# You typically use this identifier for test purposes. 
Set-NetIPv6Protocol -UseTemporaryAddresses Counter

# The computer does not use temporary addresses. 
Set-NetIPv6Protocol -UseTemporaryAddresses Disabled

# The computer uses temporary addresses.
Set-NetIPv6Protocol -UseTemporaryAddresses Enabled

一時アドレスを使用しているプロセスを見つけるには、netstat出力の一時アドレスに一致するローカルアドレス列を持つアイテムを確認します。

netstat -p tcpv6 -o -f -b

それでも見つからない場合は、Sysmonなどのトレースツールを使用する必要があります

これをSysMonで実行するには、次のテキストを含むXMLファイルIPv6.xmlを作成します。

<Sysmon schemaversion="3.2">
<EventFiltering>
    <NetworkConnect onmatch="include">
        <SourceIsIpv6>true</SourceIsIpv6>
    </NetworkConnect>
</EventFiltering>
</Sysmon>

次に、SysMonをダウンロードし、構成ファイルをインストールします。

SysMon -i IPv6.xml

これにより、アプリケーションとサービスログ/ Microsoft / Windows / Sysmon / Operationalの下のWindowsイベントログにIPv6接続が記録されます。

監視が完了したら、監視を停止します。

SysMon -u

「イベントID 3」でフィルタリングすると、次のような詳細を含むネットワークイベントが取得されます。

Log Name:      Microsoft-Windows-Sysmon/Operational
Source:        Microsoft-Windows-Sysmon
Date:          9/01/2018 9:55:08 PM
Event ID:      3
Task Category: Network connection detected (rule: NetworkConnect)
Level:         Information
Keywords:      
User:          SYSTEM
Computer:      DESKTOP-RTTN04O
Description:
Network connection detected:
UtcTime: 2018-01-09 10:55:06.915
ProcessGuid: {14ab83bf-c0d9-5a52-0000-00102da40e00}
ProcessId: 3628
Image: C:\Windows\System32\svchost.exe
User: NT AUTHORITY\SYSTEM
Protocol: tcp
Initiated: true
SourceIsIpv6: true
SourceIp: 2001:8003:550d:d400:b81c:a2ed:f99a:b31f
SourceHostname: DESKTOP-RTTN04O.gateway
SourcePort: 55723
SourcePortName: 
DestinationIsIpv6: true
DestinationIp: 2001:8006:3510:393:0:0:0:25bb
DestinationHostname: 
DestinationPort: 443
DestinationPortName: https

-3

NetflixやAmazon Prime Videoを視聴していて、ブラウザが各ストリームに一時的なv6アドレスを設定しているのではないでしょうか。


2
賭ける必要はありません。ブラウザがIPv6アドレスを取得していないのは、取得できないからです。
ダニエルB
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.