В чем фактическая разница между записью Host и записью A? Обе указывают на IP, так в чем же разница?
решение1
В фактической спецификации DNS нет такого понятия, как запись хоста. Записи хоста, как правило, являются логической конструкцией вDDI (DNS, DHCP и IPAM)решения, такие какИнфоблокси др. Они включают в себя различные типы записей DNS (A, AAAA, PTR, CNAME и т. д.) и другие метаданные, связанные с «хостом».
решение2
Как уже отмечалось, в спецификации DNS нет записи "host". Большинство людей путают имена хостов и записи DNS, поскольку DNS часто используется для хранения связей между именами хостов и IP-адресами, представленными типами записей A
, AAAA
и .PTR
Однако DNS — это нечто гораздо большее:
- DNS — это широко распространенная иерархическая база данных, которая может использоваться для хранения любого количества вещей. Просто так получилось, что она специализируется на сопоставлении имен с IP-адресами и наоборот, потому что именно это больше всего нужно Интернету от такой базы данных.
- Все имена хостов являются допустимыми метками DNS. (метка = левая часть записи DNS)
- Не все метки DNS являются законными сущностями имени хоста.Вот тут-то люди и запутываются.Википедия освещает эту тему довольно хорошо., но краткая версия такова, что естьмногосимволы, которые пройдут проверку синтаксиса для DNS, но не являются допустимыми для использования в именах хостов. Это довольно существенный намек на то, что DNS не подчиняется спецификациям имен хостов.
Чтобы подвести итог и закрепить изложенные выше темы, я собираюсь выложить здоровенную стену текстаRFC-2181:
- Синтаксис имени
Иногда предполагается, что система доменных имен служит только для сопоставления имен хостов Интернета с данными и сопоставления адресов Интернета с именами хостов. Это неверно, DNS — это общая (хотя и несколько ограниченная) иерархическая база данных, которая может хранить практически любые данные, практически для любых целей.
DNS сама по себе накладывает только одно ограничение на конкретные метки, которые могут использоваться для идентификации записей ресурсов. Это ограничение касается длины метки и полного имени. Длина любой одной метки ограничена от 1 до 63 октетов. Полное доменное имя ограничено 255 октетами (включая разделители). Полное имя нулевой длины определяется как представляющее корень дерева DNS и обычно записывается и отображается как ".". Помимо этих ограничений, любая двоичная строка может использоваться в качестве метки любой записи ресурса. Аналогично, любая двоичная строка может служить значением любой записи, которая включает доменное имя в качестве части или всего своего значения (SOA, NS, MX, PTR, CNAME и любые другие, которые могут быть добавлены). Реализации протоколов DNS не должны накладывать никаких ограничений на метки, которые могут быть использованы. В частности, DNS-серверы не должны отказываться обслуживать зону из-за того, что она содержит метки, которые могут быть неприемлемы для некоторых программ-клиентов DNS. DNS-сервер можно настроить так, чтобы он выдавал предупреждения при загрузке или даже отказывался загружать первичную зону, содержащую метки, которые могут считаться сомнительными, однако по умолчанию этого происходить не должно.
Однако следует отметить, что различные приложения, использующие данные DNS, могут иметь ограничения, накладываемые на то, какие конкретные значения приемлемы в их среде. Например, тот факт, что любая двоичная метка может иметь запись MX, не означает, что любое двоичное имя может использоваться в качестве хостовой части адреса электронной почты. Клиенты DNS могут накладывать любые ограничения, соответствующие их обстоятельствам, на значения, которые они используют в качестве ключей для запросов поиска DNS, и на значения, возвращаемые DNS. Если у клиента есть такие ограничения, он несет исключительную ответственность за проверку данных из DNS, чтобы убедиться, что они соответствуют, прежде чем он будет использовать эти данные.
Последний абзац особенно важен. Стандарты DNS очень открыты в плане того, что законно хранитьв DNS, но другие стандарты могут диктовать, как должна предоставляться услугапотребляетDNS и может накладывать любые ограничения на то, что приложение должно (и не должно) ожидать там найти. Это именно так в случае имен хостов, которые определяются RFCснаружистандартов DNS.
решение3
DNS определяет записи A как один из возможных типов записей. Записи A иногда называют записями хоста. Это одно и то же, но я бы предпочел использовать «запись A», поскольку это официальное название.
Вы сталкивались с обоими понятиями в ситуации, когда они, казалось бы, означают разное? Я знаю, что устройства DNS Infoblox поддерживают концепцию «объекта хоста», которая представляет собой структуру данных в их конфигурации, которая транслируется в записи A и PTR на DNS-сервере.
решение4
Да, я имел дело с Infoblox. И вы были правы - Host Record - это объект, созданный Infoblox для создания как A-записи, так и PTR-записи одновременно.
Также можно создавать отдельные прямые и обратные поиски. Хотя Infoblox немного медленный при поиске в большой базе данных, он хорош для многих вещей.
Спасибо за вклад. Многому научился :)