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 주소에 문제가 없습니다. 이상한 문제 일뿐 만 아니라 Windows에서 IPv6 주소의 양이 네트워크 성능을 저하시킵니다.

누구 든지이 행동을 유발하는 원인과 그것을 방지하는 방법을 알고 있습니다. 가능한 경우 임시 IPv6 주소를 완전히 비활성화하고 싶지 않습니다.


이 질문을 쓰는 동안 Windows는 약 50 개의 임시 IPv6 주소를 더 얻었습니다.
fschoenm

1
연결 을 열고 연 상태로 유지 하는 프로그램이 있습니까? 이것이 일반적인 원인입니다. 또한 이러한 주소 중 실제로 유효한 주소는 없습니다. 2012::/8아직 할당되지 않았습니다. 그것도 문제가 될 수 있습니다.
Michael Hampton

@MichaelHampton : 죄송합니다. 주소를 다소 난독 처리했습니다. 주소가 유효합니다, 당신은 저를 믿어야합니다 :)
fschoenm

6
(BTW, IPv6 주소를 난독 처리하려면 항상 2001:db8::/32( RFC 3849 )를 사용하여 주소가 예제 주소임을 분명히하십시오.)
Michael Hampton

1
주소 자체는 부분적으로 무작위로 생성됩니다. msdn.microsoft.com/en-us/library/aa915616.aspxRandomly generated interface identifier
Brian

답변:


14

누구 든지이 행동을 유발하는 원인과 그것을 방지하는 방법을 알고 있습니까?

Brian이 제공 한 링크에서 "상태 비 저장 주소 자동 구성을 사용하는 공개 주소 접두사에 대해 임시 주소가 생성됩니다."

보다 구체적으로, 각 프로세스는 리소스 요청을 생성하고 OS가 제공합니다. IPv6 SAA는 RFC 2462에 정의되어 있지만 "임시 IPv6 주소"는 Windows의 RFC 4941 구현 때문입니다 . 따라서이 프라이버시 확장 기능이있는 소켓을 열기 위해 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 연결되지 않을 수 있습니다.

DO가 netstat -bes서로 몇 분 및 블록이있는 * V6 사이에 diff를 무엇을 참조하십시오.

NIC 펌웨어가 ipv6 처리에 실패하는 하드웨어 문제 일 수 있지만 소프트웨어 OS / 프로세스가 트리거가 될 가능성이 높습니다. 하드웨어 인 경우 소프트웨어 측에서 세션 중단을 정상적으로 처리하지 못하고 이전 IP에서 연결을 다시 시작할 수 없습니다. 따라서 소프트웨어 문제로 식별한다고해서 반드시 하드웨어 문제가되는 것은 아닙니다.

소프트웨어 / OS 시스템 프로세스 및 서비스

이를 위해 http://www.nirsoft.net/utils/network_traffic_view.html 로 네트워크 트래픽을보고 프로세스를 식별하십시오.

이러한 주소는 정의에 따라 일시적이므로 프로세스가 종료 된 후에도 일시적으로 유지 될 수 있으므로 소켓이 즉시 닫히면 NTV에서 열린 연결로 현재 실행중인 프로세스가 표시되지 않을 수 있습니다.

이를 위해 프로세스 탐색기 ( http://live.sysinternals.com/tools/procexp.exe ) 및 차이 강조 표시 (옵션> 차이 강조 표시 기간> 9)를 ​​사용한 다음 새 프로세스로 스크롤하십시오 (보기> 새 프로세스로 스크롤). 녹색 / 빨간색 행 전체는 지난 9 초 동안 각각 생성 또는 소멸 된 프로세스를 나타냅니다.

프로세스가 브라우저 또는 플러그인이있는 앱인 경우 프로세스를 식별하면 브라우저를 안전 모드에서 시작하고 플러그인으로 플러그인을 활성화하여 문제를 일으킬 수있는 플러그인 또는 웹 사이트 JavaScript를 디버그해야합니다.


고마워, 나는 그 것들 중 일부를 시도 할 것입니다. 그러나 재부팅 후 내 Windows에는 더 이상 임시 IPv6 주소가 없으므로 기다려야합니다. 정말 실망 스럽습니다.
fschoenm

1
내 문제를 발견했다고 생각합니다. 제안한대로 NetworkTrafficView를 사용하려고 할 때 WinPcap 설치가 어떻게 든 손상되었음을 알았습니다. Wireshark도 NetworkTrafficView도 사용할 수 없었습니다. WinPcap을 다시 설치 한 후 모든 것이 완벽하게 작동하는 것 같습니다!
fschoenm

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 cmdlet을 사용하여 제한을 설정할 수 있습니다.

# 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 주소를 얻을 수 없기 때문에 IPv6 주소를 얻지 못합니다.
Daniel B
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.