Отключение подсистемы IPv6 в CentOS 7

IPv6 — прогрессивный протокол, который в скором времени должен полностью заменить устаревший протокол IPv4. В этой статье мы рассмотрим способ отключения IPv6 в вашей операционной системе. Вы можете подумать, что отключение IPv6 — это странная идея, и мы с вами полностью согласимся, однако, есть ряд случаев, когда такая задача все же возникает. Для примера можно рассмотреть некоторые из них:

  • Нестабильная работа IPv6 у вашего ISP из-за устаревшего оборудования;
  • Некорректная работа приложений на сервере из-за IPv6;
  • Худшие условия пропуска IPv6 трафика;
  • Пользователи системы никогда не будут использовать IPv6 для доступа к приложениям, размещенным на сервере.

В целом, идей, когда бы вы хотели отключить IPv6 довольно много, часть из них может требовать временного отключения, другие же подразумевают постоянное отключение. В этой статье мы рассмотрим как отключить IPv6 в CentOS 7.

Начнем с временного отключения IPv6 в процессе работы операционной системы. Отключенный таким образом протокол IPv6 можно легко включить обратно без перезагрузки ОС.

Для отключения IPv6 на всех интерфейсах используйте команду sysctl:

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

Если же вам необходимо отключить IPV6 на конкретном интерфейсе, используйте уточненный параметр, например:

sudo sysctl net.ipv6.conf.eth1.disable_ipv6=1

Для включения IPv6 обратно необходимо использовать ту же команду со значением параметра равным 0.

Если вы хотите, чтобы подсистема IPv6 отключалась при старте системы, можете добавить данные аргументы в /etc/sysctl.conf:

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

Активировать изменения можно командой sysctl -p.

Отключение IPv6 в модуле ядра

Для раннего отключения IPv6 с помощью параметра ядра вам необходимо отредактировать файл /etc/default/grub, добавив в него параметр ipv6.disable=1:

# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="ipv6.disable=1 crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

После выполнения данных действий перегенерируйте код загрузчика:

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

Перезагрузите операционную систему удобным Вам способом, например, через shutdown -r. Убедитесь, что после перезагрузки IPv6 отключен:

ip addr show | grep net6