Как отключить IPv6 в Debian GNU/Linux

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

Убедимся в том, что в системе действительно присутствуют IPv6 интерфейсы:

# ip addr | grep inet6

Также можно увидеть, что некоторые приложения имеют активные TCP-прослушиватели на интерфейсах IPv6. Посмотреть все прослушиваемые в системе порты можно командой:

# ss -lnptu | sort

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

# nano /etc/sysctl.conf

В конец файла добавляем строки:

sysctl.conf
# Turn off IPv6
#
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1

Для выключения IPv6 на всех интерфейсах системы достаточно параметра net.ipv6.conf.all.disable_ipv6. Прочие параметры указаны в качестве примера отключения на уровне отдельных интерфейсов. При этом, если необходимо, изменяем имя сетевого интерфейса eth0 на тот, который используется у нас.

Для вступления изменений в силу, заставим sysctl перечитать файл /etc/sysctl.conf:

# sysctl -p

Cнова проверяем список интерфейсов, где IPv6 интерфейсов уже не должно остаться:

# ip addr | grep inet6

Дополнительные источники информации:


Проверено на следующих конфигурациях:

Версия ОС
Debian GNU/Linux Stretch 9.2.1
Debian GNU/Linux Buster 10.0
Debian GNU/Linux Bullseye 11.2
Debian GNU/Linux Bookworm 12.0

Автор первичной редакции:
Алексей Максимов
Время публикации: 25.11.2017 11:33