Как быстро обновляются записи в системе DNS

Обновлено: 21.11.2024

Подключая личный домен к своему сайту, вы изменяете его настройки DNS (система доменных имен). Эти изменения могут занять от 24 до 72 часов, прежде чем они начнут работать должным образом. Провайдеры доменов называют этот период ожидания «временем распространения» или временем, которое требуется для того, чтобы изменения распространились по сети.

Точные сроки зависят от многих факторов, и Squarespace не может их контролировать или ускорить. После правильного ввода всех записей домен может не работать сразу или работать на одних устройствах, но не на других. Интернет — это большое пространство, и всем его серверам может потребоваться время, чтобы догнать каждое изменение. Лучше всего подождать.

В оставшейся части этого руководства объясняется, что происходит за кулисами в течение этих нескольких дней.

Как это работает

Когда вы вводите URL-адрес в браузере, ваш компьютер находит записи DNS домена в каталоге на серверах, поддерживаемых ICANN, руководящим органом Интернета. Затем каталог сообщает вашему браузеру, с каким сервером ему необходимо связаться, чтобы открыть сайт.

Чтобы ускорить это, интернет-провайдеры (поставщики интернет-услуг, например компании, от которых вы получаете доступ в Интернет) кэшируют копии ваших записей DNS. Это ускоряет просмотр, потому что интернет-провайдеру не нужно перемещать записи каждый раз, когда кто-то посещает ваш сайт; он просто извлекает из своего кеша. Это работает аналогично кешу вашего браузера, но одновременно для сотен тысяч людей.

Интернет-провайдеры обновляют свой кеш каждые несколько дней, обнаруживая любые изменения DNS. Ваш новый или обновленный URL-адрес не будет работать в Интернете, пока все интернет-провайдеры не пройдут это автоматическое обновление кэша.

Аналогичным образом, если вы редактируете настройки DNS своего домена и эти изменения не отражаются при поиске вашего домена, вполне вероятно, что вы видите кешированный ответ. Когда эти кешированные ответы обновятся, вы увидите изменения.

Проверьте свой прогресс

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

Распространение DNS: неизбежное зло?

В мире, где пользователи ожидают выполнения сложных онлайн-транзакций за доли секунды, одним из последних препятствий на пути к производительности и гибкости является система DNS. Изобретенная в 1980-х годах и с тех пор остающаяся более или менее неизменной, DNS представляет собой обширную распределенную систему. Распространение даже самого незначительного изменения в Интернете может занять от нескольких часов до нескольких дней (!).

Когда вы изменяете запись DNS, вы просто не можете быть уверены, когда пользователи и устройства смогут увидеть это изменение. Является ли это неизбежным злом интернет-систем, даже если мы приближаемся к третьему десятилетию 21-го века? Короткий ответ: нет.

В этой статье вы узнаете о причинах проблем с распространением, о методах «сделай сам» для ускорения распространения и о том, как добиться почти мгновенного распространения DNS с помощью технологии DNS следующего поколения.

Система DNS и проблема распространения

Когда веб-браузеру или сетевому устройству необходимо узнать IP-адрес имени хоста, он начинает процесс поиска DNS. Он консультируется с DNS-сервером и может обращаться к нескольким другим DNS-серверам, пока не достигнет авторитетного сервера имен, который содержит IP-адрес и другие данные для требуемого имени хоста. На каждом этапе процесса запроса DNS системы могут хранить информацию DNS в своем локальном кэше.

Что такое распространение DNS?

Когда IP-адрес или любая другая информация об имени хоста добавляется или изменяется в записи DNS, это изменение необходимо распространить на все системы по всему миру, участвующие в процессе DNS.

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

Распространение DNS — это период времени, необходимый для обновления DNS-изменений в Интернете. Изменение записи DNS — например, изменение IP-адреса, определенного для определенного имени хоста, — может занять до 72 часов для распространения по всему миру, хотя обычно это занимает несколько часов. Для многих современных вариантов использования такое время распространения DNS неудобно или просто неприемлемо.

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

