Как отключить IP версии 6 в Linux

Обновлено: 06.10.2023 Опубликовано: 23.03.2019
IPv6 далеко не всегда может использоваться в системе. Более того, он может вызвать некоторые проблемы при обращении к локальной петле (127.0.0.1) — запросы могут пойти на адрес ::1, что может привести к тому, что некоторые приложения будут работать не корректно.
В данной инструкции используются универсальные методы, которые подойдут для различных систем, например, Ubuntu, CentOS, Debian, Red Hat и так далее.
Отключение через ядро Linux
Быстрее всего отключить IPv6 через настройку ядра. Это универсальный способ и он подойдет для многих дистрибутивов на базе Linux.
Однако, данный способ для систем на базе Debian будет иметь временный эффект (до перезагрузки). Чтобы отключить IPv6 в них на постоянной основе, используйте метод с настройкой GRUB.
Глобально (для всех интерфейсов)
Создаем или открываем файл:
* 99-sysctl.conf является основным конфигурационным файлом, а 10-ipv6-privacy.conf в каталоге sysctl.d — дополнительным. Для удобства лучше использовать последний.
Добавляем следующие строки:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
Если вносили изменения в файл /etc/sysctl.d/99-sysctl.conf:
Если вносили изменения в файл /etc/sysctl.d/10-ipv6-privacy.conf:
sysctl -p /etc/sysctl.d/10-ipv6-privacy.conf
Проверяем — должны остаться только адреса IPv4:
Для определенного интерфейса
Если нужно отключить IPv6 только для одного интерфейса, например, для eth0, также открываем настройку ядра.
Как отключить ipv6 debian

Вы ищете способ отключить IPv6 в Debian / Ubuntu? В этой статье я расскажу вам, как именно это сделать и почему вам стоит рассмотреть этот вариант. Я также покажу вам, как отключить или снова включить IPv6, если вы передумаете.
Что такое IPv6 и почему вы хотите отключить IPv6 в Debian / Ubuntu?
Интернет-протокол версии 6 ( IPv6 ) – это самая последняя версия Интернет-протокола (IP), протокола связи, который обеспечивает систему идентификации и определения местоположения для компьютеров в сети и направляет трафик через Интернет. Он был разработан в 1998 году для заменыпротокола IPv4 .
IPv6 направлен на повышение безопасности и производительности, а также на то, чтобы у нас не закончились адреса. Он назначает уникальные адреса глобально каждому устройству, сохраняя их в 128-битном формате , по сравнению с 32-битным, используемым в IPv4.
Хотя цель состоит в том, чтобы заменить IPv4 на IPv6, предстоит пройти еще долгий путь. Менее 30% сайтов в Интернете предоставляют пользователям возможность подключения по протоколу IPv6. IPv6 также может время от времени вызывать проблемы с некоторыми приложениями.
Поскольку VPN предоставляют глобальные услуги, тот факт, что IPv6 использует адреса с глобальной маршрутизацией (однозначно назначенные) и что есть (все еще) интернет-провайдеры, которые не предлагают поддержку IPv6, смещает эту функцию вниз в их списке приоритетов. Таким образом, они могут сосредоточиться на самом важном для пользователей VPN: безопасности.
Другая возможная причина, по которой вы можете захотеть отключить IPv6 в своей системе, – это нежелание подвергать себя различным угрозам. Хотя сам IPv6 безопаснее, чем IPv4, риски, о которых я говорю, имеют другую природу. Если вы не используете IPv6 и его функции активно, включение IPv6 оставляет вас уязвимым для различных атак , предлагая хакеру еще один инструмент, который можно использовать для взлома.
В то же время настройки основных сетевых правил недостаточно. Вы должны уделять настройке IPv6 такой же уровень внимания, как и IPv4. Это может оказаться довольно сложной задачей (а также поддерживать). С IPv6 возникает ряд проблем, отличных от проблем IPv4 (на многие из которых можно ссылаться в Интернете, учитывая возраст этого протокола), что дает вашей системе еще один уровень сложности.
Также было замечено, что отключение IPv6 в некоторых случаях помогает повысить скорость Wi-Fi в Ubuntu.
Отключить IPv6 в Debian / Ubuntu [только для опытных пользователей]
В этом разделе я расскажу, как отключить протокол IPv6 на вашем компьютере с Ubuntu. Откройте терминал (по умолчанию: CTRL + ALT + T) и приступим к делу!
Примечание. Для большинства команд, которые вы собираетесь вводить в терминале, вам потребуются привилегии root ( sudo ).
Предупреждение! Если вы обычный пользователь Linux на настольном компьютере и предпочитаете стабильную работающую систему, избегайте этого руководства. Это для опытных пользователей, которые знают, что делают и почему.
1. Отключите IPv6 с помощью Sysctl.
Прежде всего, вам необходимо убедиться, что в вашей системе включен IPv6. Проверьте свой IP-адрес в Ubuntu с помощью этой команды:
ip a
Вы должны увидеть IPv6-адрес, если он включен (имя вашей интернет-карты может быть другим):

