EMZETT.
Войти

A-запись

Коротко: Тип DNS-записи, напрямую сопоставляющий доменное имя с адресом IPv4.

Подробнее: A-запись («Address Record») — самый базовый тип DNS-записи: она отвечает на вопрос «какой IP-адрес принадлежит этому имени?» для IPv4. Для адресов IPv6 ту же задачу выполняет AAAA-запись.

Подробности

Структура

A-запись состоит из четырёх частей: имя, тип (A), TTL и значение (адрес IPv4).

emzett-digital.com.   3600   IN   A   76.76.21.21

Завершающая точка после доменного имени обозначает корневой домен и в инструментах обычно опускается, но технически является настоящим корневым узлом иерархии DNS — без неё имя теоретически было бы неоднозначным (относительным вместо абсолютного). 3600 — это TTL в секундах, здесь один час, по истечении которого резолвер должен снова запросить значение. IN означает «Internet» и является историческим пережитком времени, когда DNS предназначался и для других сетевых классов (например, Chaosnet) — сегодня практически всегда IN, но по соображениям совместимости остаётся обязательным полем в формате файла зоны.

Несколько A-записей и round-robin DNS

У домена может быть сразу несколько A-записей (несколько IP-адресов для одного имени). Клиенты тогда обычно выбирают один случайно или по очереди («round-robin DNS») — простой, но грубый подход к распределению нагрузки без настоящей балансировки нагрузки. Решающее отличие от настоящей балансировки: DNS ничего не знает о текущей нагрузке стоящих за ним серверов и не может автоматически реагировать на отказ сервера, пока кто-то вручную не удалит соответствующую запись (или не справится специализированная служба «health-check DNS»). Поэтому в современных конфигурациях round-robin DNS обычно используется лишь для грубого географического распределения (например, разные IP в зависимости от региона запрашивающего резолвера, «GeoDNS»), а собственно распределение нагрузки внутри региона берёт на себя настоящий балансировщик.

Взаимодействие с CNAME

Если A-запись полностью отсутствует, но есть запись CNAME, разрешается её цель — но по стандарту CNAME и A не могут существовать для одного имени одновременно. Именно поэтому многие DNS-хостинги предлагают для корневого домена (которому технически нельзя иметь CNAME) собственную альтернативу вроде «ALIAS» или «ANAME», которая для пользователя ведёт себя как CNAME, но внутри на стороне сервера разрешается в подходящую A-запись до отправки ответа.

Практическая отладка

С помощью dig (Linux/macOS) или nslookup/Resolve-DnsName (Windows) A-запись можно запросить напрямую:

$ dig emzett-digital.com A +short
76.76.21.21

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

См. также: DNS-записи, AAAA-запись, IPv4