Чому в моїй Windows є сотні тимчасових адрес IPv6?


17

Мій провайдер включив 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 адрес сповільнює роботу моєї мережі в Windows.

Хтось має уявлення про те, що викликає таку поведінку і як її запобігти. Я не хотів би повністю відключити тимчасові адреси IPv6, якщо це можливо.


Тільки під час написання цього питання моя Windows отримала приблизно 50 тимчасових адрес IPv6 більше.
fschoenm

1
Чи є у вас підключення до відкриття програми та зберігання їх відкритими ? Ось звичайна причина цього. Також жодна з цих адрес фактично не є дійсною; 2012::/8ще не виділено. Це теж може бути проблемою.
Майкл Хемптон

@MichaelHampton: Вибачте, я дещо заплутав адреси. Адреса дійсна, ви повинні мені повірити :)
fschoenm

6
(BTW, якщо ви хочете приховати свої IPv6 адреси, завжди використовуйте 2001:db8::/32( RFC 3849 ), що дасть зрозуміти, що вони є прикладними адресами.)
Майкл Хемптон,

1
Самі адреси генеруються частково випадковим чином. Прочитайте Randomly generated interface identifierрозділ: msdn.microsoft.com/en-us/library/aa915616.aspx
Брайан

Відповіді:


14

Хтось має уявлення про те, що викликає таку поведінку і як її запобігти?

За посиланням, який дав вам Брайан, "Тимчасові адреси створюються для префіксів загальнодоступних адрес, які використовують автоконфігурацію адреси без стану".

Більш конкретно, кожен процес генерує запит на ресурси і ОС доставляє. IPA-протокол IPv6 визначений в RFC 2462 , але "Тимчасовий IPv6-адреса" - це через реалізацію Windows RFC 4941 . Тож виникає питання про те, який процес відповідає за ініціювання запиту ОС на відкриття сокета, який має ці розширення конфіденційності.

Щоб відповісти на ваше запитання, що це викликає, давайте розглянемо апаратне та програмне забезпечення.

ОС

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)

Обладнання / ОС

Ви це зробили netstat -p TCPv6, але це може бути не TCP-з'єднання.

Зробіть netstat -besкілька хвилин один від одного і подивіться, чим відрізняються блоки * v6.

Хоча я гадаю, що це може бути проблема з обладнанням у тому, що вбудована програма NIC не справляється з обробкою ipv6, швидше за все, це тригером буде ОС / процес програмного забезпечення. Якщо це апаратне забезпечення, програмне забезпечення може не вирішувати розрив сеансу витончено і не може відновити з'єднання на попередньому IP-адресі. Тож ідентифікація його як проблеми із програмним забезпеченням не обов'язково виключає апаратну проблему.

Програми та системи системних процесів та послуг

Для цього перегляньте мережевий трафік за допомогою 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, які забезпечують рівень анонімності. Ці адреси можна з часом генерувати та змінювати. Протокол IPv6 для Windows створює тимчасові адреси для префіксів глобальної адреси за замовчуванням.

Я не рекомендую відключати тимчасові адреси 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

Це дозволить увійти підключення IPv6 в журнал подій Windows у розділі Журнали програм та служб / Microsoft / Windows / Sysmon / Operational

Коли моніторинг завершено, моніторинг зупинки:

SysMon -u

Якщо ви фільтруєте по "Ідентифікатор події 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, просто тому, що він не може.
Даніель Б
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.