Как отключить IP версии 6 в Linux

Обновлено Обновлено: Опубликовано Опубликовано:

IPv6 далеко не всегда может использоваться в системе. Более того, он может вызвать некоторые проблемы при обращении к локальной петле (127.0.0.1) — запросы могут пойти на адрес ::1, что может привести к тому, что некоторые приложения будут работать не корректно.

В данной инструкции используются универсальные методы, которые подойдут для различных систем, например, Ubuntu, CentOS, Debian, Red Hat и так далее. 

Отключение через ядро Linux

Быстрее всего отключить IPv6 через настройку ядра. Это универсальный способ и он подойдет для многих дистрибутивов на базе Linux.

Однако, данный способ для систем на базе Debian будет иметь временный эффект (до перезагрузки). Чтобы отключить IPv6 в них на постоянной основе, используйте метод с настройкой GRUB.

Глобально (для всех интерфейсов)

Создаем или открываем файл:

vi /etc/sysctl.d/99-sysctl.conf

... или 

vi /etc/sysctl.d/10-ipv6-privacy.conf

99-sysctl.conf является основным конфигурационным файлом, а 10-ipv6-privacy.conf в каталоге sysctl.d — дополнительным. Для удобства лучше использовать последний.

Добавляем следующие строки:

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

Применяем настройки.

Если вносили изменения в файл /etc/sysctl.d/99-sysctl.conf:

sysctl -p

Если вносили изменения в файл /etc/sysctl.d/10-ipv6-privacy.conf:

sysctl -p /etc/sysctl.d/10-ipv6-privacy.conf

Проверяем — должны остаться только адреса IPv4:

ip a

Для определенного интерфейса

Если нужно отключить IPv6 только для одного интерфейса, например, для eth0, также открываем настройку ядра.

Основной файл:

vi /etc/sysctl.conf

... или дополнительный:

vi /etc/sysctl.d/10-ipv6-privacy.conf

И добавим:

net.ipv6.conf.eth0.disable_ipv6 = 1

* где eth0 наш интерфейс, для которого мы хотим отключить IPv6.

Применяем настройки:

sysctl -p

или

sysctl -p /etc/sysctl.d/10-ipv6-privacy.conf

Через GRUB (Deb)

Потенциально, это опасный метод, так как неправильная настройка загрузчика может привести к ошибке запуска системы. Однако, его необходимо использовать для перманентного отключения IPv6 в системах на базе Debian (Debian / Ubuntu / Astra Linux). 

Открываем конфигурационный файл загрузчика:

vi /etc/default/grub

Находим строки:

GRUB_CMDLINE_LINUX_DEFAULT="..."
GRUB_CMDLINE_LINUX="..."

* они могут быть с пустыми значениями или с заполненными опциями, перечисленными через пробел.

Допишем строчки:

GRUB_CMDLINE_LINUX_DEFAULT="... ipv6.disable=1"
GRUB_CMDLINE_LINUX="... ipv6.disable=1"

Переконфигурируем grub:

grub-mkconfig -o /boot/grub/grub.cfg

Для проверки, перезагрузим систему:

shutdown -r now

Отключить IPv6 на время

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

И так, для отключения IP версии 6 вводим две команды:

sysctl -w net.ipv6.conf.all.disable_ipv6=1

sysctl -w net.ipv6.conf.default.disable_ipv6=1

Готово.

# CentOS # Linux # Rocky Linux # Ubuntu # Операционные системы # Сети
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет