Отключить ipv6 centos 8

Обновлено: 04.07.2024

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

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

Глобальное отключение через ядро

Быстрый и правильный способ для глобального отключения ipv6.

Открываем следующий файл:

И добавляем в него следующее:

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

Перезапускаем сетевую службу:

systemctl restart network

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

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

systemctl restart network

Через GRUB

На самом деле, для большинства случаев будет достаточно вариантов, описанных выше. Для полной картины, опишем еще один способ.

Открываем на редактирование конфигурационный файл загрузчика:

Допишем следующую строчку:

GRUB_CMDLINE_LINUX="ipv6.disable=1 crashkernel=auto rhgb quiet"

grub2-mkconfig -o /boot/grub2/grub.cfg

Для проверки, перезагрузим CentOS:

Опции IPV6INIT и IPV6_AUTOCONF

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

Однако, ни в CentOS 7, ни в других современных дистрибутивах Linux данные опции не дают ожидаемого результата.

На самом деле, опция работает, но для нее нужно сконфигурировать некоторые модули ядра (modprobe):

options ipv6 disable=1
alias net-pf-10 off
alias ipv6 off
install ipv6 /bin/true

Отключить IPv6 в файле network:

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

Отключение в yum

При желании отключить запросы по IPv6 только в менеджере пакетов yum, открываем файл:


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

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

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

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


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

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

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


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

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


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



Теперь IPv6 отключен.

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


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

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

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

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

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

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

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

Далее сохраните и выйдите из файла конфигурации:

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

Вы увидите 2 пути к файлам 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 на RHEL/CentOS 8.

Поверка включен ли IPv6 в вашей системе

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

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

Поверка включен ли IPv6 в вашей системе

Поверка включен ли IPv6 в вашей системе

Следующий шаг который мы сделаем это отключим IPv6. Есть два способа сделать это:

1) Отключение IPv6 на CentOS 8 с помощью опции загрузки ядра

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

Первое что надо сделать это открыть файл конфигурации GRUB, как показано на рисунке:

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

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

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

Теперь сохраните и выйдите из файла.

Чтобы изменения вступили в силу, потребуется обновить конфигурационные файлы GRUB. Но для начала нам нужно знать, где находятся файл GRUB. Для этого выполните команду:

Поиск расположения конфигурационных файлов grub

Поиск расположения конфигурационных файлов grub

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

$ sudo grub2-mkconfig -o / boot / grub2 / grub. cfg

Обновление конфигурационного файла grub

Обновление конфигурационного файла grub

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

$ sudo grub2-mkconfig -o / boot /efi/EFI / centos/grub2. cfg

Создание нового конфигурационного файла grub

Создание нового конфигурационного файла grub

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

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

IPv6 отключен

IPv6 отключен

2) Отключение IPv6 с помощью утилиты sysctl

sysctl это утилита, предназначенная для управления параметрами ядра на лету. Позволяет читать и изменять параметры ядра.

Мы рассмотрели один из способов отключения IPv6 на CentOS 8. Следующий метод заключается в использовании sysctl утилиты. После такого отключения перезагрузка системы не требуется. Это очень полезно тем кто выключает IPv6 на сервере, работу которого остановить нельзя.

Первое что требуется сделать это создать новый конфигурационный файл:

$ sudo vim /etc/sysctl. d / 70-ipv6. conf

Затем добавьте эти строки в файл.

net. ipv6. conf. all. disable_ipv6 = 1

net. ipv6.conf. default. disable_ipv6 = 1

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

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

Сохраните и закройте файл конфигурации. Прежде чем отключить протокол IPv6, давайте сначала проверим, каково значение команды net.ipv6.conf.default.disable_ipv6.

Вы должны получить значение 0.

systcl значение 0 при проверке IPv6

systcl значение 0 при проверке IPv6

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

Теперь проверьте значение sysctl еще раз. Уверен что вы получите значение 1, а это указывает на то что ipv6 был выключен.

systcl выдал значение 1

systcl выдал значение 1

Вывод

Хотя IPv6 предназначен для того чтоб заменить IPv4, но по сей день большинство систем используют IPV4. На самом деле, по данным Google, уровень внедрения IPv6 составляет всего 20%. И пройдет довольно много времени, прежде чем в мире закончатся адреса IPv4.

Надеюсь у вас получилось отключить IPv6 на CentOS 8. Если возникли вопросы или хотите отблагодарить автора. Пишите комментарии.

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

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

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

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


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

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

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

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


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


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

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


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

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

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

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

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

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

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

Затем сохраните и выйдите из файла конфигурации.

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

Вы увидите 2 пути к файлам 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 является временным, вариант загрузки ядра является постоянным и является лучшим методом.

date

29.10.2020

directory

CentOS, Linux

comments

комментария 3

