¿Por qué mi Windows tiene cientos de direcciones IPv6 temporales?


17

Mi ISP habilitó IPv6 para mí hace unas semanas. Ahora noté que Windows (8.1) obtiene muchas direcciones IPv6 temporales. ipconfigtiene el siguiente resultado (las direcciones reales están ofuscadas):

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

Realmente no tengo idea de dónde provienen todas estas direcciones. Mi Mac OS X en la misma red no tiene problemas con las direcciones IPv6 temporales. Además de ser un problema extraño, creo que la cantidad de direcciones IPv6 está disminuyendo el rendimiento de mi red en Windows.

¿Alguien tiene una idea de lo que está desencadenando este comportamiento y cómo prevenirlo? No me gustaría deshabilitar por completo las direcciones IPv6 temporales si es posible.


Justo mientras escribía esta pregunta, mi Windows obtuvo alrededor de 50 direcciones IPv6 temporales más.
fschoenm

1
¿Tiene un programa que abre conexiones y las mantiene abiertas ? Esa es la causa habitual de esto. Además, ninguna de esas direcciones es realmente válida; 2012::/8aún no ha sido asignado. Eso también podría ser un problema.
Michael Hampton

@MichaelHampton: Lo siento, ofusqué un poco las direcciones. La dirección es válida, tienes que creerme :)
fschoenm

66
(Por cierto, si desea ofuscar sus direcciones IPv6, use siempre 2001:db8::/32( RFC 3849 ), lo que dejará en claro que son direcciones de ejemplo).
Michael Hampton

1
Las direcciones en sí mismas se generan parcialmente al azar. Lea la Randomly generated interface identifiersección de: msdn.microsoft.com/en-us/library/aa915616.aspx
Brian

Respuestas:


14

¿Alguien tiene una idea de lo que está desencadenando este comportamiento y cómo prevenirlo?

Desde el enlace que Brian le brindó, "las direcciones temporales se generan para los prefijos de direcciones públicas que usan la configuración automática de direcciones sin estado".

Más específicamente, cada proceso genera una solicitud de recursos y el sistema operativo los entrega. El SAA de IPv6 se define en RFC 2462 , pero la "Dirección IPv6 temporal" se debe a la implementación de Windows de RFC 4941 . Entonces, la pregunta es qué proceso es responsable de iniciar una solicitud del sistema operativo para abrir un socket que tenga estas extensiones de privacidad.

Para responder a su pregunta qué está desencadenando esto, veamos el hardware y el software.

OS

Windows administra direcciones temporales con parámetros definidos en netsh interface ipv6 show privacy. Modificarnetsh interface ipv6 set privacy ?

Para verificar en qué están configurados en una máquina Linux, debe verificar las variables del núcleo /proc/sys/net. Puede encontrar los valores pertinentes para su distribución con sysctl -a --pattern ^net\..*ipv?6.*temp.*y alterar la variable deseada con sysctl -w foo.bar.var=<new value>(debe ser similar en su máquina Apple, verifique man sysctl)

Hardware / SO

Lo hiciste netstat -p TCPv6, pero puede que no sea una conexión TCP.

Haga netstat -besunos minutos el uno del otro y vea qué diferencias hay entre los bloques * v6.

Si bien supongo que podría tratarse de un problema de hardware, ya que el firmware de la NIC falla al manejar ipv6, es más probable que el desencadenante sea el SO / proceso del software. Si se trata de hardware, es posible que el lado del software no esté manejando la interrupción de la sesión con gracia y no pueda reanudar la conexión en la IP anterior. Por lo tanto, identificarlo como un problema de software no excluye necesariamente un problema de hardware.

Procesos y servicios del sistema de software / SO

Para esto, vea el tráfico de red con http://www.nirsoft.net/utils/network_traffic_view.html para identificar el proceso.

Debido a que estas direcciones, por definición, son temporales, pueden permanecer temporalmente una vez que finaliza el proceso, por lo que es posible que no vea un proceso actual en ejecución con una conexión abierta en NTV si el socket se cierra inmediatamente.

Para esto, utilice el Explorador de procesos ( http://live.sysinternals.com/tools/procexp.exe ) y el resaltado de diferencia (Opciones> Duración de resaltado de diferencia> 9) y luego desplácese a nuevos procesos (Ver> Desplazarse a nuevos procesos). Una fila entera verde / roja muestra un proceso creado o destruido, respectivamente, en los últimos 9 segundos.

Una vez que identifique el proceso, si se trata de un navegador o cualquier aplicación con complementos, tendrá que depurar qué complemento o sitio web javascript podría estar causando el problema al iniciar el navegador en modo seguro y habilitar complemento por complemento.


Gracias, voy a probar algunas de esas cosas. Sin embargo, después de reiniciar mi Windows ya no tiene una dirección IPv6 temporal, así que tengo que esperar. Esto es realmente frustrante.
fschoenm

1
Creo que encontré mi problema: cuando traté de usar NetworkTrafficView como sugirió, noté que mi instalación de WinPcap estaba de alguna manera dañada. No pude usar ni Wireshark ni NetworkTrafficView porque ambos se bloquearon cuando se inició. ¡Reinstalé WinPcap y desde entonces todo parece funcionar perfectamente!
fschoenm

1

Debido a que los identificadores de dirección IPv6 permanecen estáticos, por razones de seguridad, se usan direcciones temporales. Las direcciones temporales son identificadores de interfaz IPv6 que proporcionan un nivel de anonimato. Estas direcciones se pueden generar aleatoriamente y cambiar con el tiempo. El protocolo IPv6 para Windows crea direcciones temporales para prefijos de direcciones globales de forma predeterminada.

No recomiendo deshabilitar las direcciones temporales de IPv6. Sin embargo, puede deshabilitar las direcciones IPv6 temporales con los siguientes comandos y reiniciar

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

En Windows 10 y Server 2016, puede usar el cmdlet PowerShell Set-NetIPv6Protocol para establecer límites:

# 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

Para encontrar qué proceso está usando la dirección temporal, verifique el elemento con la columna de dirección local que coincida con su dirección temporal en la salida de netstat:

netstat -p tcpv6 -o -f -b

Si eso no puede encontrar algo, necesita usar una herramienta de rastreo, como Sysmon

Para realizar esto con SysMon, cree un archivo XML IPv6.xml con el siguiente texto:

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

Luego descargue SysMon e instale el archivo de configuración:

SysMon -i IPv6.xml

Esto registrará las conexiones IPv6 en el registro de eventos de Windows en Registros de aplicaciones y servicios / Microsoft / Windows / Sysmon / Operational

Cuando la supervisión se haya completado, detenga la supervisión:

SysMon -u

Si filtra por "Id. De evento 3" obtendrá los eventos de red, con detalles como los siguientes:

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

Mi apuesta es que estás viendo Netflix y / o Amazon Prime Video y tu navegador está configurando una dirección temporal v6 para cada transmisión.


2
No hay necesidad de apostar. El navegador no obtiene ninguna dirección IPv6, simplemente porque no puede.
Daniel B
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.