- Как отключить IPv6 в Ubuntu
- Проверка поддержки IPv6
- Как отключить IPv6 в Ubuntu
- Способ 1. С помощью sysctl
- Способ 2. Отключить ipv6 в Grub
- Выводы
- Похожие записи
- Оцените статью
- Об авторе
- 15 комментариев к “Как отключить IPv6 в Ubuntu”
- Отключить IPv6 на Linux
- Отключение IPv6 на работающей системе
- Отключение ipv6 из автозагрузки
Как отключить IPv6 в Ubuntu
Протокол IPv6 — это новая технология, которая предоставляет намного большее адресное пространство IP адресов, более высокую безопасность и скорость работы. Но это все в идеале. IPv6 нарушает обратную совместимость с IPv4 и сейчас в большинстве случаев используется старый протокол. Мы уже очень подробно рассматривали чем отличается IPv6 от IPv4, поэтому не будем повторять все еще раз.
Поскольку на данный момент IPv6 используется достаточно редко, этот протокол полностью поддерживается далеко не всем оборудованием. Если IPv6 не поддерживается вашим роутером или провайдером, то это замедлит работу сети, дольше будут определяться доменные имена сайтов и будет выполняться попытка получения IPv6 адреса, что тоже приведет к задержке. В этой небольшой заметке мы рассмотрим как отключить IPv6 в Ubuntu или других совместимых дистрибутивах.
Проверка поддержки IPv6
Все современные дистрибутивы поддерживают IPv6 без исключений. Но чтобы убедиться что ваша локальная машина получила ipv6 адрес вы можете выполнить команду:
В разделе для подключения eth0 вы увидите адрес inet4 и inet6, в inet6 будет показан адрес Ipv6, который присвоен этому компьютеру роутером. Все адреса, начинающиеся с fe80 — это адреса локальных сетей. Но присутствие этого адреса еще не означает, что он поддерживается вашим провайдером. Для проверки этого пункта можно попытаться отправить ping запрос на ipv6.google.com:
Если вы увидите привычный ответ о времени доставки пакетов, то значит все работает, но если ipv6 провайдером не поддерживается вы получите network unreachable или что-то в этом роде. В таком случае IPv6 лучше отключить чтобы интернет работал быстрее.
Как отключить IPv6 в Ubuntu
Есть несколько способов отключить IPv6 Ubuntu мы рассмотрим их все.
Способ 1. С помощью sysctl
Первый способ решения нашей задачи, это редактирование параметров ядра во время выполнения с помощью sysctl. Для отключения 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
Вы можете также пойти другим путем и записать все эти значения в файл настройки, чтобы они применялись по умолчанию при старте системы:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Сохраните файл, закройте его и перезапустите sysctl для обновления конфигурации:
Теперь, когда вы выполните ip addr show, здесь не должно быть ipv6 адреса:
Способ 2. Отключить ipv6 в Grub
Вы также можете отключить IPv6 отредактировав параметры загрузки ядра в Grub. Для этого откройте файл /etc/default/grub и добавьте туда такую строку:
GRUB_CMDLINE_LINUX = «ipv6.disable = 1»
Если переменная GRUB_CMDLINE_LINUX уже существует то вы можете добавить это значение в конец строки к другим параметрам. После завершения сохраните изменения и обновите конфигурацию Grub с помощью команды:
После перезагрузки отключение ipv6 Ubuntu 16.04 будет завершено и ваша сеть станет работать быстрее.
Выводы
В этой статье мы рассмотрели как отключить ipv6 linux как видите, это очень просто. Возможно, вы и не знали раньше, но если ваш провайдер не поддерживает этот протокол, то его лучше отключить.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Похожие записи
Оцените статью
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
15 комментариев к “Как отключить IPv6 в Ubuntu”
Но можно наоборот включить поддержку протокола ipv6, даже если Ваш провайдер его не поддерживает. Для этого нужно установить демона miredo.
sudo apt-get install miredo Ответить
В прошлой статье об этом упоминалось в качестве альтернативы, когда рассматривалось сравнение нового и старого протоколов, правда без названия пакета. Это может увеличить безопасность, но не увеличит скорость, так как информация об адресе по протоколу ipv6 записывается внутри пакета, передающегося по старому протоколу ipv4. Ответить
Подскажите, как теперь убрать эти строки из ядра?
$sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
$ sudo sysctl net.ipv6.conf.default.disable_ipv6=1
$ sudo sysctl net.ipv6.conf.lo.disable_ipv6=1 Ответить
$ sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
$ sudo sysctl net.ipv6.conf.default.disable_ipv6=0
$ sudo sysctl net.ipv6.conf.lo.disable_ipv6=0 Ответить
Через sysctl наверное стоит уточнить, что на новых версиях дистрибутивов при загрузке параметры ядра читаются не sysctl, а systemd-sysctl. Файл sysctl.conf надо кидать не в /etc/ а в /etc/sysctl.d/ Ответить
через GRUB
GRUB_CMDLINE_LINUX_DEFAULT=»ipv6.disable=1″
GRUB_CMDLINE_LINUX=»ipv6.disable=1″
без пробелов, получилось Ответить
Исправьте пожалуйста
GRUB_CMDLINE_LINUX = «ipv6.disable = 1»
на
GRUB_CMDLINE_LINUX=»ipv6.disable=1″ без пробелов. Иначе в Ruscue Mod требует зайти, и без участия пользователя не загрузится. А если это удаленный сервер, придётся ехать к нему Ответить
Первый метод работает на 20.0.4 ровно до перезагрузки системы. После этого всё возвращается на круги своя. То есть возвращается inet6 Ответить
Мужики а почему пусто в 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 Ответить
Пустым быть не должен. #
# /etc/sysctl.conf — Configuration file for setting system variables
# See /etc/sysctl.d/ for additional system variables.
# See sysctl.conf (5) for information.
# #kernel.domainname = example.com # Uncomment the following to stop low-level messages on console
#kernel.printk = 3 4 1 3 ##############################################################3
# Functions previously found in netbase
# # Uncomment the next two lines to enable Spoof protection (reverse-path filter)
# Turn on Source Address Verification in all interfaces to
# prevent some spoofing attacks
#net.ipv4.conf.default.rp_filter=1
#net.ipv4.conf.all.rp_filter=1 # Uncomment the next line to enable TCP/IP SYN cookies
# See http://lwn.net/Articles/277146/
# Note: This may impact IPv6 TCP sessions too
#net.ipv4.tcp_syncookies=1 # Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1 # Uncomment the next line to enable packet forwarding for IPv6
# Enabling this option disables Stateless Address Autoconfiguration
# based on Router Advertisements for this host
#net.ipv6.conf.all.forwarding=1 ###################################################################
# Additional settings — these settings can improve the network
# security of the host and prevent against some network attacks
# including spoofing attacks and man in the middle attacks through
# redirection. Some network environments, however, require that these
# settings are disabled so review and enable them as needed.
#
# Do not accept ICMP redirects (prevent MITM attacks)
#net.ipv4.conf.all.accept_redirects = 0
#net.ipv6.conf.all.accept_redirects = 0
# _or_
# Accept ICMP redirects only for gateways listed in our default
# gateway list (enabled by default)
# net.ipv4.conf.all.secure_redirects = 1
#
# Do not send ICMP redirects (we are not a router)
#net.ipv4.conf.all.send_redirects = 0
#
# Do not accept IP source route packets (we are not a router)
#net.ipv4.conf.all.accept_source_route = 0
#net.ipv6.conf.all.accept_source_route = 0
#
# Log Martian Packets
#net.ipv4.conf.all.log_martians = 1
#
fs.file-max = 131072
#
vm.swappiness=10
#
vm.vfs_cache_pressure=100
#
#vm.overcommit_ratio = 100
#vm.overcommit_memory = 2
#
vm.overcommit_ratio=80
vm.overcommit_memory=1 Хотя бы так. Скопируй и ниже добавь: net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1 Пробелы лучше убрать! Ответить
Уважаемый!
И чему вы, учите? GRUB_CMDLINE_LINUX = «ipv6.disable = 1» — дичайшая ошибка. После этого система уже нормально не стартанет! Пробелов быть не должно, получилось три разных значения «ipv6.disable», «=», «1». Прописывается вот так — «ipv6.disable=1».
Вот пример: GRUB_CMDLINE_LINUX_DEFAULT=»i8042.reset quiet nosplash debug intel_pstate=disable intel_idle.max_cstate=3 ipv6.disable=1″
Начинающие просто проклянут вас. 🙂 Ответить
Отключить 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
$ 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