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
-
Zapisz plik i zamknij edytor tekstu (w nano: naciśnij
Ctrl+X
, następnieY
iEnter
). -
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
-
Otwórz terminal.
-
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
-
Zapisz plik i zamknij edytor tekstu.
-
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
-
Otwórz terminal.
-
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
-
Zapisz plik i zamknij edytor tekstu.
-
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
-
Otwórz terminal.
-
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
-
Zapisz plik i zamknij edytor tekstu.
-
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:
-
Nie wymaga całkowitego wyłączenia IPv6, co może być przydatne w sieciach, gdzie IPv6 jest niezbędne.
-
Łatwość konfiguracji i minimalne zmiany w systemie.
Wady:
-
Zmiany wpływają tylko na kolejność rozwiązywania nazw, nie na cały stos protokołów sieciowych.
Użycie sysctl
Zalety:
-
Całkowite wyłączenie IPv6 może uprościć diagnostykę problemów sieciowych i wyeliminować konflikty.
Wady:
-
Całkowite wyłączenie IPv6 może powodować problemy w sieciach, gdzie używa się tylko IPv6.
-
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.