opened image

Zmiana priorytetu z IPv6 na IPv4 w Ubuntu i CentOS: Kompletny przewodnik

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.