ERR_ADDRESS_UNREACHABLE: co oznacza i jak naprawić
ERR_ADDRESS_UNREACHABLE oznacza, że Twoje urządzenie albo sieć nie ma w ogóle trasy do adresu docelowego, więc próba połączenia nie wychodzi w sposób, który mógłby dotrzeć do celu. To niemal zawsze problem na poziomie sieci, nie coś złego z samą witryną.
Co oznacza ERR_ADDRESS_UNREACHABLE
Zanim jakikolwiek handshake TCP może się zacząć, system operacyjny musi wiedzieć, jak wytrasować pakiet w stronę docelowego adresu IP. ERR_ADDRESS_UNREACHABLE pojawia się, gdy nie ma użytecznej trasy: lokalna tablica trasowania nie ma niczego pasującego, brama, która powinna przekazać pakiet, jest niedostępna, albo sam adres nie jest czymś, do czego bieżąca sieć w ogóle może dotrzeć. Różni się to od timeoutu, gdzie trasa istnieje i pakiet zostaje wysłany, ale nic nie odpowiada; tutaj system operacyjny odmawia nawet wysłania pakietu, bo nie ma dokąd go wysłać.
Decyzje o trasowaniu zapadają lokalnie, na urządzeniu albo pierwszym routerze, przez który przechodzi ruch, zanim pakiet w ogóle dotrze do szerszego internetu. To sprawia, że ten błąd różni się w praktyce od większości innych w tej rodzinie: awarię da się poznać z góry, patrząc wyłącznie na tablicę trasowania, bez potrzeby czegokolwiek wysyłać ani czekać na odpowiedź, co też tłumaczy, dlaczego pojawia się szybciej niż timeout.
Jak pojawia się błąd
Chrome pokazuje "This site can't be reached ... ERR_ADDRESS_UNREACHABLE", często szybciej niż przy timeoucie, bo nie ma żadnego oczekiwania, awaria jest natychmiastowa. Z linii poleceń ten sam warunek widać wyraźnie:
curl -v https://192.168.1.50/
* Trying 192.168.1.50:443...
* connect to 192.168.1.50 port 443 failed: No route to host
curl: (7) Failed to connect to 192.168.1.50 port 443: No route to host
"No route to host" to komunikat systemu operacyjnego leżący u podstaw ERR_ADDRESS_UNREACHABLE; ping produkuje tę samą klasę awarii wobec adresu bez ważnej ścieżki.
Co powoduje ERR_ADDRESS_UNREACHABLE
- Adres to prywatne IP w sieci lokalnej, odpytywane spoza tej sieci. Adres taki jak
192.168.x.xalbo10.x.x.xma znaczenie tylko w sieci lokalnej, do której należy; dotarcie do niego z publicznego internetu nigdy się nie uda. - Router albo brama są niedostępne. Jeśli urządzenie odpowiedzialne za przekazywanie ruchu w stronę celu jest offline, wszystko za nim staje się jednocześnie nieosiągalne.
- Gdzieś jest skonfigurowany zły adres IP. Nieaktualny rekord DNS, zaszyty na sztywno adres IP w pliku hosts albo literówka w ręcznie wpisanym adresie mogą wskazywać na coś, co nigdy nie było osiągalne.
- IPv6 jest włączone bez rzeczywistej łączności IPv6. Urządzenie albo sieć, które mają przypisany adres IPv6, ale bez działającej ścieżki do szerszego internetu IPv6, zawodzą w ten sposób dla każdego celu rozwiązywanego przez rekord AAAA.
- Tablica trasowania VPN wyklucza cel. Niektóre konfiguracje VPN trasują przez tunel tylko konkretne podsieci, a adres spoza tego zakresu, albo taki, który wymaga tunelu, ale nie jest przez niego trasowany, staje się nieosiągalny w trakcie połączenia.
Jak rozpoznać, kto zawinił
W zdecydowanej większości przypadków ten błąd to problem Twojego własnego urządzenia albo sieci, a nie serwera docelowego, bo oznacza, że Twoja strona nigdy nie znalazła ścieżki, którą mogłaby wysłać żądanie. Jeśli adres to zwykła publiczna domena, nie prywatne IP, przetestuj ten sam adres z innej sieci albo urządzenia. Jeśli łączy się tam, ale nie w Twojej oryginalnej sieci, problem trasowania jest lokalny. Kontrola HTTP uruchomiona spoza Twojej własnej sieci to najszybszy sposób, żeby potwierdzić, że sam cel jest osiągalny z szerszego internetu.
Jak naprawić ERR_ADDRESS_UNREACHABLE
Jeśli jesteś odwiedzającym
- Sprawdź, czy adres to prywatne IP. Cokolwiek zaczynające się od
192.168.,10.albo172.16.do172.31.działa wyłącznie z wnętrza tej konkretnej sieci lokalnej; generalnie nie da się do niego dotrzeć skądinąd bez VPN do tej sieci. - Zrestartuj router, żeby wykluczyć zawieszoną albo uszkodzoną lokalną tablicę trasowania.
- Rozłącz się z dowolnym aktywnym VPN i spróbuj ponownie; VPN z niekompletną albo źle skonfigurowaną tablicą trasowania to częsta przyczyna właśnie tego błędu.
- Wyłącz tymczasowo IPv6 w ustawieniach karty sieciowej, jeśli witryna ma zarówno adres IPv4, jak i IPv6; to wymusza połączenie po IPv4 i wyklucza zepsutą ścieżkę IPv6.
- Potwierdź sam adres, sprawdzając literówkę albo starą notatkę, która może zawierać wewnętrzne IP zamiast publicznej nazwy domeny.
Jeśli prowadzisz witrynę
- Sprawdź rekordy DNS A i AAAA dla domeny i potwierdź, że wskazują na żywy, publicznie osiągalny adres IP, a nie na zakres prywatny albo wycofany serwer.
- Potwierdź, że brama i trasowanie dostawcy hostingu są sprawne, korzystając z jego strony statusu albo kanału wsparcia, jeśli adres jest poprawny, ale wciąż nieosiągalny z wielu zewnętrznych sieci.
- Usuń albo popraw dowolny nieaktualny rekord IPv6 (AAAA), jeśli łączność IPv6 do serwera nie jest faktycznie skonfigurowana od końca do końca; rekord AAAA bez działającej za nim ścieżki IPv6 kieruje klientów preferujących IPv6 w ślepy zaułek.
Jak zapobiec ERR_ADDRESS_UNREACHABLE
Rekord DNS, który po cichu zaczyna wskazywać na prywatny albo wycofany adres, rzadko wywołuje alarm na samym serwerze, bo serwer w ogóle nie widzi nieudanego żądania. Ciągłe monitorowanie HTTP i DNS rozwiązuje domenę i łączy się z nią spoza sieci według harmonogramu, wyłapując problem trasowania albo rekordu, zanim dotknie prawdziwych odwiedzających, i wysyła alerty e-mailem, SMS-em, połączeniem głosowym, przez Slack, Telegram i inne kanały.
Powiązane błędy
- ERR_CONNECTION_TIMED_OUT oznacza, że trasa istnieje i pakiet został wysłany, ale nic nie odpowiedziało.
- ERR_NAME_NOT_RESOLVED oznacza, że sam DNS zawiódł, zanim mogła się zacząć jakakolwiek próba połączenia.
- This site can't be reached obejmuje cały zestaw błędów połączenia, które Chrome grupuje pod jednym nagłówkiem.
Najczęściej zadawane pytania
Czy ERR_ADDRESS_UNREACHABLE to to samo co niedziałająca witryna?
Zwykle nie. Najczęściej wskazuje na problem trasowania w Twojej własnej sieci albo urządzeniu, zwłaszcza gdy adres to prywatne IP albo zaangażowane jest IPv6, a nie na to, że serwer docelowy jest wyłączony.
Dlaczego widzę ten błąd tylko w niektórych sieciach Wi-Fi?
Różne sieci mają różne tablice trasowania i konfiguracje VPN. Trasa, która działa w Twojej domowej sieci, może nie istnieć w sieci firmowej albo publicznej, zwłaszcza dla adresów wewnętrznych.
Czy zapora może spowodować ERR_ADDRESS_UNREACHABLE?
Pośrednio. Większość zapór blokujących ruch produkuje zamiast tego timeout albo odrzucone połączenie, ale zapora albo router, który całkowicie wycofuje trasę, zamiast filtrować ruch na niej, może wyprodukować ten błąd.
Jaka jest różnica między tym a ERR_CONNECTION_TIMED_OUT?
ERR_ADDRESS_UNREACHABLE oznacza, że w ogóle nie istnieje trasa do celu, więc nic nie jest wysyłane. ERR_CONNECTION_TIMED_OUT oznacza, że trasa istnieje, pakiet został wysłany, a oczekiwanie po prostu minęło bez odpowiedzi.
Czy zdarza się to przy zwykłych publicznych witrynach?
Może się zdarzyć, najczęściej przez zepsutą ścieżkę IPv6 albo rekord DNS rozwiązujący się do adresu bez ważnej trasy, ale zdecydowanie częściej dotyczy adresu prywatnego albo wewnętrznego odpytywanego z niewłaściwej sieci.
Jak sprawdzić, czy adres jest prywatny?
Spójrz na pierwszą część adresu IP: 10.0.0.0 do 10.255.255.255, 172.16.0.0 do 172.31.255.255 i 192.168.0.0 do 192.168.255.255 są zarezerwowane dla sieci prywatnych i nigdy nie są osiągalne z publicznego internetu, niezależnie od tego, jak skonfigurowane jest trasowanie.