В данной статье мы рассмотрим способы настройки сети в системах Linux CentOS 7/8, покажем, как настраивать сетевых интерфейсов через конфигурационные файлы, основные утилиты для настройки сети и многое другое. Это актуальная тема, так как изначально настройка любого сервера начинается с настройки на нем сети.

В статье мы покажем особенности настройки сети в CentOS 7 с помощью стандартного сервиса network. Посмотрим, как использовать для настройки сети NetworkManager (NM), который предлагается по-умолчанию в CentOS 8.

Именование сетевых интерфейсов в CentOS

Классическая схема именования сетевых интерфейсов в Linux присваивает имена eth0, eth1 и так далее по порядку. Но эти имена не привязываются жестко к интерфейсам и после перезагрузки при наличии нескольких сетевых интерфейсов, эти имена могут поменяться. Это может доставлять некоторые проблемы, при настройке, например, межсетевого экрана через firewalld или iptables. В связи с этим начиная с RedHat 7 и CentOS 7, решено было назначать имена сетевых интерфейсов на основе иерархии различных схем именования. По умолчанию systemd будет поочередно применять схемы именования, остановившись на первой доступной и применимой. Имена присваиваются в автоматическом режиме, остаются неизменными даже если аппаратные средства добавлены или изменены. С другой стороны, такие имена интерфейсов менее читабельны, например, enp5s0 или ens3, чем традиционные eth0 и eth1.

Можно вернуться к стандартному имени интерфейса Linux с помощью следующих действий.

Отредактируйте файл /etc/default/grub:

В строку GRUB_CMDLINE_LINUX нужно добавить:

Пример полной строки:

Обновите конфигурацию grub:

Переименуйте конфигурационный файл сетевого интерфейса:

И заменить значение DEVICE:

изменить имя сетевого интерфейса в centos eth0

Сохраните файл, перезагрузите сервер и проверьте все ли в порядке:

ip a - centos

Интерфейс теперь называется eth0.

Первоначальная настройка сети при установке CentOS

Изначально при установке CentOS Linux, вы можете настроить сетевой интерфейс в графическом режиме в пункте меню “Network & Hostname”. В данном пункте вы указываете имя сервера, добавляете нужный IP адрес и шлюз, DNS и многое другое. Более подробную настройку на данном шаге, вы можете посмотреть в статье по ссылке выше.

Ручная настройка конфигурационного файла сетевого интерфейса в CentOS

Выведем список доступных сетевых интерфейсов в системе:

Файлы конфигурации сети вашего сервера хранятся в каталоге /etc/sysconfig/network-scripts. Эти файлы создает демон NetworkManager для каждого сетевого интерфейса. В нашем случае файл конфигурации называется ifcfg-eth0 (у вас может отличаться в зависимости от схемы именования сетевого интерфейса).

Рассмотрим основные параметры:

Исходя из этой информации, настроим сетевой интерфейс.

Настройка статического IP адреса в CentOS

Откроем файл для редактирования:

ручная настройка параметров сети в centos через файл /etc/sysconfig/network-scripts

В этом примере я указал статический IP адрес, маску подсети, шлюз и несколько DNS серверов. Включаем автозапуск интерфейса:

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

Также можно просто перезапустить все профили подключений :

Получение динамического IP адреса для интерфейса через DHCP

Если ваш сервер должен получить IP адрес от DHCP севера, откройте конфигурационный файл интерфейса и измените настройки:

BOOTPROTO=”dhcp” - настройка полуения динамического ip адреса для сетевого интерфейса

То есть мы убрали все настройки, связанные с IP-адресами и маской, а так же поменяли способ назначения IP-адреcа на dhcp (BOOTPROTO=”dhcp”). После всех изменений, не забываем выполнять перезагрузку network.

Как отключить IPv6 в CentOS?

На время написания статьи активного использования ipv6 в России нет, да и зачастую если таковая возможность имеется, администраторы предпочитают протокол ipv4. Поэтому если вы все же не используете данный протокол, его нужно отключить на сервере. Если вы точно уверены, что ни один из сервисов не настроен под работу с ipv6, можете сразу перейти к настройке сетевого интерфейса, если же нет, то начните с проверки. Нам нужно проверить, какие сервисы используют ipv6 и отключить данный протокол в конфигурации сервиса. Запустим команду:

в netstat показывается ipv6 адрес, как полностью отключить на сервере centos

У меня сервер тестовый, поэтому ipv6 используется только для sshd и cronyd. Это можно определить по “. ”.

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

И раскомментируйте строки:

После чего перезапустите сервис:

netstat только ipv4 без ipv6

Как видим, для sshd протокол ipv6 теперь недоступен. Проделайте аналогичные настройки со всеми сервисами.

Перейдем к отключению протокола ipv6 в настройках сети. Откройте файл /etc/sysctl.conf:

