Как отключить ipv6 linux

Обновлено: 21.11.2024

В этом руководстве я расскажу о шагах, необходимых для полного отключения IPv6 на вашем сервере Linux. Есть несколько способов выполнить это требование, я поделюсь теми, с которыми я знаком. Обычно мы отключаем IPv6 в сети, но почему-то упускаем возможность обновить это в других зависимых файлах конфигурации, таких как /etc/hosts , файл sshd_config и т. д. Поэтому важно, чтобы вы обновили все зависимые файлы конфигурации, чтобы больше не использовать IPv6.< /p>

Вы также можете прочитать мою предыдущую статью о настройке адреса IPv6 в Linux.

Метод 1: Отключение IPv6 в Linux с помощью grubby (требуется перезагрузка)

В этом примере мы будем использовать команду grubby для обновления загрузочных записей ядра и отключения IPv6. Команда grubby очень удобна для пользователя и может использоваться для автоматизации с помощью скриптов. Мы будем использовать приведенную ниже команду для обновления аргументов ядра ПО УМОЛЧАНИЮ с помощью ipv6.disable=1 . Этот параметр гарантирует, что IPv6 будет отключен при следующей перезагрузке.

Проверьте обновленные записи аргументов ядра в ядре по умолчанию

Ниже приведен фрагмент моего серверного терминала

Отключить IPv6 с помощью GRUBBY

Далее перезагрузите сервер и после перезагрузки проверьте вывод следующей команды

Вы должны получить пустой вывод, что означает, что все модули ipv6 выгружены из ядра

Далее перейдите к последнему разделу этого руководства, чтобы отключить IPv6 в разных файлах конфигурации

Метод 2: Linux отключает IPv6 с помощью конфигурации GRUB2 (требуется перезагрузка)

В этом разделе мы будем использовать конфигурацию GRUB2 для полного отключения IPv6. Вам нужно добавить ipv6.disable=1 в конце строки с GRUB_CMDLINE_LINUX в ​​файле /etc/default/grub. Вы можете использовать sed ниже для этой цели, как я использовал ниже, или вручную открыть файл с помощью любого редактора и добавить:

Теперь проверьте правильность добавления ipv6.disable=1:

Далее перестройте файл конфигурации grub2:

Далее перезагрузите сервер и проверьте вывод приведенной ниже команды

Вы должны получить пустой вывод, что означает, что все модули ipv6 выгружены из ядра

Далее перейдите к последнему разделу этого руководства, чтобы отключить IPv6 в разных файлах конфигурации

Способ 3: Linux отключает IPv6 с помощью sysctl (без перезагрузки)

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

Этот метод может нарушить работу SSH Xforwarding, если только sshd_config не содержит AddressFamily inet. Поэтому, если вы планируете использовать этот метод и также используете XForwarding, настоятельно рекомендуется добавить « AddressFamily inet » в /etc/ssh/sshd_config и перезапустить службу sshd

Прежде чем я начну, вы можете убедиться, что в настоящее время моему интерфейсу eth0 назначен адрес inet6

Доступный адрес inet6

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

Далее вы можете убедиться, что вы не увидите inet6, когда вы перечисляете доступные интерфейсы и их IP-адреса с помощью команды ip a

ipv6 в отключенном состоянии с sysctl

Как видите, интерфейса inet6 для eth0 больше нет.

Поэтому IPv6 отключается без перезагрузки. Но эти изменения не сохраняются при перезагрузке, поэтому, чтобы сделать их постоянными, нам нужно добавить их в файл конфигурации sysctl. Создайте новый файл конфигурации внутри /etc/sysctl.d/ и добавьте строки ниже

В некоторых случаях может потребоваться также добавить net.ipv6.conf. .disable_ipv6 = 1 в этом файле. Замените на все интерфейсы с вашего сервера Linux, например: eth0, eth1 и т.д.

Затем выполните sysctl -p, чтобы обновить конфигурацию (в любом случае, поскольку ранее мы вручную добавили 1 к этим записям, вы можете пропустить этот шаг)

Создайте резервную копию initramfs:

