Введение
Протокол IP версии 6 (IPv6) — это последняя версия протокола IP. Этот протокол связи обеспечивает систему идентификации и определения местоположения компьютеров в сети и маршрутизацию трафика через Интернет. Он был разработан в 1998 году для замены протокола IPv4.
IPv6 призван повысить безопасность и производительность, одновременно гарантируя, что у нас не закончится адресное пространство. Он присваивает каждому устройству глобально уникальные адреса и хранит их в 128-битном формате, в то время как IPv4 использует только 32 бита.
Хотя цель состоит в замене IPv4 на IPv6, до полного решения проблемы еще далеко. Менее 30% сайтов в интернете предоставляют пользователям доступ к IPv6 (данные отслеживаются Google здесь). Кроме того, IPv6 может создавать проблемы для некоторых приложений.
Поскольку VPN-сервисы предоставляют услуги по всему миру, тот факт, что IPv6 использует глобально назначенные (уникально назначенные) маршрутные адреса, и что (пока) существуют интернет-провайдеры, которые не поддерживают IPv6, снижает приоритет этой функции для VPN-сервисов. Таким образом, они могут сосредоточиться на том, что наиболее важно для пользователей VPN: безопасности.
Ещё одна возможная причина отключения IPv6 в вашей системе — это нежелание подвергать себя различным угрозам. Хотя сам IPv6 более безопасен, чем IPv4, риски, о которых я говорю, носят иной характер. Если вы не используете IPv6 и его функции, включение IPv6 делает вас уязвимыми для различных атак и предоставляет хакерам ещё один инструмент для эксплуатации уязвимостей.
Однако настройки базовых сетевых правил недостаточно. К изменению конфигурации IPv6 нужно относиться с таким же вниманием, как и к IPv4. Это (и поддержание такой конфигурации) может быть непросто. С IPv6 связаны разные проблемы по сравнению с IPv4 (а их много, учитывая возраст протокола), что добавляет системе ещё один уровень сложности.
Также было замечено, что отключение IPv6 в некоторых случаях помогает улучшить скорость Wi-Fi в Ubuntu.
Отключение IPv6 в Ubuntu (только для опытных пользователей)
В этом разделе я объясню, как отключить протокол IPv6 на машине с Ubuntu. Откройте терминал (по умолчанию: CTRL+ALT+T) и приступим!
Примечание: Для большинства команд, которые вы будете вводить в терминале, вам потребуются права root (sudo).
Если вы являетесь обычным пользователем настольной версии Linux и предпочитаете стабильную операционную систему, пожалуйста, избегайте этого руководства. Оно предназначено для опытных пользователей, которые понимают, что делают и зачем.
1. Отключите IPv6 с помощью Sysctl.
Прежде всего, вам необходимо убедиться, что в вашей системе включен IPv6. Проверьте свой IP-адрес в Ubuntu с помощью этой команды:
ip a
Если активен IPv6-адрес, вы должны увидеть (имя вашей интернет-карты может отличаться):
Возможно, вы видели команду sysctl в руководстве по перезагрузке сети в Ubuntu. Мы будем использовать её и здесь. Чтобы отключить IPv6, вам нужно ввести всего 3 команды:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1Вы можете проверить это, используя:
ip a
Вы не должны видеть запись IPv6:
Однако это лишь временно отключает IPv6. При следующей загрузке системы IPv6 будет снова включен.
Один из способов сохранить эту опцию — изменить файл /etc/sysctl.conf. Я буду использовать vim для редактирования файла, но вы можете использовать любой редактор по своему усмотрению. Убедитесь, что у вас есть права root (используйте sudo):
Добавьте в файл следующие строки:
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1Чтобы применить настройки из:
sudo sysctl -p
Если после перезагрузки IPv6 по-прежнему включен, необходимо создать файл /etc/rc.local (с правами root).
⚠️ Содержимое файла отличается в более новых версиях Ubuntu.
Для Ubuntu 22.04 и более ранних версий используйте следующую строку в файле /etc/rc.local:
#!/bin/bash
# /etc/rc.local
/etc/sysctl.d
/etc/init.d/procps restart
exit 0Для Ubuntu 24.04 и более новых версий используйте вместо этого следующее:
#!/bin/bash
# /etc/rc.local
/sbin/sysctl -p/etc/sysctl.conf
/etc/init.d/procps restart
exit 0Теперь используйте команду `chmod`, чтобы сделать файл исполняемым:
sudo chmod 755 /etc/rc.local
Эта команда вручную (во время загрузки) считывает параметры ядра из файла конфигурации sysctl.
2. Отключите IPv6 с помощью GRUB.
Альтернативный метод — настроить GRUB на отправку параметров ядра при загрузке. Для этого потребуется отредактировать файл /etc/default/grub. Еще раз убедитесь, что у вас есть права администратора:
Теперь вам нужно изменить параметры GRUB_CMDLINE_LINUX_DEFAULT и GRUB_CMDLINE_LINUX, чтобы отключить IPv6 при загрузке:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"
GRUB_CMDLINE_LINUX="ipv6.disable=1"Сохраните файл и выполните команду update-grub:
sudo update-grub
Теперь настройки должны сохраняться после перезагрузки.
Повторно включите IPv6 в Ubuntu.
Чтобы повторно включить IPv6, необходимо отменить внесенные изменения. Чтобы включить IPv6 до перезагрузки, введите:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0В противном случае, если вы внесли изменения в файл /etc/sysctl.conf, вы можете удалить добавленные строки или изменить их следующим образом:
net.ipv6.conf.all.disable_ipv6=0
net.ipv6.conf.default.disable_ipv6=0
net.ipv6.conf.lo.disable_ipv6=0При желании вы можете перезагрузить эти значения:
sudo sysctl -p
Вы снова должны увидеть IPv6-адрес:
При желании вы можете удалить файл /etc/rc.local:
sudo rm /etc/rc.local
Если вы изменили параметры ядра в файле /etc/default/grub, удалите добавленные параметры:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""Сделайте это прямо сейчас:
sudo update-grub
Результат
В этом руководстве я рассказал вам о способах отключения IPv6 в Linux, а также дал представление о том, что такое IPv6 и почему может возникнуть необходимость его отключения.














