Как отключить IP версии 6 в Linux
IPv6 далеко не всегда может использоваться в системе. Более того, он может вызвать некоторые проблемы при обращении к локальной петле (127.0.0.1) — запросы могут пойти на адрес ::1, что может привести к тому, что некоторые приложения будут работать не корректно.
В данной инструкции используются универсальные методы, которые подойдут для различных систем, например, Ubuntu, CentOS, Debian, Red Hat и так далее.
Быстрее всего отключить IPv6 через настройку ядра. Это универсальный способ и он подойдет для многих дистрибутивов на базе Linux.
Глобально (для всех интерфейсов)
Создаем или открываем файл:
vi /etc/sysctl.d/99-sysctl.conf
... или
vi /etc/sysctl.d/10-ipv6-privacy.conf
* 99-sysctl.conf является основным конфигурационным файлом, а 10-ipv6-privacy.conf в каталоге sysctl.d — дополнительным. Для удобства лучше использовать последний.
Добавляем следующие строки:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6=1
Применяем настройки.
Если вносили изменения в файл /etc/sysctl.d/99-sysctl.conf:
sysctl -p
Если вносили изменения в файл /etc/sysctl.d/10-ipv6-privacy.conf:
sysctl -p /etc/sysctl.d/10-ipv6-privacy.conf
Перезапускаем сетевые настройки:
systemctl restart network || systemctl restart networking || systemctl restart NetworkManager
* в deb линуксах используется имя для службы networking, в RPM — network; в CentOS 8 перезапускается NetworkManager.
Смотрим — должны остаться только адреса IPv4:
ip a
Для определенного интерфейса
Если нужно отключить IPv6 только для одного интерфейса, например, для eth0, также открываем настройку ядра.
Основной файл:
vi /etc/sysctl.conf
... или дополнительный:
vi /etc/sysctl.d/10-ipv6-privacy.conf
И добавим:
net.ipv6.conf.eth0.disable_ipv6 = 1
* где eth0 наш интерфейс, для которого мы хотим отключить IPv6.
Применяем настройки:
sysctl -p
или
sysctl -p /etc/sysctl.d/10-ipv6-privacy.conf
Перезапускаем настройки сети:
systemctl restart network || systemctl restart networking || systemctl restart NetworkManager
Через GRUB
Потенциально, это опасный метод, так как неправильная настройка загрузчика может привести к ошибке запуска системы. Однако, данный метод кому-то может понадобиться.
Открываем конфигурационный файл загрузчика:
vi /etc/default/grub
Допишем строчку:
GRUB_CMDLINE_LINUX="ipv6.disable=1 crashkernel=auto rhgb quiet"
Переконфигурируем grub:
grub2-mkconfig -o /boot/grub2/grub.cfg
Для проверки, перезагрузим систему:
shutdown -r now
В данной инструкции используются универсальные методы, которые подойдут для различных систем, например, Ubuntu, CentOS, Debian, Red Hat и так далее.
Отключение через ядро Linux
Глобально (для всех интерфейсов)
Создаем или открываем файл:
vi /etc/sysctl.d/99-sysctl.conf
... или
vi /etc/sysctl.d/10-ipv6-privacy.conf
* 99-sysctl.conf является основным конфигурационным файлом, а 10-ipv6-privacy.conf в каталоге sysctl.d — дополнительным. Для удобства лучше использовать последний.
Добавляем следующие строки:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6=1
Применяем настройки.
Если вносили изменения в файл /etc/sysctl.d/99-sysctl.conf:
sysctl -p
Если вносили изменения в файл /etc/sysctl.d/10-ipv6-privacy.conf:
sysctl -p /etc/sysctl.d/10-ipv6-privacy.conf
Перезапускаем сетевые настройки:
systemctl restart network || systemctl restart networking || systemctl restart NetworkManager
* в deb линуксах используется имя для службы networking, в RPM — network; в CentOS 8 перезапускается NetworkManager.
Смотрим — должны остаться только адреса IPv4:
ip a
Для определенного интерфейса
Если нужно отключить IPv6 только для одного интерфейса, например, для eth0, также открываем настройку ядра.
Основной файл:
vi /etc/sysctl.conf
... или дополнительный:
vi /etc/sysctl.d/10-ipv6-privacy.conf
И добавим:
net.ipv6.conf.eth0.disable_ipv6 = 1
* где eth0 наш интерфейс, для которого мы хотим отключить IPv6.
Применяем настройки:
sysctl -p
или
sysctl -p /etc/sysctl.d/10-ipv6-privacy.conf
Перезапускаем настройки сети:
systemctl restart network || systemctl restart networking || systemctl restart NetworkManager
Через GRUB
Потенциально, это опасный метод, так как неправильная настройка загрузчика может привести к ошибке запуска системы. Однако, данный метод кому-то может понадобиться.
Открываем конфигурационный файл загрузчика:
vi /etc/default/grub
Допишем строчку:
GRUB_CMDLINE_LINUX="ipv6.disable=1 crashkernel=auto rhgb quiet"
Переконфигурируем grub:
grub2-mkconfig -o /boot/grub2/grub.cfg
Для проверки, перезагрузим систему:
shutdown -r now
Комментарии
Отправить комментарий