opened image

Изменение приоритета с IPv6 на IPv4 в Ubuntu и CentOS: Полное руководство

​​​​​​​

 

В современных сетях все чаще используется IPv6, однако, бывают случаи, когда требуется отдавать предпочтение IPv4. В этой статье рассмотрены способы изменения приоритета с IPv6 на IPv4 для различных версий Ubuntu (20.04 и 22.04) и CentOS 7. Мы рассмотрим два метода: настройка файла gai.conf и использование параметров sysctl.

 

Метод 1: Изменение приоритета через gai.conf

 

Файл gai.conf (getaddrinfo configuration) используется для настройки предпочтений адресов при разрешении имен. Настройка этого файла позволит системе предпочитать IPv4-адреса перед IPv6.

 

Ubuntu 20.04 и 22.04

Шаг 1: Открытие и редактирование gai.conf

 

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

2. Отредактируйте файл /etc/gai.conf с правами суперпользователя:

 

sudo vim /etc/gai.conf

 

 

 

Найдите строку, содержащую #precedence ::ffff:0:0/96 10. Если она закомментирована (начинается с #), удалите символ # и измените приоритетный вес на 100, чтобы активировать ее и повысить приоритет IPv4:

 

precedence ::ffff:0:0/96  100

 

 

 

Шаг 2: Сохранение изменений и перезагрузка сетевых служб

  1. Сохраните файл и закройте текстовый редактор (в nano: нажмите Ctrl+X, затем Y и Enter).

  2. Чтобы изменения вступили в силу, перезапустите сетевые службы или перезагрузите систему:

 

systemctl restart systemd-networkd

 

 

 

Автоматическое изменение строки через команду в консоли

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

 

sudo sed -i 's/^#precedence ::ffff:0:0\/96  100/precedence ::ffff:0:0\/96 100/' /etc/gai.conf

 

 

Эта команда уберет символ # и изменит приоритетный вес на 100, чтобы система предпочитала IPv4-адреса.

 

CentOS 7

 

Шаг 1: Открытие и редактирование gai.conf

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

  2. Отредактируйте файл /etc/gai.conf с правами суперпользователя:

 

​​​​​​​sudo vim /etc/gai.conf

 

Найдите строку, содержащую #precedence ::ffff:0:0/96 10. Если она закомментирована (начинается с #), удалите символ # и измените приоритетный вес на 100, чтобы активировать ее и повысить приоритет IPv4:

 

precedence ::ffff:0:0/96 100

 

Шаг 2: Сохранение изменений и перезагрузка сетевых служб

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

  2. Перезапустите сетевые службы:

 

systemctl restart systemd-networkd

 

Автоматическое изменение строки через команду в консоли

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

 

sudo sed -i 's/^#precedence ::ffff:0:0\/96  100/precedence ::ffff:0:0\/96 100/' /etc/gai.conf

 

Эта команда уберет символ # и изменит приоритетный вес на 100, чтобы система предпочитала IPv4-адреса.

 

 

Метод 2: Использование sysctl для настройки приоритета IPv4

 

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

 

Ubuntu 20.04 и 22.04

 

Шаг 1: Отключение IPv6 через sysctl

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

  2. Отредактируйте файл /etc/sysctl.conf с правами суперпользователя:

 

 

sudo vim /etc/sysctl.conf

 

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

 

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

 

 

Шаг 2: Применение изменений

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

  2. Примените изменения с помощью команды:

 

sudo sysctl -p

 

 

Перезапустите сетевые службы:

 

Перезапуск systemd-networkd:

 

sudo systemctl restart systemd-networkd

 

Перезапуск NetworkManager:

sudo systemctl restart NetworkManager

 

CentOS 7

Шаг 1: Отключение IPv6 через sysctl

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

  2. Отредактируйте файл /etc/sysctl.conf с правами суперпользователя:

 

 

sudo vim /etc/sysctl.conf

 

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

 

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

 

Шаг 2: Применение изменений

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

  2. Примените изменения с помощью команды:

 

 

sudo sysctl -p

 

 

Перезапустите сетевые службы:

 

Перезапуск network:

 

sudo systemctl restart network

 

Перезапуск NetworkManager:

 

sudo systemctl restart NetworkManager

 

Сравнение методов

 

Использование gai.conf

Преимущества:

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

  2. Простота настройки и минимальные изменения в системе.

Недостатки:

  1. Изменения влияют только на порядок разрешения имен, не на весь стек сетевых протоколов.

Использование sysctl

Преимущества:

  1. Полное отключение IPv6 может упростить диагностику сетевых проблем и устранить конфликты.

Недостатки:

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

  2. Требуется перезагрузка сетевых служб или системы для вступления изменений в силу.

 

Заключение

 

Изменение приоритета с IPv6 на IPv4 в Ubuntu и CentOS может быть достигнуто несколькими способами. Использование файла gai.conf позволяет изменять приоритет адресов при разрешении имен, тогда как настройка через sysctl может полностью отключить IPv6, принуждая систему использовать только IPv4. Оба метода имеют свои преимущества и недостатки, и выбор зависит от ваших конкретных требований и условий сети. Надеемся, что это руководство поможет вам в настройке вашей системы.