Ubuntu 14 отключить ipv6

Обновлено: 05.07.2024

OS: "Linux Debian 6/7/8/9", "Linux Ubuntu 14/16/18 LTS", "Linux Fedora 23/24/25".

Задача: отключить на уровне операционной системы поддержку неприменимого в заданной сетевой конфигурации протокола IPv6.

Не будем здесь о светлом будущем, когда IPv6 повсеместно вытеснит IPv4. На практике ни в одной из сетей, где я работал в течении последних десяти лет (с 2008 по 2018 годы), IPv6 не поддерживался даже на уровне коммутирующего оборудования. В то же время настройки "по умолчанию" Linux-сервисов всё более пронизываются трендом перехода на IPv6, до той степени, что приходится дополнительно тратить время, настраивая нюансы их работы ещё и для протокола, который в производственных условиях не может быть использован за рамками "локальной петли".

Из соображений экономии времени и снижения риска путаницы при конфигурирования сети отключаем невостребованный протокол IPv6.

Отключение IPv6 параметром загрузчика "Grub2".

Элементарно дополняем строку опций загрузки ядра системы параметром выключения IPv6:

Даём команду пересобрать действующую конфигурацию загрузчика, в "Debian/Ubuntu":

В "Fedora/CentOS/RHEL" команда обновления действующей конфигурации иная, но результат идентичный:

Таким образом я отключал IPv6 на серверах примерно до 2016-го.

Отключение IPv6 посредством "sysctl".

С 2017-го я предпочитаю деактивировать IPv6 следующим способом, без вмешательства в конфигурацию загрузчика операционной системы - безопаснее.

Создаём файл с параметрами конфигурации для ядра системы и перечисляем там флаги выключения IPм6 для всех действующих интерфейсов, всех будущих и, для подстраховки, явно для интерфейса "локальной петли":

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Применяем заготовленный набор параметров:

В "Linux Ubuntu v18" обнаружился забавный "баг", выражающийся в несвоевременной загрузке параметров "sysctl", отчего вышеприведённая конфигурация перекрывается другими подсистемами. Проще всего это обходится дополнительно принудительной установкой необходимых параметров уже после загрузки системного окружения:

Дополнительная зачистка упоминаний об IPv6.

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

В частности, в обязательном порядке деактивируем сопоставления IPv6-адреса и символического имени "локальной петли" в файле локальных сопоставлений IP-адресов и FQDN:

Проверка успешности выключения IPv6.

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

Вывод сведений о текущей конфигурации имеющихся сетевых интерфейсов:

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

[ уже посетило: 1406 ] [ интересно! / нет ]


Поблагодарить автора ( сделайте свой денежный вклад в хорошее настроение )

Протокол IPv6 - это новая технология, которая предоставляет намного большее адресное пространство IP адресов, более высокую безопасность и скорость работы. Но это все в идеале. IPv6 нарушает обратную совместимость с IPv4 и сейчас в большинстве случаев используется старый протокол. Мы уже очень подробно рассматривали чем отличается IPv6 от IPv4, поэтому не будем повторять все еще раз.

Поскольку на данный момент IPv6 используется достаточно редко, этот протокол полностью поддерживается далеко не всем оборудованием. Если IPv6 не поддерживается вашим роутером или провайдером, то это замедлит работу сети, дольше будут определяться доменные имена сайтов и будет выполняться попытка получения IPv6 адреса, что тоже приведет к задержке. В этой небольшой заметке мы рассмотрим как отключить IPv6 в Ubuntu или других совместимых дистрибутивах.

Проверка поддержки IPv6

Все современные дистрибутивы поддерживают IPv6 без исключений. Но чтобы убедиться что ваша локальная машина получила ipv6 адрес вы можете выполнить команду:

ipv6

Если вы увидите привычный ответ о времени доставки пакетов, то значит все работает, но если 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

Вы можете также пойти другим путем и записать все эти значения в файл настройки, чтобы они применялись по умолчанию при старте системы:

sudo vi /etc/sysctl.conf

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 адреса:

ipv62

Способ 2. Отключить ipv6 в Grub

