Perché il mio Windows ha centinaia di indirizzi IPv6 temporanei?


17

Il mio ISP ha abilitato IPv6 per me alcune settimane fa. Ora ho notato che Windows (8.1) ottiene molti indirizzi IPv6 temporanei. ipconfigha il seguente output (gli indirizzi reali sono offuscati):

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

Non ho davvero idea da dove provengano tutti questi indirizzi. Il mio Mac OS X sulla stessa rete non ha problemi con gli indirizzi IPv6 temporanei. Oltre ad essere uno strano problema, credo che la quantità di indirizzi IPv6 stia rallentando le prestazioni della mia rete su Windows.

Qualcuno ha un'idea di cosa sta scatenando questo comportamento e come prevenirlo. Non vorrei disabilitare completamente gli indirizzi IPv6 temporanei, se possibile.


Proprio mentre scrivevo questa domanda, il mio Windows ha ottenuto circa 50 indirizzi IPv6 temporanei di più.
fschoenm,

1
Hai un programma che apre le connessioni e le tiene aperte ? Questa è la solita causa di questo. Inoltre, nessuno di questi indirizzi è effettivamente valido; 2012::/8non è stato ancora assegnato. Anche questo potrebbe essere un problema.
Michael Hampton,

@MichaelHampton: Mi dispiace, ho offuscato un po 'gli indirizzi. I destinatari sono validi, devi credermi :)
fschoenm,

6
(A proposito, se vuoi offuscare i tuoi indirizzi IPv6, usa sempre 2001:db8::/32, ( RFC 3849 ) che chiarirà che sono indirizzi di esempio.)
Michael Hampton

1
Gli indirizzi stessi sono parzialmente casualmente generati. Leggi la Randomly generated interface identifiersezione di: msdn.microsoft.com/en-us/library/aa915616.aspx
Brian

Risposte:


14

Qualcuno ha un'idea di cosa sta scatenando questo comportamento e come prevenirlo?

Dal link che Brian ti ha dato, "Gli indirizzi temporanei vengono generati per i prefissi di indirizzi pubblici che utilizzano la configurazione automatica degli indirizzi senza stato".

Più specificamente, ogni processo genera una richiesta di risorse e il sistema operativo recapita. Il SAA IPv6 è definito in RFC 2462 , ma "Indirizzo IPv6 temporaneo" è dovuto all'implementazione di Windows di RFC 4941 . Quindi la domanda diventa quale processo è responsabile dell'avvio di una richiesta del sistema operativo per aprire un socket con queste estensioni della privacy.

Per rispondere alla tua domanda su cosa sta scatenando questo, diamo un'occhiata a hardware e software.

OS

Windows gestisce indirizzi temporanei con parametri definiti in netsh interface ipv6 show privacy. Modificarenetsh interface ipv6 set privacy ?

Per verificare su cosa sono impostati su una macchina Linux, è necessario controllare le variabili del kernel /proc/sys/net. Puoi trovare i valori pertinenti per la tua distribuzione con sysctl -a --pattern ^net\..*ipv?6.*temp.*e modificare la variabile desiderata con sysctl -w foo.bar.var=<new value>(dovrebbe essere simile sul tuo computer Apple, controlla man sysctl)

Hardware / OS

L'hai fatto netstat -p TCPv6, ma potrebbe non essere una connessione TCP.

Fai netstat -besalcuni minuti l'uno dall'altro e vedi quali sono le differenze tra i blocchi * v6.

Mentre suppongo che potrebbe essere un problema hardware in quanto il firmware della scheda NIC non riesce a gestire ipv6, è più probabile che il sistema operativo / processo del software sia il trigger. Se è hardware, il lato software potrebbe non gestire correttamente l'interruzione della sessione e non è in grado di riprendere la connessione sull'IP precedente. Quindi identificarlo come un problema software non preclude necessariamente un problema hardware.

Processi e servizi del sistema software / OS

Per questo, visualizzare il traffico di rete con http://www.nirsoft.net/utils/network_traffic_view.html per identificare il processo.

Poiché questi indirizzi, per definizione, sono temporanei, possono rimanere temporaneamente dopo la fine del processo, pertanto è possibile che non venga visualizzato un processo in esecuzione corrente con una connessione aperta in NTV se il socket si chiude immediatamente.

Per questo utilizzare Process Explorer ( http://live.sysinternals.com/tools/procexp.exe ) e l'evidenziazione delle differenze (Opzioni> Durata evidenziazione differenze> 9), quindi scorrere fino a nuovi processi (Visualizza> Scorri fino a nuovi processi). Un'intera riga verde / rossa mostra un processo creato o distrutto, rispettivamente, negli ultimi 9 secondi.

Una volta identificato il processo, se si tratta di un browser o di qualsiasi app con plug-in, sarà necessario eseguire il debug di quale plug-in o sito Web JavaScript potrebbe causare il problema avviando il browser in modalità provvisoria e abilitando plug-in plug-in.


Grazie, proverò alcune di queste cose. Tuttavia, dopo un riavvio il mio Windows non ha più alcun indirizzo IPv6 temporaneo, quindi devo aspettare. Questo è davvero frustrante.
fschoenm,

1
Penso di aver trovato il mio problema: quando ho provato a utilizzare NetworkTrafficView come hai suggerito, ho notato che la mia installazione di WinPcap era in qualche modo danneggiata. Non potevo usare né Wireshark né NetworkTrafficView perché entrambi si bloccavano all'avvio. Ho reinstallato WinPcap e da allora tutto sembra funzionare alla perfezione!
fschoenm,

1

Poiché gli identificatori di indirizzo IPv6 rimangono statici, per motivi di sicurezza vengono utilizzati indirizzi temporanei. Gli indirizzi temporanei sono identificatori di interfaccia IPv6 che forniscono un livello di anonimato. Questi indirizzi possono essere generati casualmente e modificati nel tempo. Il protocollo IPv6 per Windows crea indirizzi temporanei per prefissi di indirizzi globali per impostazione predefinita.

Non consiglio di disabilitare gli indirizzi IPv6 temporanei. Tuttavia, è possibile disabilitare gli indirizzi IPv6 temporanei con i seguenti comandi e un riavvio

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

In Windows 10 e Server 2016 è possibile utilizzare il cmdlet Set-NetIPv6Protocol di PowerShell per impostare i limiti:

# 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

Per sapere quale processo utilizza l'indirizzo temporaneo, controlla l'elemento con la colonna dell'indirizzo locale corrispondente al tuo indirizzo temporaneo nell'output di netstat:

netstat -p tcpv6 -o -f -b

Se ciò non riesce a trovare qualcosa, è necessario utilizzare uno strumento di tracciamento, come Sysmon

Per eseguire ciò con SysMon, creare un file XML IPv6.xml con il seguente testo:

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

Quindi scaricare SysMon e installare il file di configurazione:

SysMon -i IPv6.xml

Ciò registrerà le connessioni IPv6 nel registro eventi di Windows in Registri applicazioni e servizi / Microsoft / Windows / Sysmon / Operativo

Quando il monitoraggio è completo, interrompere il monitoraggio:

SysMon -u

Se filtri per "ID evento 3" otterrai gli eventi di rete, con dettagli come di seguito:

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

La mia scommessa è che stai guardando Netflix e / o Amazon Prime Video e il tuo browser sta impostando un indirizzo temp v6 per ogni stream.


2
Non c'è bisogno di scommettere. Il browser non sta ottenendo alcun indirizzo IPv6, semplicemente perché non può.
Daniel B,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.