Вимкнути IPv6 за адресою Loopback (Localhost, Ім'я комп'ютера,…)


16

Ми спробували встановити сторонній програмний продукт на новій машині Windows Server 2008 R2 і виявили, що все працює, за винятком доступу до локальних служб через адреси циклу, наприклад, localhostабо ім'я комп'ютера (наприклад, VPS-Webщо вирішує localhost). Ми не використовуємо IPv6 і хотіли б його відключити, поки програмне забезпечення не буде сумісним.

Я намагався використовувати ці інструкції для відключення IPv6 на Windows 2008 R2, але це не вимкнуло протокол для localhost. Pinging localhostабо VPS-Webвсе одно повернеться ::1:замість 127.0.0.1. Я можу використовувати ping localhost -4правильну адресу, але IPv6 має перевагу над IPv4, тому програмне забезпечення третьої сторони отримує лише адресу IPv6.


Чи намагалися ви зв’язатися з продавцем, щоб дізнатися, чи є у них спосіб вирішення? Ping запитує IPv6-адресу, отже, отримає :: 1, додатки, які не підтримують IPv6, однак не отримають ці адреси.
Chris S

Програмне забезпечення - це гидота різних компонентів (JAVA, Tomcat, Apache, MSSQL, SAP, JDBC, WMI), будь-який з яких може бути проблемою. Я не використовую IPv6, тому я хотів би його відключити. Також мене турбує те, що, здається, немає можливості зробити це для адаптера петлі.
Грег Брей

Відповіді:


12

Я спочатку перевіряв файл хосту так, як запропонував SilverbackNet, але на сервері Windows 2008 R2 це файл за замовчуванням:

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost

#вказує коментар у файлі хоста, тому всі записи коментуються, а перший рядок трохи заплутаний. Потім я помітив, що було прокоментовано дві записи для localhost, тому я спробував відмітити коментар до IPv4, і він спрацював! Я мав би спробувати це в першу чергу, але мене першим рядком відкинув шлях. Використовуючи наведений нижче хост-файл, що підпиняє ім'я комп’ютера або localhost, завжди повертатиме адресу IPv4, що виправляє проблему з стороннім програмним забезпеченням!

# localhost name resolution is handled within DNS itself.
#   ::1         localhost
127.0.0.1       localhost
127.0.0.1       VPS-Web

Чи видалив це ipv6 ([::]) прослуховування в netstat?
Джаред Берроуз

Це не. [::] - еквівалент IPv6 0,0.0,0, який представляє всі доступні IP-адреси системи. Вищевказане виправлення спеціально для адреси локального хосту. У мене є як зазначені вище настройки, так і ключ реєстру DisabledComponents = 0xffffffff, і я все ще бачу програми, які слухають на [::]. Я не знаю, чи є спосіб повністю відключити IPv6.
Грег Брей

Дякую за підтвердження моєї проблеми! Я просто переконався :)
Джаред Берроуз

Це не спрацювало для мене. Я очистив кеш-пам'ять dns і перезавантажив, але він все ще повертає адресу IPv6 ...
jj_

5

Установка "DisabledComponents" = 0x20 під

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Параметри \

встановить цю машину для використання IPv4 замість IPv6 у політиці префіксів.

Створіть ключ реєстру, якщо він не існує.


2

Початковий потік ServerFault про використання DisabledComponentsзначення реєстру насправді найкращий спосіб зробити це. Налаштування файлів хостів ніколи не повинно бути необхідним у добре функціонуючій мережі. Налаштування реєстру також значно легше розгортати та повертати за допомогою групової політики, якщо у вас є Active Directory.

Причина не спрацювала в тому, що ця DisabledComponentsнастройка реєстру читається як набір бітових прапорів, а не просто вмикається чи вимикається. Ось офіційна документація від Microsoft на цю тему:
Як відключити IP версію 6 (IPv6) або її конкретні компоненти в Windows 7, в Windows Vista, в Windows Server 2008 R2 та в Windows Server 2008

Коротка версія, що повністю відключити IPv6 на Vista / 2008 і позамежного, встановіть значення DisabledComponentsдля 0xff. Я роблю це на кожній машині, якою я керую, де ми явно не використовуємо IPv6. Він має хороший побічний ефект, що значно скорочує вихід ipconfigкоманди.


2
За вашим посиланням ( support.microsoft.com/kb/929852#letmefixit ) ця запис у реєстрі дозволяє вимкнути IPv6 у багатьох місцях ВИКЛЮЧЕННЯ зворотного зв'язку ...
Frank Nocke

1
Ви праві. Однак є значення, які змінюють функціональні можливості мережі за замовчуванням, надаючи перевагу IPv4 над IPv6, що ефективно вирішить проблеми ОП із підключенням до localhost або імені комп'ютера NetBIOS.
Райан Болгер

Жодне з них насправді не працювало для мене в Windows Server 2012R2. Сюди входить спроба зміни хостів, налаштування реєстру DisabledComponents на додаток до багатьох інших ідей, які я бачив в інших місцях. Працює на Windows Server 2008, але у мене немає рішення для 2012R2.
Скотт Уайт

Вам потрібно перезавантажитись після зміни значення DisabledComponents. Якщо ви встановили його на 0xffffffff, то, можливо, це не спрацювало навіть у 2012R2. Результати запуску ipconfig не повинні повертати нічого, що пов’язане з IPv6, і таким чином, pinging localhost повинен пінг-адреси v4.
Райан Болгер

Нове знаходження показує, що правильне значення повинно бути 0xFF замість 0xFFFFFFF, щоб уникнути затримки завантаження на 5 секунд. Дивіться оновлений Microsoft KB929852 (Хоча це все ще не відключає
зворотний зв'язок

2

Ви намагалися видалити запис із файлу хостів у% systemroot% \ system32 \ drivers \ тощо? Це повинно зробити це, якщо вам просто потрібен "localhost", щоб він завжди був IPv4. Однак якщо це базується на імені сервера, це, ймовірно, не буде працювати.


1
Файл хостів у Windows знаходиться під% systemroot% \ system32 \ drivers \ тощо, і навіть якщо він не містить посилання ipv6 для pinging localhost localhost, отримає відповідь :: 1.
Гельвік

Ви отримаєте відповідь 127.0.0.1, якщо будете картографувати localhost на це (і ТОЛЬКО на це, а не на IPv6)
Frank Nocke

0

Ви також можете зайти у властивості самого NIC та зняти прапорець у вікні IPv6. Слід зробити трюк.


3
Не працює для зворотної адреси ...
Грег Брей

awww! :( ха-ха !!
JohnThePro

Це вимикає лише інтерфейс LAN. Тунель і зворотний зв'язок все ще підключені тут (перевірити через netsh інтерфейс ipv6> показати інтерфейс)
Chadddada

-3

Спробуйте додати рядок до файлу хостів, наприклад:

::1 VPW-Web

Це повинно дати можливість резолютору отримати VPW-Webім'я для зворотного звороту IPv6.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.