Настройка CentOS

Интересуетесь топовыми гаджетами и популярными технологическими новинками?
Подписывайтесь на телеграм канал @upkitai
Как отключить подсистему 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
Как отключить подсистему IPv6 в CentOS 8

Сначала проверьте, включен ли IPv6 на вашем компьютере CentOS 8, с помощью следующей команды ip:

# ip a | grep inet6

Если IPv6 включен, вы можете увидеть строки inet6, однако, если команда ничего не выводит, значит IPv6 отключен на всех ваших сетевых интерфейсах.

Отключение IPv6 с помощью команды sysctl

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

Сначала создайте новый файл конфигурации sysctl: /etc/sysctl.d/70-ipv6.conf, используя следующую команду:

# nano /etc/sysctl.d/70-ipv6.conf

Затем добавьте следующие строки и сохраните файл:

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

Теперь, чтобы отключить IPv6, используйте следующую команду:

# sysctl --load /etc/sysctl.d/70-ipv6.conf

Теперь IPv6 отключен.

Чтобы проверить, отключен ли IPv6, выполните следующую команду ip:

# ip a | grep inet6

Если команда не возвращает ничего, это означает что IPv6 отключен на всех ваших сетевых интерфейсах.

При использовании этого метода некоторые из ваших сетевых интерфейсов могут по-прежнему использовать IPv6 после перезагрузки системы. Это происходит потому, что CentOS 8 по умолчанию использует Network Manager.

Чтобы полностью прекратить использование IPv6, используйте следующую команду nmcli.

# nmcli connection modify interface ipv6.method ignore

Наконец, перезагрузите компьютер с CentOS 8:

# reboot

Отключение IPv6 с помощью параметра загрузки ядра

Параметр загрузки ядра требует перезагрузки системы после настройки. Это лучший способ отключения IPv6.

Чтобы использовать этот метод, откройте файл конфигурации GRUB по умолчанию – /etc/default/grub в текстовом редакторе vi, как показано ниже:

# vi /etc/default/grub

Затем перейдите к концу файла и нажмите O, чтобы создать новую строку, и введите следующее:

GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX ipv6.disable=1"

Далее сохраните и выйдите из файла конфигурации:

Следующим шагом является обновление файлов GRUB CFG. Введите следующую команду, чтобы найти файлы grub:

# ls -lh /etc/grub*.cfg

Вы увидите 2 пути к файлам GRUB CFG: /boot/grub2/grub.cfg и /boot/efi/EFI/centos/grub.cfg.

Введите следующую команду, чтобы создать новый файл конфигурации GRUB и сохранить его в /boot/grub2/grub.cfg:

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

Затем введите следующую команду, чтобы создать новый файл конфигурации GRUB и сохранить его в /boot/efi/EFI/centos/grub.cfg:

# grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

Наконец, перезагрузите компьютер CentOS 8:

# reboot

После перезагрузки введите следующую команду, чтобы проверить, отключен ли IPv6:

# ip a | grep inet6

Если данная команда ничего не выводит, это означает, что IPv6 отключен.

Поделитесь с другими:

Если материал понравился Вам и оказался для Вас полезным, поделитесь им со своими друзьями!

Читать по теме
Интересные статьи