Сохраните файл и примените через:

Перейдем к файлу /etc/sysconfig/network. Добавьте в него следующую конфигурацию:

отключить IPV6INIT=no

Из файла конфигурации сетевого интерфейса /etc/sysconfig/network-scripts/ifcfg-eth0 удалите строку:

И наконец добавим запрет на работу ipv6 в grub:

В конец строки GRUB_CMDLINE_LINUX, добавляем:

centos отключить ipv6 в grub

После всех настроек, сохраните файл и обновите grub:

Выполните перезагрузку сервера и проверьте конфигурацию сети:

Протокол ipv6 на сервере отключен.

Как указать DNS сервера для сетевого интерфейса в CentOS?

Настроить DNS-сервера для вашего сервера, вы можете с помощью файла /etc/resolv.conf или указать их в настройках сетевого интерфейса. При настройке static конфигурации для сетевого интерфейса, мы уже указывали DNS-сервера, через параметры:

Установите нужные вам DNS-сервера и перезагрузите сервис network.

В файл /etc/resolv.conf, DNS-сервера прописываются автоматически при перезагрузке сервера, забирая их с файла конфигурации сети. Если же вы не указали DNS-сервера при настройке сети, пропишите их вручную в файл /etc/resolv.conf:

Как настроить несколько IP адресов на одном сетевом интерфейсе CentOS?

Если вам нужно использовать несколько IP-адресов на одном сетевом интерфейсе, настройку можно выполнить через алиас интерфейса или же добавив дополнительный IP-адрес в основной файл конфигурации.

И измените его следующим образом:

IPADDR1 — первый IP-адрес

IPADDR2 — второй IP-адрес

GATEWAY — основной шлюз

Либо создайте alias к вашему основному файлу конфигурации:

И добавьте несколько строк, без основного шлюза:

несколько ip на одном интерфейсе в centos

После всех настроек нужно выполнить перезапуск сети:

В Windows тоже можно настроить несколько IP адресов (алиасов) на одном интерфейсе.

Настройка VLAN (802.1Q) в CentOS

Подробнее о настройке нескольких VLAN для одного сетевого интерфейса в CentOS мы говорили в статье: Настройка VLAN на сетевом интерфейсе в CentOS.

Настройка нескольких сетевых интерфейсов в CentOS

Если у вас на сервере несколько сетевых интерфейсов, для них можно указать разные IP-адреса. Разберемся как это сделать. Если у вас на сервере более одного сетевого интерфейса, команда “ip a” должна отобразить эту информацию:

Чтобы сконфигурировать второй интерфейс, нужно создать для него файл:

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

настройка дополнительного сетевого интерфейса в linux centos

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

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

netstat - проверка шлюза по умолчанию

Если вы хотите, чтобы данная настройка сохранилась после перезагрузки сервера, добавьте эти команды в rc.local (см. статью об автозагрузке сервисов в CentOS).

Полезные команды по работе с сетью в CentOS

Утилиты администрирования сети в CentOS

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

После установки, можно воспользоваться утилитой ifconfig:

Как видим, имя нашего сетевого интерфейса eth0.

Без установки пакета net-tools, вы можете проверить ваши интерфейсы с помощью следующей команды:

Результат будет практически тот же:

ip a - проверка состояния сетевого интерфейса centos

Управление сетью с помощью NetworkManager в CentOS 8

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

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

systemctl status NetworkManager.service

В CentOS предлагается использовать для настройки сети командную консоль nmcli или графическую утилиту nmtui.

Чтобы перейти в режим настройк сети, введите команду:

nmtui - утилита настройки сети в centos

При выборе первого пункта, у вас откроется окно с выбором сетевого интерфейса для редактирования:

настроить ens3 итерфейса на сервере centos

Выбираем нужный нам интерфейс и редактируем:

настройка ip адреса, шлюза и dns для сетевого интерфейса в centos

Нам доступно редактирование имени, IP-адреса, Шлюза, DNS-серверов. Так же в интерактивном меню NM, мы можем изменить способ назначения IP адреса, на DHCP:

nmtui - способ получения ipv4 адреса manual/automatic

Замените “manual” на “automatic”:

настройка dhcp для интерфейса в network manager

После чего сохраните настройки. С помощью nmtui в графическом режиме, вы можете выполнить любые настройки, которые выполняете вручную через конфигурационные файлы. Если вы предпочитаете использовать командную строку для настройки интерфейсов, можете использовать nmcli. Например, следующие команды изменят IP адрес, щлюз и DNS сервера для интерефейса eth1.

Для применения изменений, перезагрузите интерфейс:

Если же вам удобнее работать с файлами конфигурации, установите через yum отдельный пакет network-scripts (в CentOS 8 по умолчанию его нет):

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

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