Вы видели команду sysctl в учебнике по перезапуску сети в Ubuntu . Мы собираемся использовать его и здесь. Чтобы отключить IPv6, вам нужно ввести всего 3 команды:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1 sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
Вы можете проверить, сработало ли это, используя:
ip a
Вы не должны увидеть записи IPv6:

Однако это только временно отключает IPv6 . При следующей загрузке системы IPv6 снова будет включен.
Один из способов сохранить этот параметр – изменить /etc/sysctl.conf
Я буду использовать vim для редактирования файла, но вы можете использовать любой редактор, который вам нравится. Убедитесь, что у вас есть права администратора (используйте sudo ):

Добавьте в файл следующие строки:
net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1 net.ipv6.conf.lo.disable_ipv6=1
Чтобы настройки вступили в силу, используйте:
sudo sysctl -p
Но на самом деле есть более быстрый и простой вариант изменить и сразу сохранить параметры sysctl – это использование ключа -w
Выглядит это так:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1 sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
Все параметры будут записны в /etc/sysctl.conf
Если IPv6 все еще включен после перезагрузки, вы должны создать (с правами root) файл /etc/rc.local и заполнить его:
#!/bin/bash # /etc/rc.local /etc/sysctl.d /etc/init.d/procps restart exit 0
Теперь используйте команду chmod, чтобы сделать файл исполняемым:
sudo chmod 755 /etc/rc.local
Это будет вручную читать (во время загрузки) параметры ядра из вашего файла конфигурации sysctl.
2. Отключите IPv6 с помощью GRUB.
Альтернативный метод – настроить GRUB на передачу параметров ядра во время загрузки. Вам нужно будет отредактировать /etc/default/grub . Еще раз убедитесь, что у вас есть права администратора:

Теперь вам нужно изменить GRUB_CMDLINE_LINUX_DEFAULT и GRUB_CMDLINE_LINUX, чтобы отключить IPv6 при загрузке:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1" GRUB_CMDLINE_LINUX="ipv6.disable=1"
Сохраните файл и запустите команду update-grub:
sudo update-grub
Теперь настройки должны сохраняться при перезагрузке.
Повторное включение IPv6 в Debian / Ubuntu
Чтобы снова включить IPv6, вам придется отменить внесенные вами изменения. Чтобы включить IPv6 до перезагрузки, введите:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0 sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
В противном случае, если вы изменили /etc/sysctl.conf, вы можете либо удалить добавленные вами строки, либо изменить их на:
net.ipv6.conf.all.disable_ipv6=0 net.ipv6.conf.default.disable_ipv6=0 net.ipv6.conf.lo.disable_ipv6=0
При желании вы можете перезагрузить эти значения:
sudo sysctl -p
Вы должны снова увидеть IPv6-адрес:

При желании вы можете удалить /etc/rc.local :
sudo rm /etc/rc.local
Если вы изменили параметры ядра в / etc / default / grub , удалите добавленные параметры:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX=""
А теперь сделайте:
sudo update-grub
Заключение
В этом руководстве я предоставил вам способы отключения IPv6 в Linux, а также дал вам представление о том, что такое IPv6 и почему вы хотели бы его отключить.
Вам помогла данная статья? Получилось отключить IPv6 в ОС Линукс? Дайте нам знать в комментариях!
Как отключить ipv6 на интерфейсе в Debian

