ZALOGUJ
    opened image

    We współczesnych sieciach coraz częściej używa się IPv6, jednak zdarzają się sytuacje, gdy należy preferować IPv4. W tym artykule omówiono sposoby zmiany priorytetu z IPv6 na IPv4 dla różnych wersji Ubuntu (20.04 i 22.04) oraz CentOS 7. Przedstawimy dwa metody: konfigurację pliku gai.conf oraz użycie parametrów sysctl.

     

    Metoda 1: Zmiana priorytetu przez gai.conf

     

    Plik gai.conf (getaddrinfo configuration) służy do ustawiania preferencji adresów podczas rozwiązywania nazw. Konfiguracja tego pliku pozwoli systemowi preferować adresy IPv4 przed IPv6.

     

    Ubuntu 20.04 i 22.04

    Krok 1: Otwieranie i edytowanie gai.conf

     

    1. Otwórz terminal.

    2. Edytuj plik /etc/gai.conf z uprawnieniami superużytkownika:

     

    sudo vim /etc/gai.conf

     

     

     

    Znajdź linię zawierającą #precedence ::ffff:0:0/96 10. Jeśli jest zakomentowana (zaczyna się od #), usuń symbol # i zmień priorytet na 100, aby ją aktywować i zwiększyć priorytet IPv4:

     

    precedence ::ffff:0:0/96 100

     

     

     

    Krok 2: Zapisanie zmian i restart usług sieciowych

    1. Zapisz plik i zamknij edytor tekstu (w nano: naciśnij Ctrl+X, następnie Y i Enter).

    2. Aby zmiany weszły w życie, zrestartuj usługi sieciowe lub uruchom ponownie system:

     

    systemctl restart systemd-networkd

     

     

     

    Automatyczna zmiana linii przez komendę w konsoli

    Aby automatycznie zmienić linię, użyj następującej komendy:

     

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

     

     

    Ta komenda usunie symbol # i zmieni priorytet na 100, aby system preferował adresy IPv4.

     

    CentOS 7

     

    Krok 1: Otwieranie i edytowanie gai.conf

    1. Otwórz terminal.

    2. Edytuj plik /etc/gai.conf z uprawnieniami superużytkownika:

     

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

     

    Znajdź linię zawierającą #precedence ::ffff:0:0/96 10. Jeśli jest zakomentowana (zaczyna się od #), usuń symbol # i zmień priorytet na 100, aby ją aktywować i zwiększyć priorytet IPv4:

     

    precedence ::ffff:0:0/96 100

     

    Krok 2: Zapisanie zmian i restart usług sieciowych

    1. Zapisz plik i zamknij edytor tekstu.

    2. Zrestartuj usługi sieciowe:

     

    systemctl restart systemd-networkd

     

    Automatyczna zmiana linii przez komendę w konsoli

    Aby automatycznie zmienić linię, użyj następującej komendy:

     

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

     

    Ta komenda usunie symbol # i zmieni priorytet na 100, aby system preferował adresy IPv4.

     

     

    Metoda 2: Użycie sysctl do ustawienia priorytetu IPv4

     

    Użycie parametrów sysctl pozwala zarządzać ustawieniami jądra, co jest przydatne do całkowitego wyłączenia IPv6 lub zmiany jego zachowania na poziomie jądra.

     

    Ubuntu 20.04 i 22.04

     

    Krok 1: Wyłączenie IPv6 przez sysctl

    1. Otwórz terminal.

    2. Edytuj plik /etc/sysctl.conf z uprawnieniami superużytkownika:

     

     

    sudo vim /etc/sysctl.conf

     

    Dodaj następujące linie na końcu pliku, aby wyłączyć IPv6:

     

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

     

     

    Krok 2: Zastosowanie zmian

    1. Zapisz plik i zamknij edytor tekstu.

    2. Zastosuj zmiany za pomocą komendy:

     

    sudo sysctl -p

     

     

    Zrestartuj usługi sieciowe:

     

    Restart systemd-networkd:

     

    sudo systemctl restart systemd-networkd

     

    Restart NetworkManager:

    sudo systemctl restart NetworkManager

     

    CentOS 7

    Krok 1: Wyłączenie IPv6 przez sysctl

    1. Otwórz terminal.

    2. Edytuj plik /etc/sysctl.conf z uprawnieniami superużytkownika:

     

     

    sudo vim /etc/sysctl.conf

     

    Dodaj następujące linie na końcu pliku, aby wyłączyć IPv6:

     

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

     

    Krok 2: Zastosowanie zmian

    1. Zapisz plik i zamknij edytor tekstu.

    2. Zastosuj zmiany za pomocą komendy:

     

     

    sudo sysctl -p

     

     

    Zrestartuj usługi sieciowe:

     

    Restart network:

     

    sudo systemctl restart network

     

    Restart NetworkManager:

     

    sudo systemctl restart NetworkManager

     

    Porównanie metod

     

    Użycie gai.conf

    Zalety:

    1. Nie wymaga całkowitego wyłączenia IPv6, co może być przydatne w sieciach, gdzie IPv6 jest niezbędne.

    2. Łatwość konfiguracji i minimalne zmiany w systemie.

    Wady:

    1. Zmiany wpływają tylko na kolejność rozwiązywania nazw, nie na cały stos protokołów sieciowych.

    Użycie sysctl

    Zalety:

    1. Całkowite wyłączenie IPv6 może uprościć diagnostykę problemów sieciowych i wyeliminować konflikty.

    Wady:

    1. Całkowite wyłączenie IPv6 może powodować problemy w sieciach, gdzie używa się tylko IPv6.

    2. Wymaga restartu usług sieciowych lub systemu, aby zmiany weszły w życie.

     

    Podsumowanie

     

    Zmiana priorytetu z IPv6 na IPv4 w Ubuntu i CentOS może być osiągnięta na kilka sposobów. Użycie pliku gai.conf pozwala zmieniać priorytet adresów podczas rozwiązywania nazw, podczas gdy konfiguracja przez sysctl może całkowicie wyłączyć IPv6, zmuszając system do używania tylko IPv4. Obie metody mają swoje zalety i wady, a wybór zależy od Twoich konkretnych wymagań i warunków sieci. Mamy nadzieję, że to przewodnik pomoże Ci w konfiguracji Twojego systemu.