Debian 10 отключает ipv6

Обновлено: 04.07.2024

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

Проверьте, поддерживает ли ваша система ipv6?

Для работы IPv6 нужно -

<р>1. ОС, поддерживающая IPv6. Ubuntu и большинство современных Linux делают это.
2. Ваше сетевое оборудование (маршрутизатор/модем) должно поддерживать IPv6. Так делают многие хорошие бренды.
3. Ваш интернет-провайдер также должен поддерживать IPv6. Это то, чего нет везде!

Проверьте вывод команды ifconfig, чтобы увидеть строку "inet6 addr".

Проблемы, если ipv6 не поддерживается

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

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

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

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

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

Способ 1 – отключить IPv6 из sysctl

Первый способ отключить IPv6 — изменить параметры уровня ядра через интерфейс sysctl.
Параметры ядра, которые включают ipv6, следующие

Обратите внимание, что переменные управляют «отключением» ipv6. Таким образом, установка их в 1 отключит ipv6.
Редактируйте файл - /etc/sysctl.conf

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

Сохраните файл и закройте его. Перезапустите sysctl с помощью

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

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

Способ 2: отключить ipv6 из GRUB

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

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

То же самое можно добавить к значению переменной с именем "GRUB_CMDLINE_LINUX_DEFAULT", и любой из них будет работать. Сохраните файл, закройте его и заново создайте конфигурацию grub

Перезагрузить. Теперь ipv6 должен быть отключен.

Технический энтузиаст, блоггер, поклонник Linux и разработчик программного обеспечения. Пишет о компьютерном оборудовании, Linux и программном обеспечении с открытым исходным кодом, а также о программировании на Python, Php и Javascript. С ним можно связаться по адресу [email protected] .

13 мыслей на тему «Как отключить IPv6 в Ubuntu, Linux Mint, Debian»

Спасибо! Исправлена ​​моя проблема с сетью. Внезапно у Mint 18 возникла проблема с сетью. Большинство сайтов в Firefox не будут работать. Когда я проверил, IP-адрес был адресом IPV6, а не IPV4, как я ожидал. Добавил свои строки и все хорошо.

В Mint 18 нет gedit. Редактор по умолчанию — Xed. Да, я нуб, и мне пришлось использовать Google, чтобы понять это.

Спасибо за объяснение! Даже спустя 4 года это все еще помогает.

Спасибо за комментарий.
рад, что ваша проблема с сетью была решена.

Также для отключения его из ядра Linux.
Найдите, установлен ли он, lsmod выведет список модулей:

Удалите его с помощью rmmode:

Спасибо. Я супер нуб, и это первое, что я прочитал и применил в Linux, и это действительно работало без проблем.

Привет.
В Linux Mint 17.2 или 17.3, когда я пытаюсь использовать метод GRUB, я получаю сообщение об ошибке после попытки обновить GRUB !! Я следую приведенным выше инструкциям и изменяю переменные в файле конфигурации, а затем «сохраняю» изменения. Но когда я использую:

sudo update-grub
затем я получил сообщение об ошибке!!

Я пытаюсь выполнить sudo update-grub2,
но он недоступен !! Вы уверены, что это grub2, а не grub? Я думаю, что это просто жратва

Я пытаюсь выяснить это, просто набрав терминал:

чтобы узнать, что выводится. Затем я получил сообщение о том, что «grub не установлен» и приказал мне использовать:

sudo apt-get установить grub

Пожалуйста, ответьте.

Отключение IPv6 помогло мне решить проблему медленной загрузки всех сайтов Google.

Достаточно просто net.ipv6.conf.all.disable_ipv6 = 1
Это автоматически подразумевает net.ipv6.conf.*.disable_ipv6 = 1

Спасибо за указание.

Отредактируйте /etc/gai.conf и раскомментируйте строку, чтобы предпочесть ipv4 вместо ipv6.

Как правильно с этим справиться?

Извините, но как сохранить файл? xD я имею в виду, мне жаль, что я пытаюсь научиться .. У меня есть Mint 17 cinammon

Это не работает для меня. $ sudo gedit /etc/default/grub. Не распознает $ sudo.Я использую Mint 17 KDE. Я смог запустить команду, чтобы заметить, что у меня работает ipv6; но мой провайдер и модем не работают. Как отключить его в KDE?

не используйте знак доллара ($), он просто указывает на приглашение терминала
вводите от «sudo…» и далее

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

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

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

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

Нетворкинг: обязательно к прочтению

У меня было несколько случаев, когда связь между настольным компьютером Linux и маршрутизатором ATT UVERSE постоянно прерывалась, и отключение IPv6 было единственным решением, которое сработало. Через некоторое время я снова включал IPv6, чтобы посмотреть, решило ли проблему обновление прошивки маршрутизатора (и обновление ОС настольного компьютера); в некоторых случаях это решало проблему, и IPv6 мог оставаться включенным, хотя в других случаях IPv6 приходилось снова отключать.

