Компания DiAi

DiAi

Способы отключения IPv6 в CentOS

По умолчанию, IPv6 включено для CentOS, что может вызвать некоторые проблемы при обращении к локальной петле — запросы пойдут не на 127.0.0.1 а на ::1. В некоторых случаях, это критично, так как приложение может быть настроено на прослушку именно с 127.0.0.1.

Также проблема может возникнуть с менеджером пакетов yum, который будет пытаться подключиться к репозиториям по IPv6.

Глобальное отключение через ядро

Добавьте в него следующие данные:

				
					vi /etc/sysctl.conf
				
			

И добавляем в него следующее:

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

Применяем настройки:

				
					sysctl -p
				
			

Перезапускаем сетевую службу:

				
					systemctl restart network
				
			

Проверяем:

				
					ip a
				
			

Отключение для определенного интерфейса

Если нам не нужно отключать IPv6 на уровне всей системы, а только, например, для ens32, также открываем настройку ядра:

				
					vi /etc/sysctl.conf
				
			

И добавим:

				
					net.ipv6.conf.ens32.disable_ipv6 = 1
				
			

Применяем настройки:

				
					sysctl -p

systemctl restart network
				
			

Через GRUB

На самом деле, для большинства случаев будет достаточно вариантов, описанных выше. Для полной картины, опишем еще один способ.

Открываем на редактирование конфигурационный файл загрузчика:

				
					vi /etc/default/grub
				
			

Допишем следующую строчку:

				
					GRUB_CMDLINE_LINUX=»ipv6.disable=1 crashkernel=auto rhgb quiet»
				
			

Переконфигурируем grub

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

Для проверки, перезагрузим CentOS:

				
					shutdown -r now
				
			

Опции IPV6INIT и IPV6_AUTOCONF

В некоторых инструкциях можно найти вариант отключения интерфейса с помощью такой настройки:

				
					IPV6INIT=no
IPV6_AUTOCONF=no
				
			

Однако, ни в CentOS 7, ни в других современных дистрибутивах Linux данные опции не дают ожидаемого результата.

На самом деле, опция работает, но для нее нужно сконфигурировать некоторые модули ядра (modprobe):

				
					vi /etc/modprobe.d/modprobe.conf

options ipv6 disable=1
alias net-pf-10 off
alias ipv6 off
install ipv6 /bin/true
				
			

В некоторых инструкциях можно найти вариант отключения интерфейса с помощью такой настройки:

				
					vi /etc/sysconfig/network

NETWORKING_IPV6=no
IPV6INIT=no
				
			

Данный метод трудоемкий и неудобный для использования, но решение оставим за администратором.

Отключение в yum

При желании отключить запросы по IPv6 только в менеджере пакетов yum, открываем файл:

				
					vi /etc/yum.conf
				
			

При желании отключить запросы по IPv6 только в менеджере пакетов yum, открываем файл:

				
					ip_resolve=4
				
			

перезвоним

в течении 10 минут