Почему наши записи DNS не распространяют в Интернет?

ASAs не имеют команды fixup как ЯЩИК ДЛЯ ПРОБНОЙ МОНЕТЫ, сделал.

Вы используете проверки по умолчанию на трафике FTP через правило политики обслуживания?

22
задан 24 January 2017 в 10:57
6 ответов

Да, Вы неправильно понимаете, как DNS работает. Я собираюсь использовать некоторый акцент здесь, но не оскорбляйтесь, поскольку ни один не предназначается.

ЗАПИСИ DNS НЕ РАСПРОСТРАНЕНЫ. ОНИ КЭШИРУЮТСЯ.

Однако вот упрощенное объяснение того, что происходит:

  1. Вы создаете новую запись DNS (A, CNAME, и т.д.)

  2. Удаленный пользователь (более конкретно process\application, запущенный пользователем), пытается получить доступ к сервису, к которому получают доступ через что запись DNS (веб-браузер, пытающийся получить доступ к веб-сайту, работающему на funny.example.com, например)

  3. Пользователи, которым клиент DNS отправляет запрос DNS, он - сервер DNS, сервер DNS затем находит Ваши серверы имен (обычно через ряд рекурсивных запросов DNS) и просит у них информацию относительно funny.example.com

  4. Ваши серверы имен отвечают ответами

  5. Пользовательский сервер DNS затем отправляет эту информацию пользователю (более конкретно пользователям клиентский сопоставитель DNS), который в свою очередь возвращает информацию process\application. Эта информация идет с тем, что называют TTL (Время жизни), которое говорит клиентский сопоставитель DNS, сколько времени эта информация может быть удержана, это - кэш DNS (в памяти) и сколько времени информацию можно считать текущей и точной

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

Таким образом, длинное и за исключением него является этим:

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

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

42
ответ дан 28 November 2019 в 20:21

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

Я склонен доверять http://dns.squish.net/ для диагностирования проблем DNS быстро. Это скажет Вам наверняка, где Ваши проблемы лежат после внесения изменения - в основном, если делегация от восходящего потока корректна, и 2-3 сервера имен, которые все дают тому же ответу, и кто-то не видит новую запись, они должны будут просто ожидать своей локальной сети для наблюдения изменений. Если то средство проверки говорит Вам, что один из Ваших серверов не дает тот же ответ как другие, необходимо решить ту проблему.

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

Я предложил бы, чтобы перед любыми главными изменениями DNS Вы уменьшили свой TTL до 600 (10 минут), чтобы поощрить кэши вокруг Интернета не держаться за старые записи очень долго. Но некоторые кэши проигнорируют это или предположат 1 день или даже 1 неделю.

Хаотичный ответ на хаотичный вопрос, надежда там была чем-то полезным в нем все же.

11
ответ дан 28 November 2019 в 20:21
  • 1
    +1. Только, чтобы быть ясными, только те клиенты DNS, которые уже имеют информацию в их кэше, для которого не истек TTL, будут затронуты изменением. Любые новые запросы, для которых их не данные в кэше, сразу решат. –  joeqwerty 23 June 2010 в 01:45

Да старая пословица, "изменения DNS могут занять 24-48 часов для распространения через Интернет", была бы более точно "изменениями DNS, может кэшироваться на любых серверах DNS, которые запросили эту запись в течение прошлых 86 400 секунд".

Если Вы хотите гарантировать дублирование своего DNS в конечном счете, Ваш сервер идет офлайн, необходимо изучить резервный сервис DNS (как по dyndns.com) или создать собственный вторичный NS.

8
ответ дан 28 November 2019 в 20:21

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

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

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

Некоторый фон от Отказа сервера: Почему это называют DNS "Распространением"?

5
ответ дан 28 November 2019 в 20:21

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

Таким образом, если Вы будете говорить кому-то "эй, будете смотреть на мой прохладный веб-сайт http://www.example.com", то спросит компьютер другого парня свой локальный сервер имен "эй, что такое IP-адрес для www.example.com?"

Принятие локального сервера имен никогда не искало ответ на тот вопрос прежде, это попросит, чтобы корневые серверы имен узнали который поиски дескриптора сервера (серверов) для ".com". Когда это получит тот ответ, это спросит те серверы, какие серверы обрабатывают поиски для "example.com". Когда это получит тот ответ, если попросит у тех серверов IP-адреса для "www.example.com".

Когда сервер (серверы) для example.com ответит IP-адресом для www.example.com, они также дадут серверу имен запроса подсказку о том, сколько времени это должно помнить ответ на этот вопрос. Ту подсказку называют "TTL", или "время жизни", и это измеряется в секундах. Нет никакой гарантии, что любой сервер обратит любое внимание на TTL - некоторые серверы имен могут быть настроены, чтобы никогда помнить ответы на поиски и будут всегда повторять процесс даже если спрашиваемый несколько раз в секунду. Другие серверы имен могут быть настроены для хранения ответа в течение долгого времени, даже если Вы предложили, чтобы данные только были сохранены в течение короткого времени, возможно, потому что они хотят минимизировать сетевой трафик. TTL является просто предложением, не требованием или гарантией.

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

Кроме того, если Вы смотрите на свою собственную информацию DNS, использующую сайт, это разработано, чтобы исследовать или отладить информацию DNS, возможности состоят в том, что сайт не идет в данные кэша долгое время, или вообще, независимо от того, каково Ваше предложение TTL, потому что цель сайта состоит в том, чтобы, вероятно, предоставить информацию о том, что система DNS говорит ПРЯМО СЕЙЧАС, не 5 или 50 или 500 секунд назад. Поэтому Ваши изменения сразу отражаются, и почему сервис прекращает работать, как только Вы разъединяете свои серверы имен.

Я подозреваю, что Ваш базовый вопрос мог бы быть, "как я могу настроить вещи так, чтобы, если мои перезагрузки сервера DNS или его жесткий диск умирает, другие люди в Интернете все еще смогли видеть мои веб-страницы?"

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

Так, в Ваших данных WHOIS с Вашим регистратором доменных имен Вы могли бы настроить четыре сервера имен для своего домена:

ns1.example.com ns2.example.com ns1.otherguy.com ns2.otherguy.com

где ns1.example.com является Вашим текущим сервером DNS. ns2.example.com мог бы быть другой машиной в Вашей компании/организации - идеально не на той же подсети и в той же серверной стойке (или под столом того же парня) как ns1.example.com.

ns1.example.com будут считать "основным" сервером, и когда Вы захотите изменить свой DNS, Вы внесете свои изменения на той машине.

ns2.example.com будет настроен как "ведомый" сервер, который просто копирует любые данные, которые Вы настроили на ns1.example.com - но внешний мир не заботится об основном/ведомом различии, ns2.example.com будут считать столь же "официальным" как ns1.example.com.

ns1.otherguy.com и ns2.otherguy.com являются машинами, которые настраиваются где-то в другом месте - возможно, Вы назначаете встречу с другом/коллегой в другой организации для выполнения серверов имен друг для друга, или возможно Вы будите набор с dyndns.com или everydns.net или любым из других свободных или коммерческих поставщиков DNS. Однако Вы разрабатываете это, Вы настроили те машины как ведомые устройства, так, чтобы они вытянули информацию DNS для example.com из ns1.example.com (Ваше "ведущее устройство"), и они будут служить той информации DNS любой машине в Интернете, который просит ее.

После того как Ваш доменный регистратор публикует новые записи NS для Вашего домена (который должен быть приблизительно мгновенно), затем когда кто-то в Интернете спрашивает, какой сервер доменных имен обрабатывает "example.com", они получат четыре ответа -

ns1.example.com, ns2.example.com, ns1.otherguy.com, ns2.otherguy.com

В зависимости от того, как настраивается сервер имен другого парня, он мог бы рассматривать те четыре как список и спросить их по одному, как достигнуть "www.example.com" - или он мог бы спросить всех четырех из них тот же вопрос одновременно и просто взять ответ от того, какой бы ни машина отвечает сначала. Так или иначе, если ns1.example.com снизится, потому что жесткий диск перестал работать, или Вы решили перезагрузить или что бы то ни было, затем другие 3 машины будут доступны для ответа на вопрос вместо этого, и веб-сайт продолжит быть видимым.

Самый легкий способ решить эту проблему состоит в том, чтобы подписаться с поставщиком услуг DNS, который обработает DNS для Вашего домена - цена за это располагается от свободного до тысяч (вероятно, даже десятки или сотни тысяч) долларов в месяц, в зависимости от уровня обслуживания, который Вы хотите. Можно получить довольно надежную передачу для $30/лет или около этого. Бесплатные сервисы не ужасны и, следовательно, имеют довольно хорошее bang-for-the-buck отношение, но если Вы зависите от своего веб-сайта для делания денег, Вы oughta смочь придумать 30$ для ценности года DNS.

Затем следуйте инструкциям от поставщика услуг DNS для изменения записей NS в регистраторе доменных имен, и Вы будете все установлены.

2
ответ дан 28 November 2019 в 20:21

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

0
ответ дан 28 November 2019 в 20:21

Теги

Похожие вопросы