отключить IPv6

Thank you for reading this post, don't forget to subscribe!

Есть несколь­ко спо­со­бов отклю­че­ния - через grub и через sysctl, быст­ро посмот­реть нали­чие вклю­чен­но­го IPv6 мож­но коман­дой ip a | grep inet6:

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

После мани­пу­ля­ций, потре­бу­ет­ся пере­за­груз­ка. Необ­хо­ди­мо отре­дак­ти­ро­вать grub конфиг:

Доба­вив в GRUB_CMDLINE_LINUX пара­метр ipv6.disable=1:

Обно­вить grub конфиг:

Пере­за­гру­зить машину:

Сно­ва проверяем:

Отключение IPv6 через sysctl

Доба­вить в кон­фиг /etc/sysctl.conf:

При­ме­нить:

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

Быст­рый и пра­виль­ный спо­соб для гло­баль­но­го отклю­че­ния 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

Отклю­чить IPv6 в фай­ле network:

vi /etc/sysconfig/network

NETWORKING_IPV6=no
IPV6INIT=no

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

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

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

vi /etc/yum.conf

И добав­ля­ем строку:

ip_resolve=4