Затем перестройте начальный образ RAM-диска с помощью этой команды, которая может вывести на экран длинный список вывода:

Проверьте содержимое initramfs, чтобы убедиться, что недавно добавленный файл конфигурации sysctl является частью initramfs

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

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

4. Post Action — отключить IPv6 в файлах конфигурации Linux

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

4.1: В /etc/hosts

Закомментируйте все IPv6-адреса, найденные в /etc/hosts, включая ::1 адрес localhost

4.2: В /etc/ssh/sshd_config

Как сообщалось ранее, если проблемы с переадресацией X возникают в системах с отключенным IPv6, отредактируйте файл /etc/ssh/sshd_config и внесите одно из следующих изменений:
Измените строку

и перезапустите службу sshd

4.3: В Postfix (/etc/postfix/main.cf)

Если вы используете postfix, вам также следует внести эти изменения в файл /etc/postfix/main.cf, закомментировать локальную часть конфигурации и использовать петлю ipv4.

Перезапустить службу postfix

4.4: В файле /etc/ntp.conf

Если вы используете устаревший ntp.conf для синхронизации локального времени с NTP-сервером, прокомментируйте строку, относящуюся к IPV6, в /etc/ntp.conf

Следующий перезапуск службы ntpd

4.5: В /etc/netconfig

Чтобы отключить RPCBIND ipv6 (rpcbind, rpc.mountd, prc.statd), заметьте строки udp6 и tcp6 в /etc/netconfig:

Вам не нужно перезапускать какую-либо службу, и изменения повлияют на время выполнения.

4.6: В хронологии

Если вы используете chrony вместо NTP для синхронизации локального сервера с часовым поясом сети, то для отключения службы chronyd на сокете upd6 создайте файл /etc/sysconfig/chronyd с помощью любого текстового редактора со строкой ниже:

Перезапустить службу хронид

Вы можете проверить то же самое, используя netstat для получения списка процессов chronyd, прослушивающих udp6

Заключение

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

Ссылки

Похожие записи

Не нашли то, что искали? Выполните быстрый поиск в GoLinuxCloud

Если мои статьи о GoLinuxCloud помогли вам, пожалуйста, купите мне кофе в знак признательности.

Для любых других отзывов или вопросов вы можете использовать раздел комментариев или форму обратной связи.

Спасибо за поддержку!!

4 мысли о «Linux правильно отключает IPv6 (с перезагрузкой или без нее)»

На самом деле это не выводится в файл. Просто отображает модификацию

Должно быть что-то похожее на

Спасибо, что обратили на это внимание, я пропустил аргумент -i для внесения изменений в файл. Я обновил команду

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

Вопрос. Я заметил, что одно из моих приложений пытается установить соединение по протоколу IPv6. Но поскольку наша локальная сеть не может маршрутизировать трафик IPv6, время ожидания соединения IPv6 истекает, и приложение возвращается к IPv4, что вызывает ненужную задержку. Поскольку в настоящее время мне не нужен IPv6, я хотел бы отключить IPv6 на своем компьютере с Linux. Как правильно отключить IPv6 в Linux?

IPv6 был введен в качестве замены IPv4, традиционного 32-разрядного адресного пространства, используемого в Интернете, чтобы решить проблему неминуемого исчерпания доступного адресного пространства IPv4. Однако, поскольку IPv4 используется каждым хостом или устройством, подключенным к Интернету, практически невозможно переключить каждый из них на IPv6 за одну ночь. Многочисленные механизмы перехода с IPv4 на IPv6 (например, двойной стек IP, туннелирование, прокси) были предложены для облегчения принятия IPv6, и многие приложения, как мы говорим, переписываются, чтобы добавить поддержку IPv6. Одно можно сказать наверняка: IPv4 и IPv6 неизбежно будут сосуществовать в обозримом будущем.

В идеале текущий процесс перехода на IPv6 не должен быть виден конечным пользователям, но смешанная среда IPv4/IPv6 может иногда вызывать различные сбои, возникающие из-за непреднамеренного взаимодействия между IPv4 и IPv6. Например, вы можете столкнуться с тайм-аутами из-за того, что такие приложения, как apt-get или ssh, пытаются безуспешно подключиться через IPv6, DNS-сервер случайно удаляет записи DNS AAAA для IPv6, или ваше устройство с поддержкой IPv6 не совместимо с устаревшей сетью IPv4 вашего интернет-провайдера и т. д.

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

Вот несколько методов, позволяющих частично (например, для определенного сетевого интерфейса) или полностью отключить IPv6 в Linux. Эти советы применимы ко всем основным дистрибутивам Linux, включая Ubuntu, Debian, Linux Mint, CentOS, Fedora, RHEL и Arch Linux.

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

Все современные дистрибутивы Linux по умолчанию автоматически включают IPv6. Чтобы увидеть, что IPv6 активирован в вашем Linux, используйте команды ifconfig или ip. Если вы видите inet6 в выводе этих команд, это означает, что в вашем Linux включен IPv6.

Временно отключить IPv6

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

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

Например, чтобы отключить IPv6 для интерфейса eth0:

Чтобы снова включить IPv6 на интерфейсе eth0:

Если вы хотите отключить IPv6 для всей системы для всех интерфейсов, включая петлевой интерфейс, используйте эту команду:

Постоянно отключать IPv6 при перезагрузке

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

Первый метод

Первый способ заключается в постоянном применении вышеуказанных изменений /proc в файле /etc/sysctl.conf. То есть откройте /etc/sysctl.conf в текстовом редакторе и добавьте следующие строки.

Чтобы активировать эти изменения в /etc/sysctl.conf, выполните:

Или просто перезагрузите компьютер.

Метод второй

Альтернативный способ навсегда отключить IPv6 — передать необходимый параметр ядра через GRUB/GRUB2 во время загрузки.

Откройте /etc/default/grub в текстовом редакторе и добавьте ipv6.disable=1 в переменную GRUB_CMDLINE_LINUX.

В приведенном выше примере xxxxx обозначает любые существующие параметры ядра. Добавьте после них ipv6.disable=1.

Наконец, не забудьте применить измененные настройки GRUB/GRUB2, запустив:

В Debian, Ubuntu или Linux Mint:

В Fedora, CentOS/RHEL:

Теперь IPv6 будет полностью отключен после перезагрузки системы Linux.

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

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

1. /etc/хосты

В зависимости от ваших настроек файл /etc/hosts может содержать один или несколько хостов IPv6 и их адреса. Откройте файл /etc/hosts в текстовом редакторе и закомментируйте все строки, содержащие хосты IPv6.

2. Менеджер сети

Если вы используете Network Manager для управления настройками сети, вы можете отключить IPv6 в Network Manager следующим образом. В Network Manager откройте проводное соединение, для которого вы хотите отключить IPv6, перейдите на вкладку «Настройки IPv6» и выберите «Игнорировать» в поле «Метод». Сохраните изменения и выйдите.

3. SSH-сервер

По умолчанию сервер OpenSSH ( sshd ) пытается выполнить привязку к адресам IPv4 и IPv6. Чтобы заставить sshd привязываться только к адресу IPv4, откройте /etc/ssh/sshd_config в текстовом редакторе и добавьте следующую строку. inet предназначен только для IPv4, а inet6 — только для IPv6.

И перезапустите сервер sshd.

Поддержка Xmodulo

Этот веб-сайт стал возможен благодаря минимальной рекламе и вашему любезному пожертвованию через PayPal (кредитная карта) или биткойн ( 1M161JGAkz3oaHNvTiPFjNYkeABox8rb4g ).

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.

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

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

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

Бесплатно обновите свой компьютер до Windows 10 версии 21H2 (обновление за ноябрь 2021 г.)

Руководство по безопасности и конфиденциальности Windows 10 для обеспечения безопасности вашего устройства и данных, 2022 г.

Лучшее бесплатное приложение-сканер для устройств iPhone в 2022 году

3 основные причины, по которым вам нужен VPN для вашего Mac в 2022 году!

Уведомления Outlook не работают на Android и iPhone [решено]

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

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

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

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