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 10/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 10/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. Обидва методи мають свої переваги і недоліки, і вибір залежить від ваших конкретних вимог і умов мережі. Сподіваємося, що цей посібник допоможе вам у налаштуванні вашої системи.