Я покажу вам, как отключить IPv6 на компьютере с Linux. (Примечание: я рекомендую отключать IPv6 только тогда, когда вы исчерпали все другие варианты. Кроме того, вы должны рассматривать это как временное решение.)

Командная строка

Как вы уже догадались, мы будем работать с командной строкой. Я покажу вам, как отключить IPv6 в дистрибутивах на основе Red Hat и Debian.

Вот как отключить протокол в системе на базе Red Hat:

  1. Откройте окно терминала.
  2. Сменить пользователя root.
  3. Введите команду sysctl -w net.ipv6.conf.all.disable_ipv6=1
  4. Введите команду sysctl -w net.ipv6.conf.default.disable_ipv6=1

Чтобы снова включить IPv6, введите следующие команды:

sysctl -w net.ipv6.conf.all.disable_ipv6=0

sysctl -w net.ipv6.conf.default.disable_ipv6=0

Вот как отключить протокол на компьютере под управлением Debian.

<р>1. Откройте окно терминала.

<р>2. Введите команду sudo nano /etc/sysctl.conf

<р>3. Добавьте следующее в конец файла:

<р>4. Сохраните и закройте файл.

<р>5. Перезагрузите машину.

Чтобы повторно включить IPv6, удалите приведенные выше строки из /etc/sysctl.conf и перезагрузите компьютер.

Предупреждения

Если вы используете Postfix, у вас могут возникнуть проблемы с запуском службы. Чтобы это исправить, вам придется использовать петлю IPv4. Откройте файл /etc/postfix/main.cf, закомментируйте строку localhost и добавьте петлю IPv4 следующим образом:

Несовершенное решение

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

если я ввожу sysctl net.ipv6.conf.all.disable_ipv6=1 из командной строки после запуска системы, я получаю нужный результат — IPv6 действительно отключен.

Теперь о проблеме сохранения этого поведения после перезагрузки.

Легко найти предложения, как это сделать, обычно они заключаются в том, чтобы указать net.ipv6.conf.all.disable_ipv6=1 в файле в каталоге /etc/sysctl.d/ или в файле конфигурации для sysctl, а именно /etc/sysctl.conf . Другие упомянутые подходы включают добавление

Я пробовал все это, они не работают. ifconfig ясно показывает, что IPv6 включен для интерфейса. Опять же, если я просто выполню sysctl вручную после загрузки, он отключит его, как и ожидалось.

sysctl -p ничего не делает для меня, работает только запись команды дословно, как указано выше.

Я также пытался поместить команду sysctl в /etc/rc.local , и я знаю, что она работает правильно, наблюдая за другими командами, которые я могу туда поместить. Однако, несмотря на выполнение, похоже, что это не вступает в силу.

Я также пробовал другие команды вместо all.disable_ipv6 , такие как default.disable_ipv6 и enp0s3.disable_ipv6 (я убедился, что enp0s3 действительно является моим интерфейсом Ethernet).

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

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

Предупреждение. Вы отключаете IPv6. Убедитесь, что вы тщательно задокументировали это для любых других администраторов, которые могут попытаться управлять этой системой (включая вас в будущем), поскольку это гарантированно на 100% вернется, чтобы укусить вас в какой-то момент.

3 ответа 3

Долгое время системный администратор Debian управлял сотнями виртуальных машин Debian, и я могу заверить вас, что настройки sysctl+kernel для отключения IPv6 более чем достаточны, чтобы убить его навсегда.

Ваша проблема здесь, в вашем сценарии, заключается в том, что недостаточно отредактировать /etc/default/grub , чтобы параметры были применены к ядру.

Вы также должны сделать:

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

Кстати, вы можете проверить, какие параметры были переданы вашему ядру во время выполнения:

Кроме того, как правильно указывает @schweik, после того, как вам удастся убить IPv6, вы можете пересмотреть конфигурацию нескольких демонов, которые скомпилированы/имеют определенную конфигурацию конфигурации для IPv6. Следите за сообщениями об ошибках и/или журналами ошибок, связанных с IPv6, при загрузке системы.

PS Также имейте в виду, что в архитектуре Arm или MIPS у вас часто нет grub, и вам нужно редактировать другой файл из /etc/default/grub. Однако я предполагаю, что если вы его редактируете, у вас есть grub.

пожалуйста, какой механизм виртуальной машины вы используете? При использовании KVM-Qemu я заметил много ошибок при отключении IPv6 в Debian 9, работающем в качестве гостевой виртуальной машины. Могу я начать с этого обычный вопрос?

@schweik Корпоративное использование в основном VMWare (ESX) Enterprise, немного ESXi, Parallels и VMWare Fusion на моем Mac, немного Hyper V, kvm и AWS тут и там, Xen в прошлом, несколько тестов с bhyve, даже VirtualBox . Я нахожу HyperV и VirtualBox глючными.

Возможно, вам придется искать GRUB_CMDLINE_LINUX_DEFAULT во всех файлах конфигурации в разделе /etc/default.