Вы также можете отключить IPv6 отредактировав параметры загрузки ядра в Grub. Для этого откройте файл /etc/default/grub и добавьте туда такую строку:

sudo vi /etc/default/grub

GRUB_CMDLINE_LINUX = "ipv6.disable = 1"

ipv61

Если переменная GRUB_CMDLINE_LINUX уже существует то вы можете добавить это значение в конец строки к другим параметрам. После завершения сохраните изменения и обновите конфигурацию Grub с помощью команды:

После перезагрузки отключение ipv6 Ubuntu 16.04 будет завершено и ваша сеть станет работать быстрее.

Выводы

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

В интернете можно встретить ряд свидетельств того, что при включенной по умолчанию в Squid3 поддержке IPv6 и при этом ненастроенных и неиспользуемых интерфейсах IPv6 можно столкнуться с разнообразными проблемами. В этой заметке мы рассмотрим то, как можно отключить на Ubuntu Server 14.04 LTS поддержку IPv6, а также выполним пересборку пакета Squid3, чтобы отбить у Squid желание использовать IPv6.

Отключаем IPv6 в Ubuntu Server

Убедимся в том, что в системе действительно присутствуют ipv6 интерфейсы:

Также можно увидеть, что некоторые приложения вывешивают TCP прослушиватели на интерфейсах IPv6. Посмотреть все прослушиваемые в системе порты можно командой:

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

В конец файла добавляем строку:

Для проверки того, что наша опция сможет быть прочитана sysctl во время загрузки выполним:

Перезагружаем сервер и снова проверяем список интерфейсов, где inet6 интерфейсов уже не должно остаться

Пересобираем пакет Squid3

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

В домашнем каталоге пользователя (он же текущий каталог) появятся новые файлы

А именно в секции DEB_CONFIGURE_EXTRA_FLAGS добавить следующую строку:

Соответственно указанная секция примет следующий вид:

Операция займёт продолжительное время и после её завершения в каталоге верхнего уровня появятся deb-пакеты:

Отключаем обновление пакетов.

Если используется автоматическое обновление пакетов, то при желании дополнительно можно исключить возможность обновления для пересобранных нами пакетов и тех пакетов, рабочие файлы которых мы модифицировали в процессе нашего описания.
Посмотрим какие пакеты были установлены вручную а какие автоматически (как зависимости):

Добавим на удержание (запрет обновления) интересующие нас пакеты:

Проверим полный список поставленных на удержание пакетов:

На этом мы завершим серию заметок по настройке прокси-сервера Squid 3.3 на Ubuntu Server 14.04 LTS. В конечном итоге мы получили решение представляющее бесплатную альтернативу Forefront TMG в части базовой функциональности прямого прокси (forward proxy) с поддержкой аутентификации и авторизации пользователей в домене Active Directory.

Как отключить IPv6 в Debian / Ubuntu

Вы ищете способ отключить IPv6 в Debian / Ubuntu? В этой статье я расскажу вам, как именно это сделать и почему вам стоит рассмотреть этот вариант. Я также покажу вам, как отключить или снова включить IPv6, если вы передумаете.

Что такое IPv6 и почему вы хотите отключить IPv6 в Debian / Ubuntu?

Хотя цель состоит в том, чтобы заменить IPv4 на IPv6, предстоит пройти еще долгий путь. Менее 30% сайтов в Интернете предоставляют пользователям возможность подключения по протоколу IPv6. IPv6 также может время от времени вызывать проблемы с некоторыми приложениями.

Поскольку VPN предоставляют глобальные услуги, тот факт, что IPv6 использует адреса с глобальной маршрутизацией (однозначно назначенные) и что есть (все еще) интернет-провайдеры, которые не предлагают поддержку IPv6, смещает эту функцию вниз в их списке приоритетов. Таким образом, они могут сосредоточиться на самом важном для пользователей VPN: безопасности.

В то же время настройки основных сетевых правил недостаточно. Вы должны уделять настройке 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 с помощью этой команды:

Вы должны увидеть IPv6-адрес, если он включен (имя вашей интернет-карты может быть другим):

