Если для удаленного хоста доступен и IPv4 и IPv6 адрес, по дефлоту Виндовс комп будет пробовать подключиться к нему согласно его IPv6 адресу. Т.е. если сервер DNS либо протокол mDNS (во внутренней сети) возвратил, что для хоста есть записи AAAA и A , то по дефлоту подключение производится по IPv6 адресу в AAAA записи. Это может вызвать дилемму с некими сетевыми сервисами либо старыми приложениями, которые не поддерживают IPv6 (к примеру, не внимают данный сетевой интерфейс). В данном случае можно прирастить ценность IPv4 протокола над IPv6 в Виндовс.
Рассмотрим обычный пример с локальной сетью без сервера DNS, в какой для разрешения имен употребляется широковещательные запросы при помощи встроенного протокола Multicast DNS ( mDNS ). Проверим, какие записи и адреса ворачиваются mDNS для другого компа в данной же LAN:
Resolve-DnsName DESKTOP-U97VIM5

Тут можно увидеть, что доступно две записи AAAA и A, следовательно с IPv6 и IPv4 адресами. Сейчас проверим, какой протокол употребляется для подключения к удаленному компу по дефлоту. Сделайте обычный ping по имени компа. Команда ping обязана возвратить IPv6 адрес компа заместо IPv4.

Выведите текущие опции политики префиксов IPv6 (описывает ценность использования разных типов адресов) при помощи команды:
netsh interface ipv6 show prefixpolicies
или
Get-NetPrefixPolicy
Если для удаленного хоста доступны и IPv4 и IPv6 адрес, Windows использует эту таблицу для определения какой адрес будет использоваться для подключения (чем выше значение Precedence, тем больше приоритет политики).

Рассмотрим основные записи префиксов:
-
::1/128– IPv6 loopback интерфейс (имеет самый высокий приоритет) -
:/0:— глобальный адрес IPv6. -
::ffff:0:0/96:используется для сопоставления IPv4 с IPv6 -
::/96– префикс, соответствующий IPv4 адресу
Чтобы изменить приоритет в политике префиксов, так чтобы IPv4 адреса имели более высокий приоритет, выполните команду:
netsh interface ipv6 set prefix ::/96 60 3
netsh interface ipv6 set prefix ::ffff:0:0/96 55 4
Это повысит приоритет IPv4 протокола над IPv6 без отключения последнего (перезагрузка не требуется). Попробуйте еще раз выполнить пинг компьютера в LAN. Теперь при резолвинге имени возвращается IPv4 адрес.

Проверьте в таблице политики префиксов, что теперь IPv4 протокол имеет более высокий приоритет чем IPv6.

netsh interface ipv6 reset
Также можно выставить более высокий приоритет IPv4 над IPv6 через реестр. Для этого нужно создать в ветке реестра HKLMSYSTEMCurrentControlSetServicesTcpip6Parameters параметр типа REG_DWORD с именем DisabledComponents и значением 0x20. Для применения изменений нужно перезагрузить компьютер.
Можно создать параметр реестра вручную или из командной строки:
reg add HKLMsystemcurrentcontrolsetservicestcpip6parameters /v DisabledComponents /t REG_DWORD /d 0x20

reg add hklmsystemcurrentcontrolsetservicestcpip6parameters /v DisabledComponents /t REG_DWORD /d 0x0
Если вам нужно чтобы на всех компьютерах в домене протокол IPv4 имел приоритет над IPv6, можно распространить этот параметр реестра на компьютеры через Group Policy Preferences.


Добавить комментарий