Распространение — сложная проблема, но вы будете удивлены: благодаря инфраструктуре DNS следующего поколения время распространения DNS можно сократить с дней или часов до нескольких секунд.

Почему распространение DNS занимает так много времени? 3 фактора, влияющие на время распространения

Почему распространение DNS занимает больше времени? Есть три основных фактора:

Ускорение распространения DNS — сделай сам

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

  1. Определите или измените запись A, которая указывает имя вашего хоста на новый IP-адрес назначения.
  2. Установите минимальный срок жизни для этой записи DNS — мы рекомендуем 5 минут. Ниже этого значения многие интернет-провайдеры могут игнорировать TTL и сохранять старую запись в кеше.

Во многих случаях этот простой процесс значительно ускорит распространение, хотя невозможно точно гарантировать или предсказать, сколько времени займет распространение.

Можете ли вы отслеживать распространение DNS и проверять его завершение?

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

Однако можно проверить распространение с достаточной степенью точности. Вот три способа:

Коммерческое решение от CA, которое выполняет непрерывную проверку качества доступности вашего веб-сайта, включая DNS.

Инструменты администрирования Google G Suite позволяют выполнять запросы Dig, чтобы увидеть текущий статус ваших записей DNS.

Анонимный прокси

Прокси-сервер, работающий в том же географическом местоположении, что и ваши пользователи, может помочь вам имитировать реальный пользовательский опыт. Luminati — уважаемый коммерческий инструмент, предоставляющий прокси-серверы в большинстве городов мира.

Знакомьтесь с технологией DNS следующего поколения: проблема распространения DNS решена

DNS – это необходимая, надежная, но печально известная медленная инфраструктура. С новыми платформами DNS, основанными на DNS-серверах следующего поколения, это уже не так.

NS1 – это платформа DNS следующего поколения, обеспечивающая практически мгновенное распространение: любые изменения DNS распространяются по всему миру всего за несколько секунд. Для этого используется глобальная сеть сверхбыстрых DNS-серверов, которые могут очень быстро отвечать на DNS-запросы. NS1 позволяет вам установить низкий TTL и позволяет DNS-клиентам «обращаться» к своим DNS-серверам так часто, как им нужно, решая проблему медленного распространения.

Платформы DNS следующего поколения, такие как NS1, предоставляют другие возможности, такие как:

  • Маршрутизация DNS с учетом местоположения: пользователи автоматически перенаправляются на сервер, ближайший к их местонахождению.
  • Интеллектуальное управление трафиком: интеллектуальная маршрутизация DNS-клиентов на один из нескольких серверов на основе обширных данных, таких как пропускная способность, подключение, задержка и перегрузка сети.

Получите бесплатную пробную версию платформы DNS нового поколения NS1 и узнайте, как раз и навсегда решается проблема медленного распространения.

Я видел, как многие люди путаются при обновлении записей DNS своего сайта для изменения IP-адреса. Почему это медленно? Вам действительно нужно ждать 2 дня, чтобы все обновилось? Почему некоторые люди видят новый IP-адрес, а некоторые — старый? Что происходит?

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

как работает DNS: рекурсивный и авторитетный DNS-серверы

Во-первых, нам нужно немного рассказать о DNS. Существует два типа DNS-серверов: авторитетные и рекурсивные.

рекурсивные DNS-серверы сами по себе ничего не знают о том, кому принадлежит какой IP-адрес. Они выясняют IP-адрес домена, запрашивая нужные авторитетные DNS-серверы, а затем кэшируют этот IP-адрес на случай повторного запроса. 8.8.8.8 — это рекурсивный DNS-сервер.

Когда люди посещают ваш веб-сайт, они, вероятно, отправляют свои DNS-запросы к рекурсивному DNS-серверу. Итак, как же работают рекурсивные DNS-серверы? Посмотрим!

