ERR_ADDRESS_UNREACHABLE: що означає і як виправити
ERR_ADDRESS_UNREACHABLE означає, що ваш пристрій чи мережа взагалі не мають маршруту до цільової адреси, тож спроба з'єднання навіть не виходить у спосіб, який міг би дістатися цілі. Це майже завжди проблема на рівні мережі, а не щось не так із самим сайтом.
Що означає ERR_ADDRESS_UNREACHABLE
Перш ніж почнеться будь-яке TCP-рукостискання, операційна система має знати, як маршрутизувати пакет до цільової IP-адреси. ERR_ADDRESS_UNREACHABLE виникає, коли придатного маршруту немає: у локальній таблиці маршрутизації нічого не збігається, шлюз, що мав пересилати пакет, не працює, або сама адреса взагалі не з тих, до яких поточна мережа може дістатися. Це відрізняється від тайм-ауту, де маршрут існує і пакет надсилається, але ніхто не відповідає; тут операційна система навіть не намагається надіслати пакет, бо йому нікуди йти.
Рішення про маршрутизацію ухвалюються локально, на пристрої чи першому роутері, через який проходить трафік, ще до того, як пакет дістанеться ширшого інтернету. Саме це відрізняє цю помилку на практиці від більшості інших у цій родині: збій можна дізнатися заздалегідь лише з таблиці маршрутизації, без потреби щось надсилати чи чекати на відповідь, і саме тому вона зазвичай з'являється швидше за тайм-аут.
Як з'являється помилка
Chrome показує "This site can't be reached ... ERR_ADDRESS_UNREACHABLE", часто швидше, ніж тайм-аут, оскільки очікування немає, збій миттєвий. З командного рядка та сама умова видно чітко:
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" - це базове повідомлення операційної системи, що стоїть за ERR_ADDRESS_UNREACHABLE; ping дає той самий клас збою проти адреси без валідного шляху.
Що спричиняє ERR_ADDRESS_UNREACHABLE
- Адреса приватна чи локальна IP-адреса, до якої звертаються ззовні цієї мережі. Адреса на кшталт
192.168.x.xчи10.x.x.xозначає щось лише в тій локальній мережі, якій вона належить; дістатися її з публічного інтернету ніколи не вийде. - Роутер чи шлюз не працює. Якщо пристрій, відповідальний за пересилання трафіку до цілі, офлайн, усе за ним одразу стає недосяжним.
- Десь налаштована неправильна IP-адреса. Застарілий DNS-запис, захардкоджена IP-адреса у файлі hosts чи одруківка у вручну введеній адресі - усе це може вказувати на щось, що ніколи й не було досяжним.
- IPv6 увімкнено без справжньої IPv6-зв'язності. Пристрій чи мережа з призначеною IPv6-адресою, але без робочого шляху до ширшого IPv6-інтернету, провалюється так для будь-якої цілі, розв'язаної через AAAA-запис.
- Таблиця маршрутизації VPN виключає цільову адресу. Деякі конфігурації VPN маршрутизують через тунель лише конкретні підмережі, і адреса поза цим діапазоном, чи та, що вимагає тунелю, але не маршрутизується через нього, стає недосяжною, поки VPN підключено.
Як зрозуміти, хто винен
Ця помилка у переважній більшості випадків - проблема з вашим власним пристроєм чи мережею, а не з цільовим сервером, оскільки вона означає, що ваш бік так і не знайшов шляху, яким надіслати запит. Якщо адреса - звичайний публічний домен, а не приватна IP-адреса, перевірте ту саму адресу з іншої мережі чи пристрою. Якщо там вона з'єднується, а на вашій початковій мережі - ні, проблема маршрутизації локальна. HTTP-перевірка, запущена ззовні вашої власної мережі, - найшвидший спосіб підтвердити, що сама ціль досяжна з ширшого інтернету.
Як виправити ERR_ADDRESS_UNREACHABLE
Якщо ви відвідувач
- Перевірте, чи адреса приватна IP-адреса. Усе, що починається з
192.168.,10.чи від172.16.до172.31., працює лише зсередини конкретно тієї локальної мережі; зазвичай ви не можете дістатися цього звідкись іще без VPN у ту мережу. - Перезавантажте роутер, щоб виключити завислу чи пошкоджену локальну таблицю маршрутизації.
- Відключіться від будь-якого активного VPN і повторіть спробу; VPN із неповною чи неправильно налаштованою таблицею маршрутизації - поширена причина саме цієї помилки.
- Тимчасово вимкніть IPv6 у налаштуваннях мережевого адаптера, якщо в сайту є і IPv4-, і IPv6-адреса; це змушує з'єднання йти через IPv4 і виключає зламаний IPv6-шлях.
- Перевірте саму адресу на предмет одруківки чи старої нотатки, що може містити внутрішню IP-адресу замість публічного доменного імені.
Якщо ви керуєте сайтом
- Перевірте DNS-записи A та AAAA для домену і підтвердьте, що вони вказують на живу, публічно досяжну IP-адресу, а не на приватний діапазон чи виведений з експлуатації сервер.
- Підтвердьте, що шлюз і маршрутизація хостинг-провайдера справні, перевіривши його сторінку статусу чи звернувшись у підтримку, якщо адреса правильна, але все одно недосяжна з кількох зовнішніх мереж.
- Приберіть чи виправте будь-який застарілий IPv6-запис (AAAA), якщо IPv6-зв'язність із сервером насправді не налаштована наскрізь; AAAA-запис без робочого IPv6-шляху за ним відправляє клієнтів, що надають перевагу IPv6, у глухий кут.
Як запобігти ERR_ADDRESS_UNREACHABLE
DNS-запис, що непомітно почав вказувати на приватну чи виведену з експлуатації адресу, рідко викликає тривогу на самому сервері, оскільки сервер узагалі ніколи не бачить провалений запит. Постійний моніторинг HTTP і DNS розв'язує ім'я й з'єднується з доменом ззовні, з контрольних точок за розкладом, ловлячи проблему маршрутизації чи запису до того, як вона зачепить реальних відвідувачів, і надсилає сповіщення електронною поштою, SMS, голосовим дзвінком, у Slack, Telegram та іншими способами.
Пов'язані помилки
- ERR_CONNECTION_TIMED_OUT означає, що маршрут існує і пакет надіслано, але ніхто не відповів.
- ERR_NAME_NOT_RESOLVED означає, що сам DNS провалився ще до того, як могла початися будь-яка спроба з'єднання.
- This site can't be reached охоплює весь набір помилок з'єднання, які Chrome об'єднує під одним заголовком.
Часті запитання
Чи означає ERR_ADDRESS_UNREACHABLE те саме, що сайт лежить?
Зазвичай ні. Найчастіше вона вказує на проблему маршрутизації у вашій власній мережі чи на пристрої, особливо коли адреса приватна IP-адреса чи задіяний IPv6, а не на те, що цільовий сервер офлайн.
Чому я бачу цю помилку лише в певних Wi-Fi мережах?
У різних мереж різні таблиці маршрутизації й конфігурації VPN. Маршрут, що працює у вашій домашній мережі, може не існувати в корпоративній чи публічній, особливо для внутрішніх адрес.
Чи може брандмауер спричинити ERR_ADDRESS_UNREACHABLE?
Опосередковано. Більшість брандмауерів, що блокують трафік, натомість дають тайм-аут чи відмову у з'єднанні, але брандмауер чи роутер, що повністю прибирає маршрут, а не фільтрує трафік на ньому, може дати саме цю помилку.
Яка різниця між цим і ERR_CONNECTION_TIMED_OUT?
ERR_ADDRESS_UNREACHABLE означає, що маршруту до цілі взагалі немає, тож нічого не надсилається. ERR_CONNECTION_TIMED_OUT означає, що маршрут існує, пакет надіслано, і час очікування просто вичерпався без відповіді.
Чи трапляється це зі звичайними публічними вебсайтами?
Може, найчастіше через зламаний IPv6-шлях чи DNS-запис, що розв'язується в адресу без валідного маршруту, але значно частіше це трапляється, коли адреса приватна чи внутрішня IP-адреса, до якої звертаються з неправильної мережі.
Як перевірити, чи адреса приватна?
Погляньте на першу частину IP-адреси: 10.0.0.0 - 10.255.255.255, 172.16.0.0 - 172.31.255.255 і 192.168.0.0 - 192.168.255.255 усі зарезервовані для приватних мереж і ніколи не досяжні з публічного інтернету, хоч би як налаштували маршрутизацію.