web-dev-qa-db-fra.com

Pourquoi mon Windows a-t-il des centaines d'adresses IPv6 temporaires?

Mon fournisseur de services Internet a activé IPv6 pour moi il y a quelques semaines. Maintenant, j'ai remarqué que Windows (8.1) reçoit beaucoup d'adresses IPv6 temporaires. ipconfig a la sortie suivante (les adresses réelles sont obscurcies):

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

Je ne sais vraiment pas d'où proviennent toutes ces adresses. Mon Mac OS X sur le même réseau ne présente aucun problème avec les adresses IPv6 temporaires. En plus d’être un problème étrange, j’estime que la quantité d’adresses IPv6 ralentit les performances de mon réseau sous Windows.

Est-ce que quelqu'un a une idée de ce qui déclenche ce comportement et de la manière de le prévenir? Si possible, je ne voudrais pas désactiver complètement les adresses temporaires IPv6.

16
fschoenm

Quelqu'un a-t-il une idée de ce qui déclenche ce comportement et de la manière de le prévenir?

À partir du lien que Brian vous a donné, "Les adresses temporaires sont générées pour les préfixes d’adresse publique qui utilisent une configuration automatique d’adresse sans état".

Plus spécifiquement, chaque processus génère une demande de ressource et le système d'exploitation est livré. Le SAA IPv6 est défini dans RFC 2462 , mais l’adresse "Adresse IPv6 temporaire" est due à la mise en oeuvre par Windows de RFC 4941 . La question est donc de savoir quel processus est responsable de l’initialisation d’une demande de système d’exploitation pour ouvrir un socket doté de ces extensions de confidentialité.

Pour répondre à votre question sur ce qui déclenche cela, examinons le matériel et les logiciels.

OS

Windows gère les adresses temporaires avec les paramètres définis dans netsh interface ipv6 show privacy. Pour modifier netsh interface ipv6 set privacy ?

Pour vérifier leur configuration sur une machine Linux, vous devez vérifier les variables du noyau dans /proc/sys/net. Vous pouvez trouver les valeurs pertinentes pour votre distribution avec sysctl -a --pattern ^net\..*ipv?6.*temp.* et modifier la variable souhaitée avec sysctl -w foo.bar.var=<new value> (il devrait être similaire sur votre ordinateur Apple, cochez man sysctl).

matériel/système d'exploitation

Vous avez utilisé netstat -p TCPv6, mais il se peut que la connexion ne soit pas TCP.

Faites un netstat -bes quelques minutes les uns des autres et voyez quelle diff entre les blocs * v6.

Bien que je suppose que cela puisse être un problème matériel du fait que le microprogramme NIC échoue lors de la gestion de ipv6, il est plus probable que le déclencheur soit le système d’exploitation logiciel/processus. S'il s'agit de matériel, il est possible que le logiciel ne gère pas correctement la rupture de la session et ne puisse pas reprendre la connexion sur l'IP précédente. Donc, l'identifier comme un problème logiciel n'empêche pas nécessairement un problème matériel.

Processus et services du logiciel/système d'exploitation

Pour cela, affichez le trafic réseau avec http://www.nirsoft.net/utils/network_traffic_view.html pour identifier le processus.

Étant donné que ces adresses, par définition, sont temporaires, elles peuvent rester temporairement après la fin du processus. Par conséquent, il est possible que vous ne voyiez pas un processus en cours d'exécution avec une connexion ouverte en NTV si le socket se ferme immédiatement.

Pour cette utilisation, Process Explorer ( http://live.sysinternals.com/tools/procexp.exe ) et la mise en surbrillance des différences (Options> Durée de la mise en évidence des différences> 9) puis faites défiler jusqu'aux nouveaux processus (Affichage> Défiler aux nouveaux processus). Une ligne entière verte/rouge indique un processus créé ou détruit, respectivement, dans les 9 dernières secondes.

Une fois que vous avez identifié le processus, s’il s’agit d’un navigateur ou d’une application avec plugins, vous devrez déboguer le plugin ou le site Web javascript qui pourrait être à l'origine du problème en démarrant le navigateur en mode sans échec et en activant plugin par plugin.

13
adam

Les identifiants d'adresses IPv6 restant statiques, des adresses temporaires sont utilisées pour des raisons de sécurité. Les adresses temporaires sont des identifiants d'interface IPv6 offrant un niveau d'anonymat. Ces adresses peuvent être générées de manière aléatoire et modifiées au fil du temps. Le protocole IPv6 pour Windows crée des adresses temporaires pour les préfixes d'adresses globales par défaut.

Je ne recommande pas de désactiver les adresses IPv6 temporaires. Cependant, vous pouvez désactiver les adresses IPv6 temporaires avec les commandes suivantes et un redémarrage.

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

Dans Windows 10 et Server 2016, vous pouvez utiliser la cmdlet PowerShell Set-NetIPv6Protocol pour définir les limites:

# 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

Pour savoir quel processus utilise l'adresse temporaire, vérifiez l'élément avec la colonne d'adresse locale correspondant à votre adresse temporaire dans la sortie netstat:

netstat -p tcpv6 -o -f -b

Si cela ne trouve rien, vous devez utiliser un outil de traçage, tel que Sysmon

Pour ce faire avec SysMon, créez un fichier XML IPv6.xml avec le texte suivant:

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

Ensuite, téléchargez SysMon et installez le fichier de configuration:

SysMon -i IPv6.xml

Cela enregistrera les connexions IPv6 dans le journal des événements Windows sous Journaux des applications et des services/Microsoft/Windows/Sysmon/Operational.

Lorsque la surveillance est terminée, arrêtez la surveillance:

SysMon -u

Si vous filtrez par "ID d'événement 3", vous obtiendrez les événements du réseau, avec des détails tels que ci-dessous:

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
1
Malcolm McCaffery