WSL2 Brak dostępu do Internetu; Nie można rozpoznać adresu hosta

WSL2 Brak dostępu do Internetu; Nie można rozpoznać adresu hosta

WSL2 nie może połączyć się z Internetem i znaleźć adresu hosta. Z tego powodu nie możemy uzyskać dostępu do żadnego serwera za pomocą WSL2, co w ogóle mija się z celem instalacji Linuksa. Dlatego w tym poście omówimy, co zrobić, gdy WSL2 wyświetla komunikat Brak dostępu do Internetu i nie jest w stanie rozpoznać adresu hosta.

WSL2 Brak dostępu do Internetu; Nie można rozpoznać adresu hosta

Napraw WSL2 Brak dostępu do Internetu; Nie można rozpoznać adresu hosta

Jeśli WSL2 nie ma dostępu do Internetu i nie jest w stanie rozpoznać adresu hosta, postępuj zgodnie z poniższymi rozwiązaniami.

  1. Sprawdź swoje połączenie internetowe i przepustowość
  2. Uruchom narzędzie do rozwiązywania problemów z siecią i Internetem w systemie Windows
  3. Wyłącz WSL i zresetuj protokoły sieciowe
  4. Sprawdź nazwę hosta i plik hosta
  5. Sprawdź plik resolv.conf

Omówmy je szczegółowo.

1] Sprawdź swoje połączenie internetowe i przepustowość

Przede wszystkim musimy sprawdzić i upewnić się, że z Internetem nie dzieje się nic złego. Skorzystaj w tym celu z jednego z bezpłatnych testerów szybkości Internetu. Jeśli stwierdzisz, że przepustowość jest niska, wyłącz i wyłącz router, a jeśli to nie zadziała, skontaktuj się ze swoim dostawcą usług internetowych i poproś o rozwiązanie problemu.

2] Uruchom narzędzie do rozwiązywania problemów z siecią i Internetem w systemie Windows

Jak uruchomić narzędzie Uzyskaj pomoc dotyczącą rozwiązywania problemów z siecią i Internetem w systemie Windows 11

Jeśli szybkość Internetu nie stanowi problemu, uruchom narzędzie do rozwiązywania problemów z siecią i Internetem w aplikacji Uzyskaj pomoc. Wykryje, co jest nie tak z Twoją siecią, a następnie zaproponuje rozwiązanie. Po rozwiązaniu problemu z siecią możesz spróbować WSL. Powinno teraz działać.

3] Wyłącz WSL i zresetuj protokoły sieciowe

Następnie musimy zamknąć podsystem Windows dla systemu Linux, a następnie zresetować protokoły sieciowe, które mogły być przyczyną tego problemu. Aby to zrobić, możesz uruchomić kolejno następujące polecenia w wierszu poleceń (jako administrator).

wsl --shutdown
netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns

Po zakończeniu sprawdź, czy problem został rozwiązany.

4] Sprawdź nazwę hosta i plik hosta

Musimy upewnić się, że wpis dotyczący Twojego komputera jest wymieniony w pliku hosta wraz z domeną lokalną. Ale najpierw musimy sprawdzić nazwę maszyny. W tym celu otwórz Ustawienia i przejdź do System > Informacje.

Gdy znasz już nazwę komputera, otwórz Wiersz Poleceń i przejdź do WSL. Następnie uruchom następujące polecenie.

nano /etc/hostname

Wpisz nazwę swojej maszyny wielkimi literami, a konkretnie tę, którą otrzymaliśmy wcześniej. Następnie usuń wszelkie informacje inne niż nazwa komputera.

Teraz biegnij.

nano /etc/hosts

Plik hosts powinien zawierać dwa wiersze podobne do tych wymienionych poniżej.

127.0.0.1 localhost.localdomain localhost 127.0.1.1 DESKTOP-SOMETHING

Na koniec zapisz i wyjdź z pliku.

5] Sprawdź plik resolv.conf

System Windows automatycznie generuje plik resolv.conf, ale czasami z nieprawidłowym serwerem nazw. Musimy sprawdzić plik i upewnić się, że serwer nazw jest ustawiony na 8.8.8.8 , czyli publiczny DNS Google, z którego można korzystać bezpłatnie. Aby zrobić to samo, wykonaj kroki podane poniżej.

Przede wszystkim zlokalizuj plik, uruchamiając następujące polecenie.

sudo nano /etc/resolv.conf

Może pojawić się następujący wpis.

# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/resolv.conf
# [network]
# generateResolvConf = false
nameserver xxx.xx.xx

Zaktualizuj wartość serwera nazw do 8.8.8.8 i zapisz plik. Następnie będziesz mógł połączyć się z Internetem. Aby zapobiec resetowaniu tego pliku przez WSL podczas otwierania przyszłych terminali, uruchom następujące polecenia, jeśli jesteś aktualnie podłączony do Internetu.

sudo rm /etc/resolv.conf
sudo bash -c 'echo "nameserver 8.8.8.8"> /etc/resolv.conf'
sudo bash -c 'echo "[network]"> /etc/wsl.conf'
sudo bash -c 'echo "generateResolvConf = false">> /etc/wsl.conf'
sudo chattr +i /etc/resolv.conf

Na koniec sprawdź, czy problem został rozwiązany.

Otóż ​​to!

Jak rozwiązać problemy z Internetem WSL2?

Jeśli masz problemy z Internetem WSL2, przede wszystkim sprawdź, czy Twój komputer-host z systemem Windows ma prawidłowe połączenie z Internetem. możesz to zrobić za pomocą bezpłatnego testera szybkości Internetu. Jeśli nie ma problemu z siecią, uruchom ponownie komputer wraz z routerem. Jeśli nadal napotykasz ten sam problem, zapoznaj się z powyższym przewodnikiem.

Jak naprawić problem z rozpoznaniem hosta?

WSL może nie rozpoznać hosta, jeśli nazwa hosta nie jest zaktualizowana lub jest niepoprawna w pliku /etc/hosts. Aby to naprawić, zaktualizuj nazwę hosta lub nazwę FQDN serwera archiwizacji w pliku /etc/hosts i zapisz zmiany. Po zaktualizowaniu pliku hosts spróbuj ponownie użyć polecenia sudo i powinno działać bez żadnych problemów.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *