Поиск по сайту:

Как отключить IPv6 в Ubuntu 24.04

В этом пошаговом руководстве для начинающих показано, как отключить IPv6 в Ubuntu 24.04 LTS с перезагрузкой системы или без нее.

IPv6 — это будущее интернет-протоколов. Но по некоторым причинам, например, из-за совместимости с определенными сетями, целей тестирования или проблем безопасности, или просто потому, что они не используют эту вещь, пользователи могут захотеть отключить IPv6 на своих машинах.

Отключение IPv6 в целом безопасно. На некоторых веб-сайтах и службах, оптимизированных для IPv6, может наблюдаться небольшая потеря производительности, однако вы можете повторно включить его в любое время по своему усмотрению.

Вариант 1. Отключите IPv6 с помощью параметров ядра.

Модуль ядра ipv6 имеет возможность либо отключить всю функциональность, либо отключить ipv6 на всех сетевых интерфейсах.

Вы можете либо настроить загрузчик Grub для загрузки ядра с отключенным ipv6 при каждом запуске, либо изменить параметры ядра во время выполнения, не перезагружая компьютер.

1. Используйте sysctl, чтобы отключить IPv6 без перезагрузки.

sysctl — это инструмент командной строки, настраивающий параметры ядра во время выполнения.

Чтобы отключить ipv6 на всех сетевых интерфейсах, просто используйте команду:

sudo sysctl --write net.ipv6.conf.all.disable_ipv6=1

IPv6 будет немедленно отключен и сохранится до перезагрузки компьютера. Для проверки либо используйте команду ip addr, чтобы проверить наличие разделов «inet6», либо запустите ip -6 addr, чтобы проверить, есть ли какие-либо выходные данные.

По выбору вы можете отключить ipv6 для определенного сетевого интерфейса. Сначала используйте команду ip addr, чтобы получить имена сетевых интерфейсов. В моем случае (см. скриншот выше) у меня есть сетевые интерфейсы lo, enp0s31f6, wlp61s0 и т. д.

Например, отключите ipv6 только для wlp61s0, используйте команду:

sudo sysctl --write net.ipv6.conf.wlp61s0.disable_ipv6=1

А замена 1 в приведенных выше командах на 0 снова включит ipv6 для всех или определенных сетевых устройств.

Не запуская команду sysctl снова и снова, вы можете записать правила либо в файл /etc/sysctl.conf, либо в собственный файл в папке /etc/sysctl.d/ каталог.

Чтобы отредактировать файл /etc/sysctl.conf, используйте команду:

sudo nano /etc/sysctl.conf

Когда файл откроется в текстовом редакторе командной строки, прокрутите вниз и добавьте следующие строки, чтобы указать отключить ipv6 для всех сетевых интерфейсов, по умолчанию и ниже.

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

После сохранения файла нажмите Ctrl+S, затем Ctrl+X, а затем запустите приведенную ниже команду, которая применит изменения немедленно:

sudo sysctl -p

Если вы используете собственный файл конфигурации (например, /etc/sysctl.d/99-ipv6.conf) для конфигурации, затем примените его, выполнив команду ниже, чтобы указать путь к файлу конфигурации. :

sudo sysctl -p /etc/sysctl.d/99-ipv6.conf

К сожалению, из-за этой ошибки, возникшей с 2006 года, изменения, внесенные вами в /etc/sysctl.conf или собственный файл в /etc/sysctl.d/, не работают. НЕ сохраняется после перезагрузки.

Вам необходимо либо повторно запускать последнюю команду sysctl -p при каждой загрузке, либо создать задание по расписанию, чтобы команда запускалась автоматически при запуске. Для этого выполните команду:

sudo crontab -e

Если будет предложено, выберите текстовый редактор nano по умолчанию, затем прокрутите вниз и добавьте строку ниже:

@reboot /usr/bin/sleep 15 && /usr/sbin/sysctl --system

Эта строка указывает на необходимость запуска команды /usr/sbin/sysctl --system для загрузки всех файлов конфигурации с задержкой в 15 секунд при каждой загрузке. Наконец, нажмите Ctrl+S для сохранения и Ctrl+X для выхода.

2. Используйте Grub для загрузки ядра с отключенным ipv6.

Если вы не хотите использовать crontab в качестве обходного пути для загрузки конфигурации sysctl при каждой загрузке, вместо этого вы можете настроить загрузчик Grub.

Сначала подключитесь к серверу Ubuntu или нажмите Ctrl+Alt+T, чтобы открыть терминал на рабочем столе Ubuntu, затем выполните команду, чтобы открыть файл конфигурации для Grub:

sudo nano /etc/default/grub

Когда файл откроется, добавьте либо ipv6.disable=1, либо ipv6.disable_ipv6=1 в качестве значения GRUB_CMDLINE_LINUX_DEFAULT. Наконец, нажмите Ctrl+S для сохранения и Ctrl+X для выхода.

Согласно документации ядра:

  • Параметр ipv6.disable=1 отключит всю функциональность ipv6.
  • В то время как ipv6.disable_ipv6=1 сообщает НЕ назначать адреса IPv6 на каких-либо интерфейсах.

Чтобы применить изменения, вам необходимо запустить команду для повторного создания записей загрузчика.

sudo update-grub

Если вы используете Ubuntu Desktop с установленным Grub-Customizer, вы можете запустить приложение и перейти на вкладку «Общие настройки», чтобы добавить параметры ядра.

Вариант 2. Отключите IPv6 с помощью Network Manager.

Сетевой менеджер также предоставляет возможность отключить ipv6 либо для каждого устройства, либо для каждого соединения.

Сначала запустите команду для получения списка соединений:

nmcli connection show

Как показано на снимке экрана ниже, в моем случае у меня есть Wi-Fi-устройство wlp61s0, подключенное к сети Wi-Fi elite01, lo — интерфейс обратной связи для связи с серверами. локальный компьютер и lxcbr0 для контейнеров.

Чтобы отключить ipv6 для каждого устройства, например, wlp61s0, используйте команду:

nmcli device modify wlp61s0 ipv6.method "disabled"

Затем проверьте, запустив либо ip addr, чтобы проверить все сетевые интерфейсы, либо ip addr show wlp61s0 для определенного интерфейса (в данном случае wlp61s0).

Чтобы отключить ipv6 для каждого соединения, например, сети Wi-Fi elite01, используйте команду:

nmcli connection modify elite01 ipv6.method "disabled"

Этот метод отключает ipv6 только для выбранного соединения, в то время как сетевому устройству все еще назначен адрес ipv6. А для Ubuntu Desktop обычно есть графические сетевые опции для выполнения той же работы.

Чтобы отменить указанные выше изменения, просто повторно запустите последние команды, заменив "disabled" на "auto".

Статьи по данной тематике