Přejít na hlavní obsah

Návody / Opravte to: návody na chyby, se kterými se lidé skutečně setkávají

ERR_ADDRESS_UNREACHABLE: co to znamená a jak to opravit

ERR_ADDRESS_UNREACHABLE znamená, že vaše zařízení nebo síť nemá k cílové adrese vůbec žádnou cestu, takže pokus o spojení neodejde způsobem, který by se mohl k cíli dostat. Skoro vždy jde o problém na úrovni sítě, ne o chybu na samotném webu.

Co znamená ERR_ADDRESS_UNREACHABLE

Než může začít jakýkoli TCP handshake, musí operační systém vědět, jak nasměrovat paket k cílové IP adrese. ERR_ADDRESS_UNREACHABLE nastane, když neexistuje použitelná cesta: lokální směrovací tabulka neobsahuje nic odpovídajícího, brána, která má paket předat dál, je nedostupná, nebo samotná adresa vůbec není taková, na kterou aktuální síť dosáhne. To se liší od timeoutu, kde cesta existuje a paket se odešle, ale nic neodpoví; tady operační systém odmítne paket vůbec poslat, protože nemá kam.

Rozhodnutí o směrování se dějí lokálně, na zařízení nebo prvním routeru, kterým provoz prochází, ještě předtím, než se paket vůbec dostane do širšího internetu. Právě to dělá tuhle chybu v praxi jinou než většinu ostatních v této rodině: selhání je předem známé jen ze směrovací tabulky, bez nutnosti cokoli poslat nebo čekat na odpověď, což je taky důvod, proč se obvykle objeví rychleji než timeout.

Jak se chyba projevuje

Chrome zobrazí "This site can't be reached ... ERR_ADDRESS_UNREACHABLE," často rychleji než u timeoutu, protože nedochází k žádnému čekání, selhání je okamžité. Z příkazové řádky se stejný stav projeví jasně:

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" je základní zpráva operačního systému skrytá za ERR_ADDRESS_UNREACHABLE; ping vyprodukuje proti adrese bez platné cesty stejnou třídu selhání.

Co způsobuje ERR_ADDRESS_UNREACHABLE

  • Adresa je soukromá nebo lokální IP přistupovaná zvenčí té sítě. Adresa jako 192.168.x.x nebo 10.x.x.x má smysl jen v lokální síti, ke které patří; dosáhnout na ni z veřejného internetu nikdy nepůjde.
  • Router nebo brána je nedostupná. Pokud je zařízení odpovědné za předávání provozu k cíli nedostupné, stane se nedostupné naráz všechno za ním.
  • Někde je nastavena špatná IP adresa. Zastaralý DNS záznam, napevno zadaná IP v souboru hosts, nebo překlep v ručně zadané adrese, to všechno může mířit na něco, co nikdy dostupné nebylo.
  • IPv6 je zapnuté bez skutečné konektivity IPv6. Zařízení nebo síť, které mají přiřazenou adresu IPv6, ale žádnou funkční cestu do širšího internetu IPv6, selžou tímto způsobem u každého cíle přeloženého přes AAAA.
  • Směrovací tabulka VPN cíl vylučuje. Některé konfigurace VPN směrují tunelem jen konkrétní podsítě, a adresa mimo tento rozsah, nebo taková, která tunel potřebuje, ale není jím směrovaná, je při připojení nedostupná.

Jak zjistit, čí je to chyba

Tahle chyba je ve valné většině případů problémem vašeho vlastního zařízení nebo sítě, ne cílového serveru, protože znamená, že vaše strana nikdy nenašla cestu, kudy požadavek poslat. Pokud je adresa běžná veřejná doména, ne soukromá IP, otestujte stejnou adresu z jiné sítě nebo zařízení. Pokud se tam připojí, ale na vaší původní síti ne, je problém se směrováním lokální. HTTP kontrola spuštěná mimo vaši vlastní síť je nejrychlejší způsob, jak potvrdit, že je cíl dostupný ze širšího internetu.

Jak opravit ERR_ADDRESS_UNREACHABLE