Как отключить IPv6 в Debian / Ubuntu

Вы видели команду sysctl в учебнике по перезапуску сети в Ubuntu . Мы собираемся использовать его и здесь. Чтобы отключить IPv6, вам нужно ввести всего 3 команды:

Вы можете проверить, сработало ли это, используя:

Вы не должны увидеть записи IPv6:

Как отключить IPv6 в Debian / Ubuntu

Однако это только временно отключает IPv6 . При следующей загрузке системы IPv6 снова будет включен.

Я буду использовать vim для редактирования файла, но вы можете использовать любой редактор, который вам нравится. Убедитесь, что у вас есть права администратора (используйте sudo ):

Как отключить IPv6 в Debian / Ubuntu

Добавьте в файл следующие строки:

Чтобы настройки вступили в силу, используйте:

Выглядит это так:

Все параметры будут записны в /etc/sysctl.conf

Если IPv6 все еще включен после перезагрузки, вы должны создать (с правами root) файл /etc/rc.local и заполнить его:

Теперь используйте команду chmod, чтобы сделать файл исполняемым:

Это будет вручную читать (во время загрузки) параметры ядра из вашего файла конфигурации sysctl.

2. Отключите IPv6 с помощью GRUB.

Как отключить IPv6 в Debian / Ubuntu

Теперь вам нужно изменить GRUB_CMDLINE_LINUX_DEFAULT и GRUB_CMDLINE_LINUX, чтобы отключить IPv6 при загрузке:

Сохраните файл и запустите команду update-grub:

Теперь настройки должны сохраняться при перезагрузке.

Повторное включение IPv6 в Debian / Ubuntu

Чтобы снова включить IPv6, вам придется отменить внесенные вами изменения. Чтобы включить IPv6 до перезагрузки, введите:

В противном случае, если вы изменили /etc/sysctl.conf, вы можете либо удалить добавленные вами строки, либо изменить их на:

При желании вы можете перезагрузить эти значения:

Вы должны снова увидеть IPv6-адрес:

Как отключить IPv6 в Debian / Ubuntu

При желании вы можете удалить /etc/rc.local :

Если вы изменили параметры ядра в / etc / default / grub , удалите добавленные параметры:

А теперь сделайте:

Заключение

В этом руководстве я предоставил вам способы отключения IPv6 в Linux, а также дал вам представление о том, что такое IPv6 и почему вы хотели бы его отключить.

Вам помогла данная статья? Получилось отключить IPv6 в ОС Линукс? Дайте нам знать в комментариях!


Мануал

IPv6 был разработан Целевой группой Internet Engineering Task Force (IETF) для решения долгожданной проблемы исчерпания адреса IPv4.

IPv6 предназначен для замены IPv4.

IPv6 является относительно новым и иногда зависит от того, как он настроен, он может вести себя плохо.

Каждому устройству в Интернете присваивается IP-адрес для определения идентификации и определения местоположения.

С быстрым ростом Интернета после коммерциализации в 1990-х годах стало очевидным, что для подключения новых устройств в будущем необходимо гораздо больше адресов, чем адресное пространство IPv4.

Эти два протокола не предназначены для взаимодействия, что усложняет переход на IPv6.

Однако было разработано несколько механизмов перехода IPv6 для обеспечения связи между хостами IPv4 и IPv6.

IPv6 предоставляет другие технические преимущества в дополнение к большему пространству адресации.

В частности, он позволяет использовать иерархические методы распределения адресов, которые облегчают объединение маршрутов через Интернет и тем самым ограничивают расширение таблиц маршрутизации.

Использование многоадресной адресации расширяется и упрощается и обеспечивает дополнительную оптимизацию доставки услуг.

При разработке протокола были рассмотрены аспекты мобильности, безопасности и конфигурации устройств.

Адреса IPv6 представлены как восемь групп из четырех шестнадцатеричных цифр, причем группы разделяются двоеточиями, например, 2001: 0db8: 85a3: 0042: 1000: 8a2e: 0370: 7334, но существуют методы сокращения этой полной нотации.

