Уже дважды случалось, что рут 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 в другом месте. Я бы посоветовал поискать альтернативу.