Pokud jste návštěvník

  1. Zkontrolujte, jestli je adresa soukromá IP. Cokoli začínající na 192.168., 10., nebo 172.16. až 172.31. funguje jen zevnitř té konkrétní lokální sítě; zvenčí se na to obecně nedostanete bez VPN do té sítě.
  2. Restartujte router, abyste vyloučili zaseknutou nebo poškozenou lokální směrovací tabulku.
  3. Odpojte se od jakékoli aktivní VPN a zkuste to znovu; VPN s neúplnou nebo špatně nastavenou směrovací tabulkou je běžnou příčinou právě téhle chyby.
  4. Dočasně vypněte IPv6 v nastavení síťového adaptéru, pokud má web adresu IPv4 i IPv6; tím vynutíte spojení přes IPv4 a vyloučíte rozbitou cestu IPv6.
  5. Ověřte samotnou adresu, zkontrolujte, jestli nejde o překlep nebo starou poznámku, která může obsahovat vnitřní IP místo veřejného doménového jména.

Pokud web provozujete

  1. Zkontrolujte DNS záznamy A a AAAA pro doménu a ověřte, že míří na živou, veřejně dostupnou IP adresu, ne na soukromý rozsah nebo vyřazený server.
  2. Ověřte, že brána a směrování hostingového poskytovatele jsou v pořádku, pomocí jeho stavové stránky nebo kanálu podpory, pokud je adresa správná, ale pořád nedostupná z více vnějších sítí.
  3. Odstraňte nebo opravte jakýkoli zastaralý záznam IPv6 (AAAA), pokud konektivita IPv6 k serveru ve skutečnosti není nastavena celou cestou; záznam AAAA bez funkční cesty IPv6 za ním pošle klienty preferující IPv6 do slepé uličky.

Jak předejít ERR_ADDRESS_UNREACHABLE

DNS záznam, který potichu začne mířit na soukromou nebo vyřazenou adresu, na samotném serveru zřídka spustí poplach, protože server selhaný požadavek vůbec nevidí. Průběžný monitoring HTTP a DNS podle plánu překládá doménu a připojuje se k ní z vnějších kontrolních bodů, takže zachytí problém se směrováním nebo záznamem dřív, než postihne skutečné návštěvníky, a posílá upozornění e-mailem, SMS, hlasovým hovorem, přes Slack, Telegram a další.

Související chyby

Často kladené otázky

Je ERR_ADDRESS_UNREACHABLE totéž jako nedostupný web?

Obvykle ne. Nejčastěji ukazuje na problém se směrováním na vaší vlastní síti nebo zařízení, zvlášť když je adresa soukromá IP nebo je zapojené IPv6, ne na to, že je cílový server nedostupný.

Proč tuhle chybu vidím jen na některých Wi-Fi sítích?

Různé sítě mají různé směrovací tabulky a konfigurace VPN. Cesta, která funguje na vaší domácí síti, na firemní nebo veřejné síti nemusí existovat, zvlášť u vnitřních adres.

Může ERR_ADDRESS_UNREACHABLE způsobit firewall?

Nepřímo. Většina firewallů, které blokují provoz, místo toho vyprodukuje timeout nebo odmítnuté spojení, ale firewall nebo router, který cestu úplně stáhne místo toho, aby na ní filtroval provoz, tuhle chybu vyprodukovat může.

Jaký je rozdíl mezi tímhle a ERR_CONNECTION_TIMED_OUT?

ERR_ADDRESS_UNREACHABLE znamená, že k cíli vůbec neexistuje cesta, takže se nic neodešle. ERR_CONNECTION_TIMED_OUT znamená, že cesta existuje, paket byl odeslán, a čekání prostě vypršelo bez odpovědi.

Stává se tohle i u běžných veřejných webů?

Může, nejčastěji kvůli rozbité cestě IPv6 nebo DNS záznamu, který se přeloží na adresu bez platné cesty, ale mnohem běžnější je to, když je adresa soukromá nebo vnitřní IP, na kterou se přistupuje ze špatné sítě.

Jak zjistím, jestli je adresa soukromá?

Podívejte se na první část IP adresy: 10.0.0.0 až 10.255.255.255, 172.16.0.0 až 172.31.255.255 a 192.168.0.0 až 192.168.255.255 jsou všechny vyhrazené pro soukromé sítě a nikdy nejsou dostupné z veřejného internetu, bez ohledu na to, jak je nastavené směrování.

Zkontrolovat hned

Spusťte bezplatnou kontrolu na svém webu - bez registrace.

HTTP check

Sledovat trvale

Dostanete upozornění ve chvíli, kdy něco přestane fungovat: HostTracker kontroluje z více než 300 lokalit a upozorní vás e-mailem, SMS, přes Slack, Telegram a další.

Funkce HostTracker

Více v této sekci: Opravte to: návody na chyby, se kterými se lidé skutečně setkávají