Шаг 1: IP-адреса корневых DNS-серверов жестко закодированы в его исходном коде. Вы можете увидеть это в исходном коде unbound здесь. Допустим, для начала он выбирает 198.41.0.4. Вот официальный источник этих жестко закодированных IP-адресов, также известный как «файл корневых подсказок».

Подробности ответа DNS немного сложнее: в этом случае есть раздел полномочий с некоторыми записями NS и дополнительный раздел с записями A, поэтому вам не нужно выполнять дополнительный поиск, чтобы получить IP-адреса этих серверов имен.

Мы почти закончили!

как просмотреть все шаги рекурсивного DNS-сервера: dig +trace

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

Здесь показаны все запрошенные DNS-записи, начиная с корневых DNS-серверов — все четыре шага, которые мы только что прошли.

давайте обновим некоторые записи DNS!

Теперь, когда мы знаем основы работы DNS, давайте обновим некоторые записи DNS и посмотрим, что произойдет.

При обновлении записей DNS есть два основных варианта:

  1. оставить одни и те же серверы имен
  2. изменить серверы имен

поговорим о TTL

Однако мы забыли кое-что важное! TTL! Вы знаете, как мы сказали ранее, что рекурсивный DNS-сервер будет кэшировать записи до истечения срока их действия? Он решает, должен ли срок действия записи истечь, просматривая ее TTL или «время жизни».

В этом примере значение TTL для записи A, которое сервер имен github возвращает для своей DNS-записи, равно 60 , что означает 60 секунд:

вариант 1: обновить запись DNS на тех же серверах имен

Во-первых, я обновил свои серверы имен (Cloudflare), добавив новую запись DNS: запись A, которая сопоставляет test.jvns.ca с 1.2.3.4 .

Это сработало сразу! Ждать вообще не пришлось, потому что до этого не было DNS-записи test.jvns.ca, которую можно было бы кэшировать. Здорово. Но похоже, что новая запись кэшируется примерно на 5 минут (299 секунд).

А что, если мы попытаемся изменить этот IP-адрес? Я изменил его на 5.6.7.8 , а затем запустил тот же DNS-запрос.

Хм, похоже, что на DNS-сервере запись 1.2.3.4 все еще кэшируется еще 144 секунды. Интересно, что если я запрашиваю 8.8.8.8 несколько раз, я на самом деле получаю противоречивые результаты — иногда он дает мне новый IP-адрес, а иногда старый IP-адрес, я думаю, потому что 8.8.8.8 на самом деле балансирует нагрузку на кучу разных бэкэндов, каждый из которых имеет свой собственный кеш.

После того как я подождал 5 минут, все кэши 8.8.8.8 обновились и всегда возвращали новую запись 5.6.7.8. Потрясающий. Это было довольно быстро!

не всегда можно полагаться на TTL

Как и в случае с большинством интернет-протоколов, не все они соответствуют спецификации DNS. Некоторые DNS-серверы интернет-провайдеров будут кэшировать записи дольше, чем указано в TTL, например, в течение 2 дней вместо 5 минут. И люди всегда могут жестко запрограммировать старый IP-адрес в своем файле /etc/hosts.

На практике я ожидаю, что при обновлении записи DNS с 5-минутным TTL произойдет то, что большой процент клиентов быстро перейдет на новые IP-адреса (например, в течение 15 минут), а затем произойдет куча отставших, которые медленно обновляются в течение следующих нескольких дней.

вариант 2: обновление серверов имен

Итак, мы видели, что когда вы обновляете IP-адрес без изменения серверов имен, многие DNS-серверы довольно быстро получают новый IP-адрес. Здорово. Но что произойдет, если вы измените свои серверы имен? Давайте попробуем!

Хорошо, давайте посмотрим, помогло ли это чему-нибудь

