Как отключить IPv6 в RHEL и CentOS Linux 7

Относительно 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 # ip addr | grep inet6

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

Версия ОС
Red Hat Enterprise Linux Server release 7.6 (Maipo)
Red Hat Enterprise Linux Server release 7.9 (Maipo)

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