Когда вы запускаете Debian 10, сетевые подключения IPv6 включены по умолчанию. Но в большинстве случаев вам нужно отключить настройку IPV6 по умолчанию. Однако мы дадим вам полную демонстрацию того, как отключить интерфейс IPV6 в системе Debian 10.
Для выполнения всех команд у вас должны быть права на выполнение команд системного администратора.
Сначала проверьте, включен ли ipv6 в вашей системе Debian или нет. Откройте терминал, набрав «terminal» в строке поиска, а затем щелкните отображаемый значок терминала в результатах поиска. Используйте следующую команду, чтобы проверить свой IP-адрес:
$ ip a
Следующий результат отобразится на вашем терминале, чтобы определить, включен ли IPV6.
Отключите IPV6 через systemctl:
Используя следующие три команды ввода, вы можете отключить IPV6 в своей системе:
$ sudo sysctl -w net.ipv6.conf.all.disable_ipv6 = 1 $ sudo sysctl -w net.ipv6.conf.default.disable_ipv6 = 1 $ sudo sysctl -w net.ipv6.conf.lo.disable_ipv6 = 1
После выполнения вышеуказанных команд службы IPV6 будут отключены в вашей системе Debian, но это только временное решение. Когда вы перезапустите свою систему, она снова включит ее. Проверьте статус, набрав команду «ip a».
ip a
Чтобы отключить эти соединения IPV6, вам необходимо использовать файл /etc/sysctl.conf . Откройте этот файл конфигурации в любом доступном редакторе. Здесь мы используем редактор nano для изменения этого файла, как показано в следующей команде:
$ sudo nano /etc/sysctl.conf
Теперь вставьте следующие строки в этот файл и сохраните его:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
Вставьте указанную ниже строку, если у вас есть конкретный адаптер сетевого интерфейса, например «enp0s3»:
net.ipv6.conf.enp0s3.disable_ipv6 = 1
Чтобы проверить изменения настроек, введите следующую команду:
$ sudo sysctl -p
Метод 1. Использование каталога sysctl.d
Создайте файл в каталоге /etc/sysctl.d, используя следующую команду:
$ sudo nano /etc/sysctl.d/disable-ipv6.conf
Вставьте в этот файл следующую строку:
net.ipv6.conf.all.disable_ipv6 = 1
Сохраните и нажмите Ctrl+X, чтобы выйти из этого окна.
Теперь проверьте эффект изменений, используя следующую команду:
$ sudo sysctl -p -f /etc/sysctl.d/disable-ipv6.conf
Выполните следующую команду, чтобы проверить результаты:
$ ip a
Как видно из вышеприведенных выходных данных, соединения IPV6 в этой системе отключены.
Вывод
Мы предоставили вам краткую информацию о том, как вы можете отключить интерфейс IPv6 в вашей системе Debian 10. Все эти команды также могут быть выполнены в системе Ubuntu. Если вы найдете эту статью полезной, дайте нам знать, оставив свой отзыв.
Отключить IPv6 на Linux
Если адреса IPv6 не используется на компьютере или сервере с Linux, то стоит отключить их функционал совсем. Это необходио для обеспечения безопасности. Потому что можно забыть настроить правило фаервола для IPv6, сделав это для IPv4.
Отключение IPv6 на работающей системе
Для отключения поддержки IPv6 в системе необходимо перейти в файл конфигурации /etc/sysctl.conf от лица суперпользователя и прописать в конце файла следующие строки:
# IPv6 disabled net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
После чего необходимо сохранить изменения в файле и можно перезапустить службу:
sudo sysctl -p
Изменения должны вступить в силу. Для проверки можно выполнить три следующие команды:
$ sysctl net.ipv6.conf.all.disable_ipv6 net.ipv6.conf.all.disable_ipv6 = 1 $ sysctl net.ipv6.conf.default.disable_ipv6 net.ipv6.conf.default.disable_ipv6 = 1 $ sysctl net.ipv6.conf.lo.disable_ipv6 net.ipv6.conf.lo.disable_ipv6 = 1
Если после каждого запроса возвращается строка с «= 1«, то это означает, что для ядра ОС выставлены параметры, которые не позволяют использовать протокол IPv6.
Обратите внимание, что внесённые изменения в файл настройки будут читаться системой каждый раз во время загрузки. Поэтому IPv6 будет отключена всегда (перезагрузка не сбросит значения). Если нужно отключить IPv6 только для текущего сеанса, то необходимо не менять файл, а выполнить такие три команды:
sysctl -w net.ipv6.conf.all.disable_ipv6 sysctl -w net.ipv6.conf.default.disable_ipv6 sysctl -w net.ipv6.conf.lo.disable_ipv6
— такие изменения будут держаться до следующей загрузки системы.
Отключение ipv6 из автозагрузки
Чтобы не утруждать систему загрузкой библиотек для работы с IPv6 можно отключить их на стадии старта системы. Делается это с помощью передачи параметра загрузчику GRUB. Для этого необходимо открыть от лица суперпользователя файл /etc/default/grub и добавить параметр ipv6.disable=1 в следующие ключи:
GRUB_CMDLINE_LINUX_DEFAULT GRUB_CMDLINE_LINUX
После чего нужно сохранить изменения в файле и обновить GRUB, выполнив команду:
sudo update-grub2