Как полностью отключить IPv6 и перейти на режим только IPv4

IPv6 должен стать будущим сетей, и со временем так и будет. Но на практике он порой создаёт больше проблем, чем решает: VPN, который течёт за пределы туннеля, медленное соединение из-за того, что провайдер плохо обрабатывает IPv6, старая программа или NAS, которые с ним не справляются. В таких случаях возврат к IPv4 часто решает проблему за пару минут. Вот как это сделать правильно в зависимости от системы.

Прежде чем отключать IPv6, задайте себе вопрос

Отключать IPv6 в принципе не лучшая идея. Если у вас всё работает, оставьте его включённым: это направление, в котором движется интернет, и всё больше сервисов на него опираются. Веские причины отключить его конкретны:

  • Ваш VPN не защищает IPv6 и сливает ваш настоящий адрес (тест на ipleak.net или dnsleaktest.com это подтвердит)
  • У вас есть замедления или ошибки соединения, исчезающие при отключении IPv6, признак того, что провайдер плохо его обрабатывает
  • Старое сетевое оборудование или конкретное приложение не поддерживает IPv6 и вызывает конфликты
  • Вы администрируете корпоративную сеть, где IPv6 не развёрнут и представляет лишнюю поверхность атаки

Если ни один из этих случаев к вам не относится, отключение IPv6 ничего не даст и рискует со временем что-то сломать.

Отключение IPv6 в Windows

В Windows 10 и Windows 11 проще всего через графический интерфейс. Откройте сетевые подключения: правый клик по значку сети, затем "Параметры сети и Интернета" и нажмите "Настройка параметров адаптера".

Правый клик по активному подключению (Wi-Fi или Ethernet), выберите "Свойства", затем в списке снимите галочку с "IP версии 6 (TCP/IPv6)". Подтвердите OK.

Этот метод отключает IPv6 только на этом интерфейсе. Чтобы отключить его полностью на уровне системы, нужен реестр. Откройте редактор реестра (клавиша Windows + R, введите regedit) и перейдите по пути:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters

Создайте новый параметр DWORD (32 бита) с именем DisabledComponents и задайте ему значение ff в шестнадцатеричной системе, чтобы отключить все компоненты IPv6. Перезагрузите компьютер, чтобы изменение вступило в силу.

Внимание: Microsoft официально не рекомендует полностью отключать IPv6 через реестр, потому что некоторые компоненты Windows рассчитывают на его наличие. Если после этого заметите странности (проблемы с сетевым доступом, медленная загрузка), верните DisabledComponents в 0 или удалите параметр.

Отключение IPv6 в macOS

В macOS отключение делается через Терминал, так как опция уже несколько версий отсутствует в графическом интерфейсе. Откройте Терминал и сначала определите имя своей сетевой службы:

networksetup -listallnetworkservices

Обычно вы увидите "Wi-Fi" и "Ethernet". Чтобы отключить IPv6 на Wi-Fi, введите:

sudo networksetup -setv6off Wi-Fi

Для Ethernet:

sudo networksetup -setv6off Ethernet

Система запросит пароль администратора. Чтобы снова включить IPv6 позже, замените -setv6off на -setv6automatic.

Отключение IPv6 в Linux

В большинстве дистрибутивов Linux (Ubuntu, Debian, Fedora) чистый способ использует sysctl. Отредактируйте файл конфигурации:

sudo nano /etc/sysctl.conf

Добавьте эти три строки в конец файла:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Примените изменения без перезагрузки:

sudo sysctl -p

Метод обратим: верните значения в 0 или удалите строки, затем снова выполните sysctl -p.

Отключение IPv6 на роутере

Если хотите отключить IPv6 для всей сети сразу, это делается на роутере. Войдите в админ-интерфейс, введя его IP-адрес в браузере (часто 192.168.1.1).

Найдите раздел IPv6 в настройках сети или WAN. Точное расположение зависит от модели, но обычно это под "WAN", "Интернет" или "Расширенные настройки". Отключите опцию и сохраните. Все устройства в сети перейдут на IPv4 после обновления DHCP-аренды или перезагрузки.

Проверить, что IPv6 действительно отключён

После выполнения проверьте результат. Проще всего зайти на ipme.co, который покажет, использует ли ваше соединение IPv4 или IPv6. Можно также проверить через командную строку.

В Windows введите ipconfig в командной строке: строки "IPv6-адрес" быть не должно. На Mac и Linux ifconfig или ip a не должны больше показывать адрес, начинающийся с inet6, на активных интерфейсах.

Если вы всё ещё видите IPv6-адрес, начинающийся с fe80::, не беспокойтесь: это link-local адрес, чисто внутренний, не влияющий на интернет-соединение, и который некоторые системные слои сохраняют в любом случае.