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

Сколько времени займет смена DNS

Если я собираюсь внести изменение DNS в запись A для своего домена (переход с одного IP-адреса на другой), сколько времени я могу ожидать, пока люди не перейдут на новую информацию? Это просто <= TTL? Я знаю, что раньше это занимало время, но в 2009 году, как долго мне ждать?

Теоретически каждый должен видеть обновленную запись A где-то между мгновенным и соответствующим значением TTL. Большинство регистраторов устанавливают TTL на 24 часа IIRC, поэтому в течение 24 часов некоторые люди будут видеть старый адрес, а некоторые - новый, а через 24 часа после изменения у всех должен быть новый адрес, а некоторые вместо этого используют более низкое значение, например 4 часа.

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

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

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

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

Это зависит от того, как долго клиенты кэшируют информацию DNS, которая должна соответствовать значению TTL. Однако, поскольку клиент определяет, как долго хранить информацию, вы не можете быть уверены (в конце концов, клиенты могут выполнять разрешение вручную и, таким образом, полностью игнорировать TTL).

Обычно это <= TTL, но некоторые клиенты и DNS-прокси кэшируют старые настройки дольше, чем TTL.

Согласился с Майком. Обычно мы говорим нашим клиентам 24-48 часов для распространения информации по всему миру для всех интернет-провайдеров. Большинство крупных интернет-провайдеров соблюдают TTL и быстро обновляют. Некоторые из более удаленных мест занимают больше времени. Удачи!

Для практических целей все DNS-серверы будут видеть изменение записи A где-то между мгновенно и значением TTL для записи A. В Статья в Википедии имеет отличную рецензию на эту тему.

Отдельные приложения могут не видеть изменения в пределах TTL из-за локальных кэшей DNS в маршрутизаторах, брандмауэрах, операционных системах и приложениях. Как упоминалось в статье в Википедии: «Эти кеши обычно используют очень короткое время кэширования - порядка одной минуты. Internet Explorer предлагает заметное исключение: последние версии кэшируют записи DNS в течение получаса».

Перезагрузка (или цикл включения питания для маршрутизаторов) обычно очищает все локальные кеши DNS, но, очевидно, вы не можете ожидать, что каждый пользователь перезагрузит каждое устройство после того, как вы измените свою запись A.

Если вы не можете изменить свои записи A напрямую, то любое приложение, которое вносит изменения (например, программное обеспечение панели управления), может вносить свои собственные задержки.

Мы используем значение TTL по умолчанию, равное 4 часам. Если мы планируем изменить запись A, мы снижаем TTL записи A до 5 минут (это необходимо сделать более чем за 4 часа, прежде чем изменение вступит в силу). После внесения изменений мы возвращаем TTL обратно на 4 часа. Большинство приложений видят изменения сразу, но некоторые пользователи звонят с проблемами и нуждаются в перезагрузке.

В статье Википедии также есть хорошее обсуждение «распространения»: «Многие люди неправильно ссылаются на таинственное 48-часовое или 72-часовое время распространения, когда вы вносите изменения в DNS ...». Корневые серверы (а не регистраторы) контролируют TTL для NS-записей вашего домена. Вы можете сами увидеть эти значения TTL с помощью команды nslookup. Прямо сейчас TTL для моих записей NS на корневом сервере "F" установлен на 2 дня.

Я всегда говорю своим пользователям, что полное распространение займет 48 часов, чтобы компенсировать все проблемы, упомянутые выше. Общее правило, о котором следует помнить, - это <= TTL, за исключением случаев, когда вам ДЕЙСТВИТЕЛЬНО нужно, чтобы это было ...

Помимо TTL (то, что ты control, см. отличный совет Брайана Клэппера) и возможное более длительное время кэширования внутри некоторых приложений, есть также время синхронизации между официальными серверами имен. Оно может быть близким к нулю, если каждый сервер имен получает NOTIFY, и может длиться несколько часов (в зависимости от настроек записи SOA), если NOTIFY было пропущено (что иногда случается).

Итак, подчеркнем совет Брайана Клэппера: планируйте заранее.

Если вы говорите о Windows и о внутреннем, это зависит от исходного TTL. Когда мы заранее знали, что собираемся внести изменения, мы устанавливали TTL на рекордно низком уровне A ... до 5 минут. Затем, как только изменение было внесено, мы увеличили TTL до более нормального значения.

Если вы говорите об Интернете, все ставки отключены. Как уже упоминалось, некоторые кэширующие контроллеры домена полностью игнорируют TTL. В таких случаях мы придерживаемся общего правила - 48 часов. ОДНАКО, если ваш домен ранее размещался у другого провайдера, и они не избавились от SOA в вашем домене, то любой из клиентов, использующих их DNS-серверы, все равно будет указан неверно. Мы видели эту проблему с BellSouth (теперь AT&T).

Я видел в среднем 3-4 часа для большинства людей. Тем не менее, я все еще использую 7 дней как практическое правило для полной замены. Как правило, это относится ко всем людям, которые плохо себя чувствуют с TTL DNS.

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

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

Он может быть больше, чем TTL (замененной) записи: многие клиенты игнорируют TTL, если он слишком низкий, или привязывают его к другому значению (например, часу). Есть и другие тайники; Firefox (например) кеширует DNS на минуту (игнорируя TTL), но некоторые исправления / конфигурации увеличивают это значение до часа.

Печальный (но верный) ответ зависит от того, кто спрашивает ваши (DNS) ответы.