Однако он еще не получил широкой поддержки, и его принятие все еще продолжается.

Поддерживает ли ваша система IPv6?

Чтобы настроить работу IPv6, вам нужна операционная система, поддерживающая IPv6.

Ubuntu, Debian, Linux Mint и самые современные дистрибутивы делают это.

Вы можете проверить вывод ifconfig, чтобы узнать, работает ли IPv6 и назначен ли он сетевым интерфейсам:

Проверьте строку inet6 addr

Затем вам понадобится маршрутизатор / модем, который также поддерживает IPv6.

И кроме того, ваш интернет-провайдер должен также поддерживать IPv6.

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

Существует множество веб-сайтов, которые тестируют поддержку IPv6 в вашем соединении.

Параметры ядра, которые разрешают IPv6, следующие:

То же самое можно проверить и из файлов proc

Обратите внимание, что переменные disabling управляют IPv6.

Поэтому установка их на 1 приведет к отключению IPv6

Отключить IPv6, если он не поддерживается

Поэтому, если IPv6 не поддерживается в вашей сетевой инфраструктуре, может быть полезно отключить все это вместе. Зачем ?

Это может вызвать такие проблемы, как замедленный поиск в домене, нежелательные попытки подключения к IPv6-адресам, вызывающие задержку в подключении к сети и т. д.

Я столкнулся с такими проблемами.

Команда apt-get иногда пытается подключиться к IPv6-адресам и терпит неудачу, а затем повторяет адрес ipv4. \

Взгляните на этот результат

Ошибки, подобные тем, были более частыми в последних версиях Ubuntu, вероятно, потому, что они пытались использовать IPv6 больше, чем раньше.

Я заметил, что подобные проблемы возникают в других приложениях, таких как Hexchat, а также Google Chrome, которые иногда занимают больше времени, чем обычно, для поиска имени домена.

Поэтому лучшим решением является полностью отключить IPv6, чтобы избавиться от этих вещей.

Он требует лишь небольшой конфигурации и может помочь вам решить многие проблемы с сетью в вашей системе.

Пользователи даже сообщили об увеличении скорости интернета.

И заполните следующие строки в конце этого файла

Сохраните файл и закройте его.

Перезапустите sysctl с помощью :

Проверьте вывод ifconfig еще раз и не должно быть адреса ipv6

Если это не работает, попробуйте перезагрузить систему и снова проверьте ifconfig.

IPv6 также можно отключить, отредактировав файл конфигурации grub

Найдите строку, содержащую GRUB_CMDLINE_LINUX, и отредактируйте ее следующим образом

То же самое можно добавить к значению переменной с именем GRUB_CMDLINE_LINUX_DEFAULT, и все будет работать.

Сохраните файл, закройте его и восстановите конфигурацию grub

Теперь IPv6 должен быть отключен.

Найти в файле конфигурации getaddrinfo (3); то есть /etc/gai.conf и раскомментировать строку, чтобы предпочесть IPv4 по протоколу IPv6.

Найдите эту строку и не комментируйте ее:

Чтобы это выглядело так

Сохраните и выйдите из файла.

Перезагрузитесь, и вы все настроили как IPv4.

Это лучший способ, когда вы хотите включить IPv6, но предпочитаете IPv4 для поиска DNS или такого.

Вывод

Отключение IPv6 может вызвать проблемы.

Если ваше подключение к Интернету и маршрутизатор уже перенесены на IPv6, вы потеряете возможность правильно его использовать.

Весь мир движется к IPv6, хотя это происходит слишком медленно.

Однако вы не увидите повышения скорости от привязки к IPv4, если не возникнут серьезные проблемы с сетью вашего интернет-провайдера или вашей домашней сетью.

Мораль заключается в том, что если вы заметили, что IPv6 нуждается в исправлении, исправьте его сегодня, а не отложите до завтра.

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

Список исправлений выше представляет собой лишь небольшую выборку потенциальных проблем.

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

Используйте сетевое проступок как возможность узнать и улучшить состояние межсетевого взаимодействия IPv6 и противостоять любым соблазнам отключить протокол.

Читайте также: