у меня естьWindows 7 64 битмашина, и я не могу найти способ отключитьОбратная петля IPv6. Я посмотрел статью наКак отключить IP версии 6 или его отдельные компоненты в Windowsи показывает, как устанавливать HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\DisabledComponents
различные значения – но ни одно из них, похоже, не отключает IPv6 Loopback. Я пробовал устанавливать это значение на 0xffffffff
и 0x20
– перезагружая компьютер после каждого изменения, и я все еще не отключаю это.
Я использую другое программное обеспечение под названиемВебдрайверилиСеленкоторый выдает ошибки при отладке, если IPv6 Loopback не отключен. Кажется, он пытается подключиться к [::1]:7055
и терпит неудачу. Есть ли способ заставить его подключиться к 127.0.0.1
.
решение1
Вместо этого я бы изменил политику префиксов так, чтобы адреса IP4 использовались вместо IPv6, если они доступны.
C:\>netsh interface ipv6 show prefixpolicies
Querying active state...
Precedence Label Prefix
---------- ----- --------------------------------
50 0 ::1/128
40 1 ::/0
30 2 2002::/16
20 3 ::/96
10 4 ::ffff:0:0/96
5 5 2001::/32
В списке выше строки с метками 3 и 4 представляют списки совместимости IP4. Если вы увеличите их приоритет, они будут предпочтительными. Они должны быть выше, чем с меткой 0, так как это адрес localhost.
C:\>netsh interface ipv6 set prefix ::/96 60 3
Ok.
C:\>netsh interface ipv6 set prefix ::ffff:0:0/96 55 4
Ok.
Теперь, если вы ping localhost
или имя хоста, он будет использовать адрес IP4 поверх адреса IPv6, когда оба доступны. Фактически, для всего с адресом IP4 он будет использовать его поверх адреса IPv6.
решение2
Попробуйте отредактировать файл hosts ( C:\Windows\System32\drivers\etc\hosts
). Мой файл hosts выглядел так, когда я впервые его открыл:
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
Раскомментируйте адрес обратной связи IPv4, связанный с localhost, и убедитесь, что строка, начинающаяся с , ::1
закомментирована.
# localhost name resolution is handled within DNS itself.
127.0.0.1 localhost
# ::1 localhost
Еще две вещи, которые следует иметь в виду:
Вам нужно будет запустить текстовый редактор (например, Блокнот) с повышенными привилегиями, иначе вы не сможете сохранить файл после завершения редактирования. При запуске редактора просто щелкните правой кнопкой мыши и выберите «Запуск от имени администратора».
Закончив редактирование, сохраните изменения в файле hosts и перезагрузите компьютер.
Примечание: в некоторых системах оператор может попросить DNS-сервер перечитать свой файл конфигурации, отправив SIGHUP
(Пример: kill -HUP <pid>
). Я полагаю, что есть способ сделать что-то подобное в Windows 7 (таким образом избежав перезагрузки).
решение3
снимите флажок с протокола ipv6 для вашего сетевого адаптера. В сочетании с внесенными вами изменениями в реестр, в вашей системе вообще не будет протокола ipv6.