Нерідко при введенні адресного рядка браузера адреси потрібного нам сайту можна побачити повідомлення про його недоступність разом з виведенням назви помилки типу Name error, NXDOMAIN або DNS_PROBE_FINISHED_NXDOMAIN. В соответствии со спецификацией RFC 2308 помилки такого роду виводяться у випадку, якщо в системі доменних імен DNS відсутні відомості про домен, що запитується. Це може відповідати дійсності, а може й не відповідати, залежить від причини виникнення помилки. Розберемося з тим, які можуть бути причини виникнення подібної ситуації, і вкажемо порядок дій для їх усунення.
Організація зберігання та оновлення облікових записів доменного реєстру
Раніше ми вже розглядали структуру системи доменних імен, в якій всі DNS-записи про домени зберігаються в реєстрах відповідної доменної зони. За ведення такого реєстру відповідає конкретна компанія, яка відстежує всі зміни в списку доменних імен і підтримує його актуальність.
Складна структура системи DNS передбачає наявність кількох рівнів серверів DNS для управління доменами. Зокрема, це рівні Центрального реєстру та Інтернет-провайдера. Якщо одному з них виникає помилка чи затримка, це відразу ж позначається на роботі веб-ресурсу. Крім того, на кожному з DNS рівнів є кеш, який в більшості випадків оновлюється протягом однієї доби в залежності від встановлених налаштувань параметра TTL (time-to-live). Тому ресурс стає доступним у мережі лише після повного оновлення кешу на кожному з DNS рівнів.
Причини відсутності доступу до домену в мережі
Можна виділити кілька категорій причин відсутності доступу до домену в мережі. Наведемо їх тут:
- Інерційність системи DNS;
- Закінчився активний період життєвого циклу доменного імені;
- Скинуто налаштування NS-серверів на рівні реєстратора;
- Домен не існує або видалено з реєстру.
Розглянемо детальніше кожну з категорій зазначених причин недоступності веб-ресурсу в мережі.
Інерційність системи DNS
Помилки цієї категорії виникають у разі внесення будь-яких змін до облікових даних домену, які потребують оновлення останніх. Такими змінами, наприклад, можуть бути такі:
- Первинна реєстрація доменного імені;
- Переведення домену з неактивної фази життєвого циклу на активну;
- Зміна DNS-серверів або їх складу в обліковому записі реєстратора;
- Зміна реєстратора.
При виконанні будь-якої із зазначених дій активується процес внесення змін до баз даних DNS-серверів, результати якого стануть видно тільки після оновлення кешу на кожному рівні системи, про що вже говорилося вище. Цей процес зазвичай займає від 24 до 72 годин часу в залежності від налаштувань конкретного сервера.
При необхідності можна значно скоротити період непрацездатності веб-ресурсу. Для цього потрібно виконати ряд команд та/або налаштувань на вашому локальному пристрої. Це дозволить з'ясувати справжню причину відсутності доступу, очистити кеш та відновити роботу ресурсу шляхом підключення до альтернативних серверів. Продемонструємо виконання зазначених дій.
Перш за все необхідно очистити кеш браузера. Зазвичай ця операція не викликає складнощів у рядових користувачів. Для її виконання достатньо вибрати команду меню браузера під назвою «Очистити історію відвідувань», встановивши період у кілька останніх днів.
Дії очищення DNS-кешу залежатимуть від типу операційної системи пристрою. Так, у середовищі Windows дії будуть наступними: відкрити термінал і запустити виконання команду ipconfig з відповідним параметром. Зробимо це на нашій машині:
> ipconfig /flushdns
Результат виконання команди показано нижче.
Як бачимо, результат позитивний – кеш успішно скинутий.
Якщо це не допомогло, і сайт, як і раніше, недоступний, затримка, найімовірніше, в DNS-кеші вашого Інтернет-провайдера. Щоб обійти цю "перешкоду", можна скористатися конфігураційним файлом hosts, в якому потрібно прописати IP-адресу вашого сервера, наданого хостинг-провайдером. Здійснимо це на практиці.
Для цього відкриємо файл і внесемо туди наступний рядок:
178.20.157.229 mydoman.com
Тут 178.20.157.229 – IP-адреса нашого сервера; mydoman.com – наш сайт.
Збережемо внесені зміни та закриємо файл. Якщо після цього сайт запрацював, то затримка була в кеші Інтернет провайдера.
Взагалі, для того, щоб з'ясувати, чи вплинув на затримку в роботі сайту сервер Інтернет-провайдера, можна скористатися сучаснішим підходом.
Якщо причина непрацездатності веб-ресурсу в сервері провайдера, він буде доступним у мережі при підключенні через альтернативні DNS-сервера або Proxy.
З'ясувати доступність сайту в мережі можна, пропингувавши його адресу за допомогою відомого програмного засобу. Зробимо це на нашій машині під керуванням Windows, ввівши в терміналі наступну команду:
> ping mydoman.com
Ми бачимо, що обмін пакетами між адресами відбувається нормально, втрат немає, отже, сайт доступний у мережі. У цьому випадку наші дії можуть бути такими:
- Внести зміни до локального файлу hosts, як ми вже зробили раніше;
- Підключити сайт до мережі через онлайн-Proxy сервер;
- Тимчасово встановити альтернативні сервери DNS.
Підключити сайт до мережі через онлайн-проксі-сервер можно с помощью соответствующих веб-ресурсов, которых немало в сети. К примеру, можна за допомогою відповідних веб-ресурсів, яких чимало в мережі. Наприклад, це може бути сайт https://www.proxysite.com/, на головній сторінці якого за допомогою меню можна вибрати тип та місцезнаходження сервера. У нашому випадку обрано сервер, що знаходиться на території Європи. При натисканні на кнопку GO у правій частині вікна активується процес підключення.
Тимчасово встановити альтернативні DNS-сервера, що також зазвичай не викликає труднощів. У цьому випадку краще скористатися серверами перевірених компаній, наприклад, таких як Google або Cloudflare. Це пов'язано з підтримкою останніх технології DoH, що дозволяє використовувати сервери навіть у разі блокування деяких портів вашим провайдером.
Встановимо для нашого ресурсу DNS сервера від компанії Google. Для цього необхідно відкрити вікно властивостей протоколу TCP та прописати їх там, як показано нижче. Після цього потрібно перейти за адресою https://developers.google.com/speed/public-dns/cache та заповнити там поля відповідної форми.
Після виконання зазначених дій ресурс стане доступним у мережі.
Закінчився активний період життєвого циклу доменного імені
Якщо домен знаходиться в одній з неактивних фаз життєвого циклу – Hold, Redemption Period або Pending Delete, він буде недоступним у мережі та не може бути активований технічними засобами. Як правило, для його відновлення необхідно здійснити оплату за наступний рік (або більше). Однак, це стосується лише фаз Hold та Redemption Period. Для фази Pending Delete відновлення вже неможливе.
Скинуто налаштування NS-серверів на рівні реєстратора
Нерідко трапляються ситуації, коли у вашому обліковому записі на сайті реєстратора доменних імен скидаються налаштування серверів, після чого сайт стає недоступним. Для виправлення ситуації потрібно зайти в свій обліковий запис і за новим прописати адреси серверів, надані вашим хостинг-провайдером. Такий обліковий запис буде мати вигляд, показаний нижче.
В даному випадку вказані адреси трьох NS-серверів для сайту chernigov-grad.info.
Домен не існує або видалено з реєстру
Досить часто поширена ситуація, коли при введенні імені сайту в адресному рядку браузера допускається помилка у його імені. В результаті браузер надсилає запит на адресу, яка може і не існувати. Отже, прийде відповідна відповідь із сервера.
У разі закінчення періоду Pending Delete запис про домен повністю видаляється з реєстру і тому, звичайно, домен більше не може бути доступним. Більше того, протягом кількох десятків днів він навіть не буде доступним для нової реєстрації. Тільки після закінчення зазначеного періоду його знову можна буде зареєструвати, тобто почати новий життєвий цикл.