vk.com Включение поддержки IPv6 в ОС Linux.

Включение поддержки IPv6 в ОС Linux.

В данной инструкции рассмотрим включение поддержки IPv6 в DEB и RHEL дистрибутивах ОС Linux.

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


DEB дистрибутивы.

Проверяем что ipv6 выключен:

grep ipv6 /etc/default/grub

Вывод будет примерно следующим:

GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8 ipv6.disable=1 "

Нужно открыть файл на редактирование любым редактором, найти там эту строку и изменить значение параметра 'ipv6.disable' на '0'.

После внесения изменений пересобираем конфигурацию загрузчика 'grub':

grub-mkconfig

Обновляем загрузчик 'grub' и применяем новую конфигурацию:

update-grub2

Проверяем, что новое значение применилось в системе:

grep ipv6 /etc/default/grub

Пример вывода команды:

GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8 ipv6.disable=0 "

Перезагружаем сервер:

reboot

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

ip -br a

Вывод будет следующим:

lo UNKNOWN 127.0.0.1/8

enp0s5 UP 10.10.10.25/27 fe80::c801:23ff:fed8:7e4d/64

Если после всех внесенных изменений в найстройки IPv6 не появился на сетевых интерфейсах, то стоит проверить еще один файл конфигурации в ОС:

grep ipv6 /boot/efi/EFI/ubuntu/grub.cfg

В файле найти строки:

linux /boot/vmlinuz-5.15.0-60-generic root=UUID=00461488-3b35-4a53-91a8-2e527e4987da ro console=tty0 console=ttyS0,115200n8 ipv6.disable=1

linux /boot/vmlinuz-5.15.0-60-generic root=UUID=00461488-3b35-4a53-91a8-2e527e4987da ro console=tty0 console=ttyS0,115200n8 ipv6.disable=1

И изменить значение 'ipv6.disable' на '0'. Сохранить файл и перезагрузить систему:

reboot

После этого снова проверить вывод команды:

ip -br a


RHEL дистрибутивы.

Отличий практически нет от DEB дистрибутивов, поэтому кратко опишем действия и команды.

Проверяем что ipv6 выключен:

grep ipv6 /etc/default/grub

Если значение параметра в выводе 'ipv6.disable' равно единице, то меняем на '0', отредактировав файл '/etc/default/grub'.

После внесения изменений пересобираем конфигурацию загрузчика 'grub':

grub-mkconfig

Перезагружаем сервер:

reboot

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

ip -br a

Вывод будет следующим:

lo UNKNOWN 127.0.0.1/8

enp0s5 UP 10.10.10.26/27 fe80::c801:95ff:feff:3cda/64

Если после всех внесенных изменений в найстройки IPv6 не появился на сетевых интерфейсах, то стоит проверить еще один файл конфигурации в ОС:

grep ipv6 /boot/efi/EFI/ubuntu/grub.cfg

В файле найти строки:

linux /boot/vmlinuz-5.15.0-60-generic root=UUID=00461488-3b35-4a53-91a8-2e527e4987da ro console=tty0 console=ttyS0,115200n8 ipv6.disable=1

linux /boot/vmlinuz-5.15.0-60-generic root=UUID=00461488-3b35-4a53-91a8-2e527e4987da ro console=tty0 console=ttyS0,115200n8 ipv6.disable=1

И изменить значение 'ipv6.disable' на '0'. Сохранить файл и перезагрузить систему:

reboot

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


Пример скриптов для автоматизации процесса.

Пример скрипта BASH для включения поддержки IPv6 в DEB подобных ОС (Ubuntu, Debian, etc.):


#!/bin/bash


# Проверяем, что IPv6 выключен

if grep -q 'ipv6.disable=1' /etc/default/grub; then

echo "Поддержка IPv6 отключена. Включаем ..."


echo "Изменение настроек в файле /etc/default/grub"

sed -i 's/ipv6.disable=1/ipv6.disable=0/' /etc/default/grub

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

update-grub2


if grep -q 'ipv6.disable=1' /boot/efi/EFI/ubuntu/grub.cfg; then

echo "Изменение настроек в файле /boot/efi/EFI/ubuntu/grub.cfg"

sed -i 's/ipv6.disable=1/ipv6.disable=0/' /boot/efi/EFI/ubuntu/grub.cfg

fi


echo "Перезагрузка системы для применения изменений..."

reboot

else

echo "Поддержка IPv6 уже включена или отсутствуют нужныфе параметры в:"

echo "/etc/default/grub"

echo "/boot/efi/EFI/ubuntu/grub.cfg"

fi


Вы можете создать файл скрипта скопировав вышеуказанные строки, назначить ему права на исполнение и просто выполнить его.

Наличие всех параметров будет проверено и внесены все необходимые изменения.

ВНИМАНИЕ! После выполнения сервер будет перезагружен.

Наш веб-сайт использует куки-файлы, чтобы отличить Вас от других пользователей.
Понятно