УВІЙТИ
    opened image

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