2026-09-18
Как отключить IPv6 в Linux: sysctl, GRUB и временное отключение

Как отключить IPv6 в Linux: sysctl, GRUB и временное отключение

IPv6 используется не везде и иногда вызывает проблемы: обращения к локальной петле могут уходить на ::1 вместо 127.0.0.1, из-за чего приложения работают некорректно. Разберём универсальные методы отключения для Ubuntu, Debian, CentOS, Rocky, Red Hat.


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

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

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

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

Основной файл — /etc/sysctl.conf, дополнительный — в /etc/sysctl.d/; удобнее использовать последний.

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

Применяем:

sysctl -p                                  # если правили /etc/sysctl.conf
sysctl -p /etc/sysctl.d/10-ipv6-privacy.conf   # если правили доп. файл

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

ip a

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

vi /etc/sysctl.d/10-ipv6-privacy.conf
net.ipv6.conf.eth0.disable_ipv6 = 1

где eth0 — нужный интерфейс.

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

Через GRUB (Deb)

Потенциально опасный метод: неверная настройка загрузчика может сломать запуск системы. Но для постоянного отключения IPv6 в 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-mkconfig -o /boot/grub/grub.cfg
shutdown -r now

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

Разовое изменение через sysctl (до перезагрузки):

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

Чтобы вернуть IPv6 — перезагрузите систему или выполните команды со значением =0.


Тонкости и подводные камни

  • Debian и постоянствоsysctl.d в Debian может не сохранять отключение между перезагрузками; используйте GRUB.
  • lo и IPv6 — отключение IPv6 на петле (lo) предотвращает уход запросов на ::1.
  • GRUB — риск — перед правкой сохраните рабочий grub.cfg; ошибка в опциях может сделать систему незагружаемой.
  • sysctl -p — применяет файл; без него изменения не вступят в силу до перезагрузки.
  • Проверкаip a, ss -lntp и cat /proc/sys/net/ipv6/conf/all/disable_ipv6.
  • Приложения с IPv6 — некоторые сервисы (например, Docker, VPN) могут требовать IPv6; отключайте осознанно.
  • RPM-системы — обычно достаточно sysctl.d, но проверьте поведение на своей версии.

Шпаргалка

# временно
sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1

# постоянно (Debian/Ubuntu)
vi /etc/sysctl.d/10-ipv6-privacy.conf
#   net.ipv6.conf.all.disable_ipv6 = 1
#   net.ipv6.conf.default.disable_ipv6 = 1
#   net.ipv6.conf.lo.disable_ipv6 = 1
sysctl -p /etc/sysctl.d/10-ipv6-privacy.conf

# постоянное в Debian через GRUB
vi /etc/default/grub    # ... ipv6.disable=1
grub-mkconfig -o /boot/grub/grub.cfg
shutdown -r now

ip a    # проверка

Проверено на: Ubuntu 22.04/24.04/26.04, Debian 12, Rocky Linux 9.
Дата: Сентябрь 2026.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *