Centos 7 отключает ipv6

Обновлено: 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 или Интернет-протокол версии 6 — это последняя версия Интернет-протокола (IP). IPv4 или Интернет-протокол версии 4 уже широко используются. Но у него есть некоторые ограничения. Во-первых, IPv4 имеет 32-битную схему адресации. Это означает, что с IPv4 возможно только 4,3 миллиарда уникальных адресов. Это весьма ограничено в современном мире. В наши дни у нас есть много устройств IoT (Интернет вещей), смартфонов, компьютеров, ноутбуков, серверов, подключенных к Интернету. Каждому из этих устройств нужен IP-адрес для связи с внешним миром. Таким образом, IPv4-адреса не хватает.

Но на момент написания этой статьи поддержка IPv6 недоступна во многих странах. Он даже не поддерживается в моей стране. Несмотря на то, что мир медленно переходит на IPv6, все еще не все является IPv6.

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

В этой статье я покажу вам, как отключить IPv6 в CentOS 7.5. Приступим.

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

Вы можете проверить, включен ли IPv6 в вашей операционной системе CentOS 7.5, с помощью следующей команды:

Как видите, у меня включен IPv6.

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

Отключить IPv6 с помощью параметра ядра

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

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

Сначала отредактируйте файл конфигурации GRUB с помощью следующей команды:

Вы должны увидеть следующее окно.

Сначала нажмите i, чтобы перейти в режим ВСТАВКИ.

Теперь добавьте ipv6.disable=1 перед crashkernel=auto в GRUB_CMDLINE_LINUX, как показано на снимке экрана ниже.

Теперь нажмите и введите :wq! а затем нажмите , чтобы сохранить файл.

Теперь обновите файл конфигурации GRUB с помощью следующей команды:

Конфигурация GRUB должна быть обновлена.

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

Если вы снова запустите следующую команду, вы не увидите никаких результатов.

Отключить IPv6 с помощью файла конфигурации /etc/sysctl.conf

Вы также можете навсегда отключить IPv6 с помощью файла конфигурации /etc/sysctl.conf.

Сначала откройте файл /etc/sysctl.conf с помощью следующей команды:

Теперь добавьте к нему следующие строки:

Теперь сохраните файл и перезагрузите компьютер с помощью следующей команды:

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

Отключить IPv6 определенного сетевого интерфейса

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

Сначала вам нужно найти сетевой интерфейс, который вы хотите отключить, с помощью следующей команды:

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

Допустим, вы хотите отключить IPv6 для интерфейса ens36.

Сначала откройте файл /etc/sysctl.conf с помощью следующей команды:

Теперь добавьте следующую строку в конец файла:

Теперь сохраните файл и перезагрузите компьютер с помощью следующей команды:

Теперь проверьте, отключен ли IPv6 для интерфейса ens36, с помощью следующей команды:

IPv6 должен быть отключен только для интерфейса ens36, как видно из снимка экрана ниже. В выводе нет строки inet6.

Временно отключите IPv6 с помощью команды sysctl

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

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

$ sudo sysctl -w net.ipv6.conf.all.disable_ipv6= 1
$ sudo sysctl -w net.ipv6.conf.default.disable_ipv6= 1

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

Вот как можно навсегда или временно отключить IPv6 в CentOS 7.5. Спасибо, что прочитали эту статью.

Интернет-протокол версии 6 (IPv6) — это идентификатор сетевого интерфейса, который участвует в компьютерной сети IPv6. Если вы не хотите использовать адресацию IPv6, вы можете отключить ее временно или навсегда.

В этой статье вы узнаете несколько способов отключения IPv6 на вашем компьютере с CentOS 8 Linux.

Отключение IPv6 в CentOS 8

Сначала проверьте, включен ли IPv6 на вашем компьютере с CentOS 8, используя следующую команду ip.

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

Отключить IPv6 с помощью команды sysctl

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

Сначала создайте новый файл конфигурации sysctl /etc/sysctl.d/70-ipv6.conf, используя следующую команду.

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

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

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

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

Если команда ничего не возвращает, это означает, что IPv6 отключен на всех ваших сетевых интерфейсах.

При использовании этого метода некоторые сетевые интерфейсы могут по-прежнему использовать IPv6 после перезагрузки системы. Это происходит потому, что CentOS 8 по умолчанию использует Network Manager.

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

Наконец, перезагрузите компьютер с CentOS 8.

Отключить IPv6 с помощью параметра загрузки ядра

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

Чтобы использовать этот метод, откройте файл конфигурации GRUB по умолчанию /etc/default/grub в текстовом редакторе vi, как показано ниже.

Затем перейдите в конец файла и нажмите O, чтобы создать новую строку, и введите следующее.

Далее сохраните и закройте файл конфигурации.

Следующим шагом является обновление файлов GRUB CFG. Введите следующую команду, чтобы найти файлы grub.

Вы увидите два пути к файлам GRUB CFG: /boot/grub2/grub.cfg и /boot/efi/EFI/centos/grub.cfg.

Введите следующую команду, чтобы создать новый файл конфигурации GRUB и сохранить его в /boot/grub2/grub.cfg.

Затем введите следующую команду, чтобы создать новый файл конфигурации GRUB и сохранить его в /boot/efi/EFI/centos/grub.cfg.

Наконец, перезагрузите компьютер с CentOS 8.

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

Если команда ничего не печатает, это означает, что IPv6 отключен.

Обзор

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

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

Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:

TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.

Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.

Мы благодарны за вашу бесконечную поддержку.

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

2 мысли о «Как отключить IPv6 в CentOS 8»

Думаю, правильнее будет sysctl --system , а не sysctl –load /etc/sysctl.d/70-ipv6.conf.

nmcli соединение изменить интерфейс ipv6.метод игнорировать
Ошибка: неизвестный интерфейс соединения.

Выпуск CentOS Linux 8.4.2105

Есть что сказать? Присоединяйтесь к обсуждению. Отменить ответ

Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются данные ваших комментариев.

IPv6 — это 64-битное адресное пространство, которое экспоненциально увеличивает сетевой адрес. Он был представлен, когда стало ясно, что взрывной рост Интернета не может поддерживаться в 32-разрядном адресном пространстве IPv4.

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

В этом руководстве показано, как отключить и включить IPv6 на серверах CentOS 7.

Отключить IPv6

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

Отключить стек IPv6 на всех сетевых интерфейсах.

Отключить IPv6 по умолчанию на всех сетевых интерфейсах.

Включить IPv6

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

Включить стек IPv6 на всех сетевых интерфейсах.

Включить стек IPv6 по умолчанию на всех сетевых интерфейсах.

Отключить назначение адреса IPv6

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

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

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

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

Включить назначение адресов IPv6

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

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

Отключить IPv6 на определенных сетевых интерфейсах

Если вам нужно более точно определить, для каких сетевых интерфейсов включен или отключен IPv6, вы можете указать это в конфигурации net.ipv6.conf. Например, чтобы отключить IPv6 на сетевом интерфейсе nic0, вы должны использовать следующую конфигурацию.

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

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