На моем сервере Ubuntu 18.04.1 LTS есть файл /etc/default/grub И файл /etc/default/grub.d/50-curtain-settings. cfg файл. Последний перезаписал переменную GRUB_CMDLINE_LINUX_DEFAULT, которая поддерживала активность ipv6.

После редактирования последнего файла я запустил update-grub и перезагрузился. IPv6 успешно отключен.

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

Что ж, если вы отключите IPv6 в /etc/sysctl.conf или где-то еще в начале системы, некоторые службы, настроенные на использование IPv6 (а их много), могут снова включить его. Отключение IPv6 после того, как система полностью загружена и настроена, лучше утверждает вашу волю. Но если вы после этого изменения измените свое сетевое соединение (например, смените Wi-Fi на провод), IPv6 может появиться снова. Подозреваемой службой является NetworkManager, поэтому я останавливаю эту службу (в основном на серверах) или отключаю ее (вы также можете настроить каждое соединение для игнорирования IPv6 — я не нашел для этого глобального отключения). Есть и другие конфигурации, где тоже необходимо отключить IPv6: в /etc/ssh/sshd_config добавить строку AddressFamily inet, закомментировать всю строку с IPv6 в /etc/hosts, в /etc/samba/smb.conf указать IPv4 адрес явно (interfaces = 192.168.43.11) не имя интерфейса и не имя домена. И так далее. Если запрашивается адрес DHCP, используйте: dhclient -4 eth0 , что заставляет запрашивать IPv4 даже самоназначение IPv6.

Хорошей практикой является просмотр прослушиваемых портов с помощью netstat -lptun (или ss -lptun ) и обращение к справочным страницам процесса, использующего IPv6-адрес, как его отключить. В некоторых случаях вы не можете победить (например, dns-сервер всегда слушает IPv6), но обычно вы можете найти способ.

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

IP-адрес — это адрес интернет-протокола, необходимый для связи между двумя сетевыми устройствами, например, между вашим ПК и маршрутизатором, коммутатором. В настоящее время большинство устройств используют IPv4, а IPV6 — это самая последняя версия интернет-протокола (IP), предназначенная для устранения давно ожидаемой проблемы исчерпания адресов IPv4. если у вас возникли проблемы с сетью на серверах или настольных компьютерах Linux, и вы исчерпали все возможные области, вы можете попробовать отключить IPv6 сетевого протокола. Это было бы полезно. Здесь, в этом посте, мы рассмотрим шаги по отключению отключения ipv6 в Linux.

Проверка включения IPv6

Начнем с Терминала. Откройте терминал и выполните приведенную ниже команду

cat /proc/sys/net/ipv6/conf/all/disable_ipv6

Если указанная выше команда возвращает значение 0, значит, в настоящее время в вашей системе активен протокол IPv6. В случае, если он возвращает 1, он уже отключен.

Отключить IPv6 в Linux

  1. Откройте окно терминала. (нажав Ctrl + Alt + T или Ctrl + Shift + T)
  2. Сменить пользователя root. (Введите SU или попробуйте sudo -s вместо команды su)
  3. Введите команду sysctl -w net.ipv6.conf.all.disable_ipv6=1
  4. Введите команду sysctl -w net.ipv6.conf.default.disable_ipv6=1

Повторно включить IPv6 в Linux

sysctl -w net.ipv6.conf.all.disable_ipv6=0

sysctl -w net.ipv6.conf.default.disable_ipv6=0

Вот и все, вы успешно отключили IPV6 в Linux.

Вот еще один способ отключить IPV6 в Linux/Ubuntu

Шаг 01. Откройте терминал

Шаг 02. Введите gksudo gedit /etc/sysctl.conf и откройте файл конфигурации

Шаг 03: добавьте в конец следующие строки

Шаг 04. После этого запустите $ cat /proc/sys/net/ipv6/conf/all/disable_ipv6

Если он сообщает «1», это означает, что вы отключили IPV6. Если он сообщает «0», выполните шаги 4 и 5.

Шаг 05: Введите команду sudo sysctl -p, вы увидите это в терминале.

Шаг 06. Повторите описанный выше «Шаг 4», и теперь он будет сообщать 1.


сообщить об этом объявлении

Основная боковая панель

Как восстановить поврежденные файлы с USB-накопителя?

Как обновить Windows 10 без потери данных и приложений (сбросить настройки по умолчанию)

Как исправить заблокированный диск, на котором установлена ​​Windows?

Использовать iCloud в Linux

Использование Apple iCloud в Linux: пошаговое руководство 2022

Как управлять паролями с помощью доступа к связке ключей iCloud (mac и iOS)


сообщить об этом объявлении

Авторское право © 2022 · ВЕБ-САЙТ РАЗРАБОТАН И УПРАВЛЯЕТСЯ ZCOMTECH

ПАРТНЕРСКАЯ ИНФОРМАЦИЯ. Некоторые ссылки на продукты на этом веб-сайте являются партнерскими ссылками. Это просто означает, что без каких-либо дополнительных затрат для вас мы будем получать комиссию, если вы перейдете по ссылке и купите какой-либо продукт.

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