IPv6 является неотъемлемой частью Windows? и иногда это является настоящей головной болью, если нужно настроить сетевой принтер, т.к. при сканировании документов некоторые из них будут выдавать о недоступности сетевого ресурса расположенного на ПК с включенным IPv6. Заманчиво отключить IPv6 в Windows, особенно в домашних сетях, это может иметь множество побочных эффектов, которые могут привести к неправильной работе приложений и процессов, а так же и во все не решить изначальную проблему. Microsoft не рекомендует отключать IPv6. В этом случае лучший способ установить приоритет IPv4 над IPv6.
Есть несколько способов сделать выставить нужный приоритет:
- Создайте запись реестра, чтобы предпочесть IPv4 вместо IPv6.
- Напрямую измените политики префиксов IPv6, чтобы отдать предпочтение IPv4, а не IPv6.
1 способ. Создаем параметр реестра
Для этого способа потребуется перезагрузка, чтобы изменения вступили в силу.
Запустите редактор реестра от имени администратора (regedt32.exe)
Добавьте раздел реестра, как показано на скриншоте ниже, затем перезагрузите компьютер, чтобы изменения вступили в силу. Чтобы отменить это изменение, просто удалите запись реестра, а затем снова перезагрузитесь.
Расположение: HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters
Ключ: DisabledComponents
Тип: REG_DWORD
Значение: 0x20
2 Способ. Изменение политики префиксов IPv6
Открываем командную строку (cmd) от имении администратора вводим команду:
netsh interface ipv6 show prefixpolicies
Вы должны увидеть следующий вывод:
Первая строка с приоритетом 50 — это адрес локального хоста IPv6. Вторая строка с приоритетом 40 — это все (глобальные) индивидуальные адреса IPv6. Третий с приоритетом 35 — это все сопоставленные адреса IPv4 и IPv6. Полный список префиксов IPv6 можно найти здесь.
Чтобы изменить приоритет, вам необходимо переупорядочить приоритет всех политик префиксов, чтобы сопоставленные адреса IPv4 имели наивысший приоритет чем IPv6. Для этого необходимо изменить все политики префиксов. Чем выше значение префикса, тем он предпочтительнее. Вводим поочередно команды в командную строку:
netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 50 0
netsh interface ipv6 set prefixpolicy ::1/128 40 1
netsh interface ipv6 set prefixpolicy ::/0 30 2
netsh interface ipv6 set prefixpolicy 2002::/16 20 3
netsh interface ipv6 set prefixpolicy 2001::/32 5 5
netsh interface ipv6 set prefixpolicy fc00::/7 3 13
netsh interface ipv6 set prefixpolicy fec0::/10 1 11
netsh interface ipv6 set prefixpolicy 3ffe::/16 1 12
netsh interface ipv6 set prefixpolicy ::/96 1 4
Чтобы убедиться, что изменения вступили в силу, введите снова первую команду:
netsh interface ipv6 show prefixpolicies
Вы должны увидеть изменения:
Precedence Label Prefix
---------- ----- --------------------------------
50 0 ::ffff:0:0/96
40 1 ::1/128
30 2 ::/0
20 3 2002::/16
5 5 2001::/32
3 13 fc00::/7
1 11 fec0::/10
1 12 3ffe::/16
1 4 ::/96
Теперь если проверить пинги до этого ПК увидите, что он пингуется по IPv4
Чтобы сбросить изменения на параметры по умолчанию, введите следующую команду:
netsh interface ipv6 reset