Без изменений. Если я спрошу другой DNS-сервер, он узнает новый IP-адрес:

TTL серверов имен намного длиннее

Причина, по которой мой регистратор сказал: «ЭТО ЗАНИМАЕТ 48 ЧАСОВ», заключается в том, что значения TTL для NS-записей (по которым рекурсивные серверы имен узнают, какой сервер имен запрашивать) НАМНОГО длиннее!

172800 секунд — это 48 часов! Таким образом, обновление серверов имен, как правило, занимает гораздо больше времени, чем простое обновление IP-адреса без изменения вашего сервера имен.

как обновляются ваши серверы имён?

библиотека преобразователя DNS вашей программы также может кэшировать записи DNS

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

Например, на AWS есть статья о настройке TTL JVM для поиска DNS-имен. Я не написал так много кода JVM, который сам выполняет поиск DNS, но из небольшого поиска в Google о JVM и DNS кажется, что вы можете настроить JVM так, чтобы он кэшировал каждый поиск DNS на неопределенный срок. (например, эта проблема с поиском эластичных материалов)

это все!

Надеюсь, это поможет вам понять, что происходит при обновлении DNS!

В качестве отказа от ответственности, еще раз: TTL определенно не раскрывают всю историю распространения DNS: некоторые рекурсивные DNS-серверы определенно не соблюдают TTL, даже если основные, такие как 8.8.8.8, соблюдают. Так что даже если вы просто обновляете запись A с коротким TTL, вполне возможно, что на практике вы все равно будете получать какие-то запросы к старому IP в течение дня или двух.

Вам также может понравиться Recurse Center, мое самое любимое сообщество программистов (мои посты о нем)

Как работает DNS?

Интернет – это гигантская сеть компьютеров. Каждому устройству, подключенному к Интернету, назначается уникальный IP-адрес, который помогает другим компьютерам идентифицировать его.

Этот IP-адрес представляет собой строку чисел с точками, которая выглядит следующим образом: 192.124.249.166

А теперь представьте, если бы вам приходилось запоминать такие длинные цепочки цифр, чтобы посещать любимые веб-сайты. Их трудно запомнить, и они ничего не говорят вам о веб-сайте, который вы увидите, если введете их в браузере.

Для решения этой проблемы были придуманы доменные имена: они используют алфавиты и позволяют пользователям выбирать легко запоминающиеся имена для своих веб-сайтов.

DNS или система доменных имен в основном преобразует эти доменные имена в IP-адреса и указывает вашему устройству правильное направление.

Доменное имя и соответствующий ему IP-адрес называются DNS-записью.

Вот простой способ понять, как работает DNS, за четыре шага.

<р>2. Если записи DNS не найдены, запрос отправляется на ваш локальный DNS-сервер. Обычно это сервер вашего интернет-провайдера, и его часто называют «сервером разрешений имен».

<р>3. Если записи не кэшируются на разрешающем сервере имен, то запрос перенаправляется на так называемый «корневой сервер имен» для поиска записей DNS. Корневые серверы имен — это назначенные серверы по всему миру, которые отвечают за хранение данных DNS и обеспечение бесперебойной работы системы. Как только запись DNS будет найдена на корневом сервере имен, она кэшируется вашим компьютером.

Подробнее см. в нашем руководстве для начинающих о том, как работают доменные имена.

Что такое сервер имен?

Интернет возможен благодаря сети компьютеров, называемых серверами. Сервер – это компьютер, предназначенный для хранения и доставки веб-сайтов на другие компьютеры по всему миру.

Сервер имен, иногда называемый «сервер имен», представляет собой особый тип сервера, на котором хранятся все записи DNS вашего доменного имени. Его задача — предоставить вашу информацию DNS всем, кто ее запрашивает.

Серверами имен обычно управляет ваш регистратор доменных имен или хостинг-провайдер.

