Как отключить 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.