Domain IP Lookup

Одно имя хоста — несколько записей A

1-й ответ

93.184.216.34

2-й ответ

93.184.216.35

3-й ответ

93.184.216.36

Резолвер возвращает все записи, обычно с ротацией порядка

Инфраструктура и эксплуатация

Почему у одного домена несколько IP-адресов

4 мин чтения

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

Одно имя хоста — несколько записей A

1-й ответ

93.184.216.34

2-й ответ

93.184.216.35

3-й ответ

93.184.216.36

Резолвер возвращает все записи, обычно с ротацией порядка

Одно имя хоста, несколько A-записей. Резолвер возвращает все, обычно в меняющемся порядке.

1. DNS round-robin

Самый простой подход: опубликовать несколько записей A для одного имени. Резолверы возвращают их в меняющемся порядке, поэтому разные клиенты сначала пробуют разные серверы.

Три A-записи на одном имени
example.com.    300    IN    A    93.184.216.34
example.com.    300    IN    A    93.184.216.35
example.com.    300    IN    A    93.184.216.36

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

2. Геомаршрутизация (GeoDNS)

Здесь авторитативный сервер имён смотрит, откуда пришёл запрос, и возвращает ответ, подходящий для этого места. Посетитель в Европе получает адрес во Франкфурте, а в Азии — в Сингапуре.

Поэтому два человека вполне законно получают разные ответы для одного домена в один и тот же момент. Ни один из ответов не устарел и не неверен: сервер имён намеренно ответил по-разному.

Ключевой вывод

При геомаршрутизации единственно правильного ответа для домена не существует. Ответ зависит от того, кто спрашивает и откуда.

3. Anycast

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

ГеомаршрутизацияAnycast
Работает на уровнеDNSМаршрутизации (BGP)
Возвращаемые адресаРазные для каждого регионаВсегда одинаковые
Скорость переключения при отказеЖдёт истечения TTL в DNSСекунды: маршрутизация перестраивается
Видно при проверке?Да: ответы различаютсяНет: выглядит как один обычный адрес

1.1.1.1 — известный пример: одни и те же четыре числа по всему миру, которые обслуживают сотни отдельных центров обработки данных. Anycast невидим для DNS-проверки, и именно поэтому он так эффективен.

4. Dual-stack: A и AAAA вместе

Самая распространённая и наименее интересная причина. Домен, публикующий и IPv4, и IPv6, возвращает оба адреса, а клиент выбирает тот, который поддерживает.

Вовсе не балансировка: два семейства адресов
example.com.    3600    IN    A       93.184.216.34
example.com.    3600    IN    AAAA    2606:2800:220:1::248

Dual-stack-клиенты, как правило, предпочитают IPv6 и переключаются на IPv4. См. записи A и AAAA.

Что клиент делает со списком

Получение нескольких адресов — лишь полдела: что произойдёт дальше, решает клиент, и современное поведение умнее прежнего.

Соответствующий механизм называется Happy Eyeballs и описан в RFC 8305. Браузер, получивший и адреса IPv6, и адреса IPv4, не пробует один, дожидаясь тайм-аута, а затем другой. Он начинает соединение по IPv6, ждёт короткий интервал (обычно около 250 миллисекунд) и, если соединение не установлено, параллельно запускает попытку по IPv4. Побеждает то, что завершится первым, а проигравшее отбрасывается.

Практическое следствие: неработающий адрес в списке снижает скорость, а не приводит к полному отказу. Это страховочная сетка, а не разрешение на небрежность: мёртвый адрес всё равно стоит каждому посетителю задержки до переключения.

Когда DNS не подходит для задачи

К round-robin DNS часто прибегают как к балансировщику нагрузки. Важно чётко понимать, чего он не умеет.

ВозможностьDNS round-robinНастоящий балансировщик нагрузки
Проверка работоспособностиНет: неработающие серверы остаются в спискеИсключает отказавшие бэкенды за секунды
Весовое распределение трафикаНет: примерно поровнуВеса для каждого бэкенда
Привязка сессийНетПоддерживается
Скорость переключения при отказеЖдёт истечения TTLМгновенно
СтоимостьБесплатноСервис, который нужно поддерживать или оплачивать

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

Как их различать

Что вы наблюдаетеВероятная причина
Несколько адресов IPv4, каждый раз одни и те жеDNS round-robin
Разные адреса из разных странГеомаршрутизация
Один адрес, быстро работающий вездеAnycast
Смесь адресов с точками и с двоеточиямиDual-stack, а не балансировка
Обратный запрос по адресам даёт имя хоста CDNEdge-узлы CDN
Проверьте через разные резолверы, чтобы заметить геомаршрутизацию
dig +short example.com @1.1.1.1
dig +short example.com @8.8.8.8

Что это значит, когда вы проверяете домен

Это меняет то, какой вес стоит придавать одному ответу.

  • Несколько адресов — это нормально. Обычно они указывают на избыточность, а не на ошибку конфигурации.
  • Ваш ответ не универсален. При геомаршрутизации или CDN кто-то в другом месте видит другое, и оба ответа верны.
  • Не прописывайте их жёстко. Адреса ротируются, заменяются и переназначаются. Всегда разрешайте имя в момент соединения.
  • Порядок ничего не значит. Ротация часто намеренная; первый адрес не является основным.

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

Нужно проверить публичные DNS-адреса домена? Воспользуйтесь инструментом Domain IP Lookup.

Часто задаваемые вопросы

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

Почему проверка показывает CDN, а не исходный сервер

Посетитель

запрашивает домен

Edge-сервер CDN

104.21.x.x

именно его возвращает DNS

Исходный сервер

реальный IP не раскрывается

Инфраструктура и эксплуатация

Почему CDN скрывает IP исходного сервера: так и задумано

Проверили домен и получили адрес Cloudflare? Это система работает правильно. Что стоит за ним и почему заглянуть дальше нельзя.

3 мин чтения

Записи, которые встретятся почти в каждой зоне

AИмя хоста → адрес IPv4
AAAAИмя хоста → адрес IPv6
CNAMEИмя хоста → другое имя хоста
MXДомен → почтовые серверы по приоритету
TXTДомен → произвольный текст: SPF, DKIM, верификация
NSДомен → серверы имён, отвечающие за него
Основы DNS

Что такое DNS A-запись (и когда нужна AAAA)

Запись, которая на деле направляет ваш домен на сервер: её устройство, аналог AAAA и четыре ошибки, чаще всего ломающие сайты.

3 мин чтения

Рекурсивный DNS-запрос: шаг за шагом

Браузер

нужен example.com

Резолвер

ваш провайдер / 1.1.1.1

Корень + TLD

кто отвечает за .com?

Авторитетный

настоящий ответ

Каждый шаг цепочки — тоже DNS-запрос, и его ответ потом кэшируется

Основы DNS

Как работает DNS: от доменного имени к IP-адресу

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

3 мин чтения