Каждый сервер имен имеет собственный адрес и может хранить записи многих веб-сайтов. Например, если ваш веб-сайт размещен на Bluehost, сервер имен, используемый для управления вашими записями DNS, будет находиться на серверах имен с адресами, которые выглядят следующим образом:

У каждого доменного имени должно быть как минимум два сервера имен. Первый сервер имен является основным сервером. Если первичный сервер не отвечает, для разрешения доменного имени используется вторичный сервер имен.

Некоторые хостинг-провайдеры WordPress также позволяют пользователям получать собственные частные серверы имен. Например, в WPBeginner мы используем собственный сервер имён.

Как изменить серверы имен

Самое лучшее в системе DNS — это то, что она позволяет владельцам веб-сайтов перемещать свои веб-сайты без изменения их доменных имен.

Лучшие регистраторы доменов обычно предоставляют владельцам доменов простые инструменты для управления своими серверами имен.

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

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

Далее выберите DNS и серверы имен в меню слева.

Затем выберите доменное имя и нажмите на 3 точки в правой части экрана.

Теперь отредактируйте серверы имен, нажав «Изменить».

Затем введите свой сервер имен в соответствующее поле.

Наконец, нажмите Отправить изменения, и все готово.

Что такое запись CNAME?

CNAME означает каноническое имя. Запись CNAME — это тип записи DNS, который используется для указания доменного имени на другое доменное имя, а не на IP-адрес.

Как добавить запись CNAME

Затем отредактируйте запись CNAME, нажав на три точки рядом с записью, которую вы хотите изменить, и нажмите "Изменить".

Затем выберите CNAME в раскрывающемся меню справа. Введите информацию в соответствующие поля.

После ввода необходимой информации нажмите кнопку "Добавить DNS", и все готово.

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

Что такое запись MX?

Запись MX — это сокращение от записи почтового обменника. Это еще один тип записи DNS, который определяет почтовый сервер для обработки электронной почты для определенного доменного имени.

Как добавить запись MX

Далее нажмите синюю кнопку "Добавить запись DNS".

Затем выберите из списка запись MX, которую хотите изменить, и нажмите на три точки справа.

Теперь внесите изменения в запись MX и нажмите «Обновить DNS». Готово.

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

Что такое запись TXT?

Запись TXT — это еще один тип записи ресурса DNS. Записи TXT могут содержать записи SPF (Sender Policy Framework) и DKIM (Domain Key Identified Mail), которые добавляют зашифрованный ключ в исходящую почту.

Эта информация повышает эффективность доставки электронной почты за счет добавления уровня доверия к вашему почтовому серверу.

Как добавить запись TXT

Далее нажмите синюю кнопку "Добавить запись DNS".

Затем прокрутите вниз, пока не увидите записи TXT, и нажмите на 3 точки справа.

Наконец, внесите изменения в запись TXT и нажмите «Обновить DNS».

Бесплатный DNS и платный DNS: в чем разница?

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

Это поможет другим пользователям из этого региона быстро попасть на ваш сайт.

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

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

Вы также можете использовать бесплатных поставщиков услуг DNS, таких как Cloudflare, которые предлагают более быстрый бесплатный DNS с ограниченной защитой брандмауэра.

Большие компании обычно выбирают платный DNS, чтобы получить интеллектуальные функции, такие как 100% время безотказной работы, более высокая скорость поиска, перенаправление геотрафика, вторичный DNS, повышенная безопасность и многое другое.

В WPBeginner мы используем DNSMadeEasy в качестве поставщика DNS, потому что они являются одними из самых быстрых в отрасли.

Мы надеемся, что эта статья помогла вам узнать все о DNS и о том, как он работает. Ознакомьтесь с дополнительной литературой ниже, чтобы узнать больше.

Вы также можете подписаться на наш канал YouTube, чтобы получать пошаговые видеоруководства по WordPress, и подписываться на нас в Twitter и Facebook, чтобы быть в курсе последних обновлений.

Читайте также: