Назад | Перейти на главную страницу

Есть ли способ указать всем DNS-серверам продолжать разрешать URL-адрес, пока корневой DNS-сервер отключен?

Уже дважды случалось, что рут DNS сервер веб-хостера (хорошо известной компании), у которого зарегистрирован один из наших доменов, пошел вниз часами (из-за DOS-атаки). Наши сайт был недоступен в течение этого времени, если, конечно, вы не разрешили URL-адрес локально.

Это не экспертный вопрос разработчика программного обеспечения и, возможно, наивный, но поскольку очень много DNS-серверов по всему миру несут копию A-записи (требуются часы, пока изменение, такое как изменение IP-адреса, не достигнет последней из их), почему это вообще происходит? Почему другие DNS-серверы не понимают, что DNS, отвечающий за ваш домен, просто отключился, и продолжают преобразовывать URL-адрес в последний известный IP-адрес до дальнейшего уведомления?

Вопрос: есть ли способ (возможно, любая запись DNS), который заставит их это сделать?

Как сказал Joeqwerty в своем комментарии, вам необходимо расширить свое понимание DNS. Причина, по которой изменения DNS требуют времени для распространения, связана с рекурсивным кешированием и временем жизни (TTL).

Рассмотрим этот сценарий:

Пользователь заходит на ваш сайт по адресу mysite.com. Компьютер пользователя запрашивает настроенный DNS-сервер (скорее всего, домашний маршрутизатор). Их маршрутизатор настроен на пересылку DNS-запросов на общедоступный DNS-сервер Google по адресу 8.8.8.8.

Если сервер Google уже нашел IP-адрес mysite.com, он проверит время кэширования относительно TTL записи - обычно TTL устанавливается на 86400 секунд (1 день - 60 * 60 * 24). Если запись старше TTL, она будет отброшена и попытается найти ее. Точный алгоритм, используемый для поиска ваших записей, может отличаться (т. Е. Они могут использовать либо собственный рекурсор / пересылку, либо использовать «корневые ссылки»). В любом случае, на серверах имен, указанных для вашего домена (проверьте WHOIS, если вы не уверены), находятся записи вашего домена, и эти серверы будут опрошены, если ни один из серверов на пути запроса не кэшировал вашу запись. Таким образом, ваш DNS TTL является максимум время, когда DNS-сервер будет кэшировать ваши записи, поэтому изменениям DNS требуется время, чтобы полностью распространиться по всему Интернету.

Вы упомянули, что DNS-серверы вашего веб-хостинга вышли из строя. Это может привести к множеству проблем, в зависимости от того, что именно не удалось.

Если DNS-серверы, которые ваши собственные серверы используют для разрешения имен, выйдут из строя, ваш веб-сервер не сможет ничего разрешить, что будет означать, что они все равно будут отвечать другим, но любые DNS-запросы (скорее всего, обратные PTR) не будут работать. . Это, например, нарушит любую функциональность «домашний телефон» в Drupal или WordPress.

Если веб-хостинг серверы имен не удалось, это будет означать, что любой новый запросы для DNS вашего домена не будут выполнены - кешированные результаты будут успешными из-за настроек TTL, указанных выше, поэтому не у всех ваших пользователей обязательно возникнут проблемы.

Нижняя граница: если вас беспокоит, что ваш домен не будет разрешен в случае отказа серверов имен, и вы не слишком беспокоитесь о потере возможности быстро изменить свой IP-адрес, вам следует подумать о повышении TTL ваших записей. Если вы сомневаетесь, свяжитесь со своим веб-хостингом.

«Корневой DNS» - это проблема конфигурации SPoF - предполагается, что корневой DNS-сервер должен быть не «корневым», а несколькими DNS-серверами. Если у них действительно должен быть административный корень, нет причин делать его общедоступным - это может быть скрытый главный, а вторичные - общедоступные. Это была бы более стандартная установка.

На ваш вопрос: потому что он так не запрограммирован. Есть кеширование и истечение срока.

Предложение: вас не заставляют использовать DNS-серверы вашего веб-хостинга. Вы можете разместить свой DNS в другом месте. Я бы посоветовал поискать альтернативу.