Что происходит, когда у вас есть и запись A, и сервер имен?

Что происходит, когда у вас есть и запись A, и сервер имен?

Итак, у меня есть друг, который пытается сделать что-то необычное между своим основным доменом и поддоменами. В конечном итоге ему нужно, чтобы blog.hisdomain.com указывал на дурацкий хост cPanel, а его основной домен указывал на статический IP (для AWS).

Я не эксперт в http или dns, но я пытался помочь ему разобраться с этим, пока он не спал (сейчас в его стране ночь), но, похоже, это не особо сработало.

Я попросил его выполнить следующие шаги:

  1. Его основной домен был настроен в cPanel с установленными серверами имен, поэтому я попросил его создать в cPanel поддомен для blog.hisdomain.com, который просто подключался к публичному корню.
  2. Затем я попросил его добавить запись A для "blog" с IP хоста cPanel в качестве значения. Это сделало так, что мы могли видеть его блог по адресу blog.hisdomain.com.
  3. Затем я попросил его изменить запись "@" A, чтобы она указывала в другом месте. Я просто взял IP-адрес Google для этого значения. Сначала это ничего не изменило, но мы решили, что это может быть проблема распространения.

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

решение1

Нет. Сосуществование записей A и записей NS для записи @ вполне допустимо (и довольно распространено).

Однако недопустимо, чтобы записи CNAME сосуществовали с любым другим типом записи. RFC 1034 гласит: «если запись CNAME RR присутствует на узле, то никаких других данных быть не должно; это гарантирует, что данные для канонического имени и его псевдонимов не могут отличаться». Недавно я столкнулся с этой конкретной проблемой и был ошеломлен тем, что запись TXT и запись CNAME не могут сосуществовать.

Вот несколько вещей, которые я бы сделал:

  • Очистите кэш DNS-резолвера
    • Windows: ipconfig /flushdns
    • Linux: sudo service nscd restart
    • Mac OS X
      • Горный лев и лев: sudo killall -HUP mDNSResponder
      • Снежный барс: sudo dscacheutil -flushcache
  • Я бы убедился, что ваш друг использует запись A, а не запись CNAME.
  • Я бы попросил вашего друга проверить TTL в @-записи (или в самой зоне) - вы не упомянули, какой был TTL. Хотя 86400 секунд (24 часа) - это распространенное значение TTL, всегда возможно, что оно установлено намного выше, чтобы сократить трафик DNS.
  • Используйте утилиту DNS-запросов (например, dig) для прямого запроса DNS-сервера.

Связанный контент