Настройка ресурсных записей DNS для домена. Как преодолеть ограничения CNAME в корневом домене

CNAME-запись позволяет присваивать хосту псевдоним. Этот псевдоним обычно связывает с хостом какую-нибудь функцию, либо просто сокращает его имя.

Вы можете настроить доступ к странице авторизации почтовых ящиков по адресу «mail.yourdomain.tld» , где «уourdomain.tld» - имя домена, на котором созданы ящики. Для этого нужно создать CNAME-запись по приведенной ниже инструкции. Запись следует создать на тех серверах, на которые делегирован ваш домен.

Если вы делегировали домен на серверы Яндекса, нужная CNAME-запись будет настроена автоматически. Вы можете просмотреть или отредактировать ее параметры в DNS-редакторе Почты для домена.

    Откройте страницу управления DNS на сайте компании, предоставляющей вам услуги DNS-хостинга.

    Создайте CNAME-запись со следующими значениями полей (в разных панелях управления названия полей могут отличаться):

    • Имя - «mail» .

      В некоторых панелях управления в качестве имени записи требуется указывать полное имя поддомена, например, «mail.yourdomain.tld».

      Значение - «domain.mail.yandex.net.» . Обратите внимание, менять имя сервера (подставлять вместо domain имя своего домена) не нужно.

      Точка в конце имени сервера обязательна, кроме тех случаев, когда ваша панель управления добавляет эту точку по умолчанию.

    Подождите, пока изменения в DNS вступят в силу. Этот процесс может длиться до 72 часов.

Любой пользователь Интернет имеющий домены на серверах хостинг-провайдеров могут создавать и редактировать свои DNS записи. DNS записи имеют Имя, Тип записи и Адрес. Эти названия в различных панелях могут меняться. Например, может быть так:

Имя/Хост/Псевдоним; Тип записи ; Значение/Ответ/Назначение/Адрес.

Во всех вариантах «Тип записи» остается неизменным.

Имя записи

Имя записи, оно же хост/псевдоним это доменное имя, к которому принадлежит или привязана создаваемая запись.

При создании записи в поле «Имя» доменное имя указывается полностью. Имя субдомена или псевдонима не нужно указывать полностью. Достаточно указать имя третьего уровня: mail, www, ftp. Если вводите полное имя, обязательно поставьте точку в конце. То есть имя mail и mail.example.ru. это одно и то же имя в поле Имя/хост/псевдоним.

DNS записи- типы

Рассмотрим основные типы DNS записей, с которыми предстоит сталкиваться при обслуживании своих доменов.

Тип записи А

Тип записи: А (address record) или (адрес Internet 4) . Этот тип записи привязывает конкретное доменное имя на определенный, точный IP-адрес.

Можно добавить больше одного IP адреса для одного домена (имени хоста). Это нужно если используется firewall. Для этого нужно добавить вторую запись типа A, аналогично первой. Указав только другой IP.

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

Тип записи АААА

Тип записи: AAАA (address record для IPv6) или (адрес Internet 6) . Тоже. Что и тип записи А, но IP адрес имеет внешний вид по протоколу IPv6. Например: IPv6-2a03:4900:0:3::99:155

Тип записи CNAME

CNAME (каноническое имя -canonical name record) . Запись типа CNAME позволяет иметь и использовать на сервере более одного имени домена (хоста).

Сначала создается одна запись типа А, для одного IP адреса. Имя домена в записи типа А, называется каноническим именем. Другие домены называют мнемонические. Мнемонические имена могут быть псевдонимами (произвольными именами) или субдоменами. Здесь пример CNAME записи:

popov.example.ru. CNAME example.ru. (не забываем точки в конце).

Сервер может иметь любое количество псевдонимов. Для каждого псевдонима нужно создать запись типа CNAME.

Еще пример записи CNAME:

hosting-1 IN A 8.8.8.8

www IN CNAME hosting-1

ftp IN CNAME hosting-1

Покупаем второй IP и на второй IP переводим поддомен ftp:

hosting-1 IN A 8.8.8.8

hosting-2 IN A 8.8.8.9

www IN CNAME hosting-a

ftp IN CNAME hosting-b , переносим на второй хостинг FTP –сервер.

Еще пример записи CNAME:

hosting-1 IN A 8.8.8.8

peter IN CNAME hosting-1

oleg IN CNAME hosting-1

Следующими записями CNAME привязываем псевдонимы:

example.com. IN CNAME example.ru.

www.example.com. IN CNAME example.ru.

test.example.com. IN CNAME example.ru.

тем самым мы связываем домены example.com, www.example.com, test.example.com с каноническим доменом example.ru. Точки в конце обязательны.

Еще пример переадресация (редирект) с помощью записи типа CNAME

www.example.ru. IN CNAME example.ru.

Обычно, сервера по умолчанию создают записи CNAME только для поддоменов основного домена и не делают их для других доменов (как на фото).

Тип записи MX

MX (почтовый сервер). Эта запись создает поддомен, который обслуживается внутренним (своим) почтовым сервером.

Например: Имя/хост/псевдоним — example.ru; Тип записи -MX (почтовый сервер); Значение/ответ/назначение/Адрес – mail. Этой записью вы создаете почтовый поддомен mail.example.ru. Если используется внутренний почтовый сервис сервера, то для поддомена mail.example.ru нужно создать тип записи «А». Имя:mail- A (тип записи)- Адрес: IP сервера.

В качестве почтового сервиса можно использовать сторонние почтовые сервера. Для этого вам нужно привязать свой домен к стороннему почтовому серверу. На нем вам создадут, автоматом, MX запись. Если не создадут, то дадут адрес почтового сервера. После этого вам нужно создать записи типа CNAME и MX на своем сервере.

Записью CNAME переадресуйте почтовый домен mail.example.ru. на адрес почтового домена. А записью типа MX для самого домена example.ru. задайте адрес вашего стороненого почтового ящика. В качестве примера можно использовать почтовый сервер Яндекс.

  • Для Яндекс тип записи MX будет такой:

Имя/хост/псевдоним — example.ru; Тип записи -MX (почтовый сервер); Значение/ответ/назначение/Адрес – mx.yandex.ru. Приоритет 10.

  • Тип CNAME такой:

Имя/хост/псевдоним – mail; Тип записи –CNAME; Значение/ответ/назначение/Адрес –domain.mail.yandex.ru. Приоритет 10.

На почтовом сервере Яндекс , можно без делегирования домена, подключить его только к почтовому серверу Яндекс, создав там, почтовый ящик.

Кроме Яндекс, с помощью MX записей можно привязать домен к почтовым серверам Google, Mail.ru и другим:

Тип записи NS

Тип записи NS (сервер имён). Это, пожалуй, самый важный тип записи. Он определяет домены (адреса) DNS серверов, обслуживающих этот домен.

Тип записи TXT

TXT (текстовая запись) . Это информационная запись. Она не несет функциональной нагрузки.

Запись типа SOA (Start Of Authority)

Запись типа SOA показывает, где храниться на каком сервере лежит основная информация об этом домене. В записи типа SOA указывается полное, уточненное доменное имя зоны. Уточненное доменное имя должно оканчиваться точкой. В записи SOA может стоять символ @, вместо уточненного имени. В этом случае, доменное имя будет взято из файла конфигурации.

  • Произвольный серийный номер версии данных (Serial). При запросе вторичного сервера на обновление данных, он, прежде всего, проверяет серийный номер;
  • Периодичность запроса для обновления данных со стороны вторичного (Secondary) сервера (Refresh), в секундах;
  • Период повторного запроса вторичного сервера при первичной неудаче (Retry);
  • Срок действия (годности) данных (Expire), иначе истечение времени, через которое вторичный сервер перестанет обслуживать запросы, если ему не получиться восстановить связь с первичным сервером, в секундах;
  • И последнее, время жизни данных зоны DNS в кэше сервера (TTL), запросившего их, в секундах.

Приведу пример записи SOA, для Microsoft DNS

Как редактировать DNS записи в панели ISPManager

В панели ISPManager DNS записи редактируются на вкладке: Доменные имена→ «Клик» по домену.

Как редактировать DNS записи в панели DirectAdmin

В панели DirectAdmin DNS записи редактируются на вкладке: Управление DNS.

Настройка зоны домена

Если для вашего домена прописаны хостинговые DNS-серверы ns1.hosting.сайт и ns2.hosting.сайт , воспользуйтесь .

Зона для домена настраивается в разделе DNS-серверы и зона . Вы можете редактировать существующие ресурсные записи и добавлять новые.

Чтобы отредактировать существующую запись, нажмите значок Карандаш справа в нужной строке:

Во всплывающем окне введите имя поддомена и укажите IP-адрес , нажмите Готово :

Также вы можете удалить запись, которая утратила актуальность. Для этого в нужной строке нажмите значок Корзина и подтвердите удаление:

Добавление новых записей

Чтобы добавить новую запись, нажмите значок Добавить запись вверху списка и во всплывающем окне выберите из списка нужную:

Добавление А-записи

А-запись — адресная запись, связывающая ваш домен и IP-адрес сервера, на котором расположен ваш сайт.

  • в поле Subdomain
  • в поле IP Address необходимый IP-адрес

нажмите Готово :

Добавление АAAA-записи

АAAA-запись — задает преобразование имени домена в IPV6-адрес (современный сетевой протокол).

  • в поле Subdomain введите имя поддомена (при указании @ будет выбран ваш домен);
  • в поле IPv6 Address необходимый IPv6-адрес

нажмите Готово :

Добавление CNAME-записи

CNAME-запись (Canonical name) — каноническое имя для псевдонима. Запись CNAME чаще всего используется для переадресации поддомена на другой домен.

  • в поле Subdomain введите имя поддомена;
  • в поле Canonical name имя домена, на который должен ссылаться домен из поля Subdomain

нажмите Готово :

Добавление MX-записи

MX (Mail Exchanger) — адрес почтового шлюза для домена. Состоит из двух частей: приоритета и адреса узла. Записи MX критически важны для работы почты. Благодаря им, отправляющая сторона «понимает», на какой сервер нужно отправлять почту для вашего домена.

  • в поле Subdomain введите имя поддомена (@ — для настройки почты адресам вида почта@ваш_домен);
  • в поле Mail Server адрес сервера, который будет отвечать за работу почты на вашем домене;
  • в поле Priority приоритет записи

нажмите Готово :

Добавление NS-записи

NS (Authoritative name server) — адрес узла, отвечающего за доменную зону. Проще говоря, запись NS указывает, какие DNS-серверы хранят информацию о домене. Критически важна для работы службы DNS.

NS-записи добавляются автоматически после указания DNS-серверов:

Добавление TXT-записи

TXT (Text string) — содержит любую текстовую запись. Широко применяется для проверок на право владения доменом при подключении дополнительных сервисов, а также для записи SPF и ключа DKIM.

  • в поле Subdomain введите имя поддомена (при указании @ будет выбран ваш домен);
  • в поле Text значение записи TXT

нажмите Готово :

Добавление CAA-записи

CAA-запись — определяет правила выпуска SSL/TLS сертификатов для поддомена, которым будут следовать центры сертификации.

  • в поле Subdomain укажите поддомен (при указании @ будет выбран ваш домен);
  • в поле Flag критичность правила (значение или 128 );
  • в поле Tag определяет содержимое поля Value;
  • в поле Value введите нужное значение исходя из значения поля Tag

нажмите Готово .

Обновление DNS-серверов может занять до 48 часов.

Мы размещаем множество веб-приложений для наших клиентов. Очевидно, что они хотят использовать свои собственные домены для ссылки на эти приложения, обычно они хотят, чтобы любой пользователь, который http://www.customer1.example или http://customer1.example пошел в свое веб-приложение.

Ситуация, с которой мы сталкиваемся, заключается в том, что мы должны иметь возможность менять IP-адреса в ближайшем будущем. И мы не хотим полагаться на то, что клиент вносит изменения в записи A в своих доменах. Поэтому мы подумали, что использование записей CNAME будет работать, но, как мы выяснили, записи CNAME не будут работать для корневого домена.

В принципе:

Customer1.example IN CNAME customer1.mycompanydomain.example //this is invalid as the RFC www.customer1.example IN CNAME customer1.mycompanydomain.example //this is valid and will work

Мы хотим иметь возможность изменить IP-адрес customer1.mycompanydomain.example или запись A и наши клиенты будут следовать этой записи, которую мы контролируем.

в нашем DNS это будет выглядеть так:

Customer1.mycompanydomain.example IN A 192.0.2.1

Есть идеи?

8 ответов

Благодаря сипвизу и мистеру Эвилю. Мы разработали PHP script, который проанализирует URL-адрес, который пользователь вводит и вставляет www в начало. (например, если клиент входит kiragiannis.com , он перенаправляется на www.kiragiannis.com). Поэтому наш клиент указывает свой корень (например, customer1.com на A запись, где находится наш веб-редиректор), а затем www CNAME на реальную запись A , управляемую нами.

Ниже кода в случае, если вы заинтересованы в будущем нас.

Причина, по которой этот вопрос все еще часто возникает, заключается в том, что, как вы упомянули, где-то кто-то считал важным автором, что RFC заявляет, что доменные имена без поддоменов перед ними недопустимы. Однако, если вы внимательно прочитаете RFC, вы поймете, что это не совсем то, что написано. Фактически, RFC 1912 заявляет:

Не переусердствуйте с CNAME. Используйте их при переименовании хостов, но планируйте избавиться от них (и проинформируйте своих пользователей).

Некоторые DNS-хосты предоставляют способ получить CNAME-подобную функциональность на верхушке зоны (уровень корневого домена для "голого" доменного имени), используя пользовательский тип записи. Такие записи включают, например:

  • Алиас в DNSimple
  • ANAME в DNS Made Easy
  • ANAME на easyDNS
  • CNAME на CloudFlare

Для каждого провайдера настройка аналогична: укажите запись ALIAS или ANAME для вашего домена apex на example.domain.com, так же, как и в случае записи CNAME. В зависимости от провайдера DNS, пустое значение или значение @Name определяет вершину зоны.

ALIAS или ANAME или @example.domain.com.

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

Я категорически не согласен с утверждением, что это делают только "любители-админы" или подобные идеи. Это просто "Что нужно сделать имени и его сервису?" разобраться, а затем адаптировать свой DNS-конфигурацию для удовлетворения этих пожеланий; Если вашими основными услугами являются Интернет и электронная почта, я не вижу никаких ДЕЙСТВИТЕЛЬНЫХ причин, по которым удаление CNAME навсегда было бы проблематичным. В конце концов, кто предпочел бы @subdomain.domain.org над @domain.org? Кому нужен "www", если вы уже настроили сам протокол? Нелогично предполагать, что использование корневого доменного имени будет недопустимым.

CNAME - запись корня технически не против RFC, но имеет ограничения, что означает, что это не рекомендуется.

Обычно ваша корневая запись будет содержать несколько записей. Скажем, 3 для ваших серверов имен, а затем один для IP-адреса.

Если CNAME RR присутствует на node, никакие другие данные не должны быть присутствует;

И в документе IETF "Общие ошибки в работе и конфигурации DNS":

Это часто предпринимают неопытные администраторы как очевидные чтобы ваше доменное имя также являлось хостом. Однако DNS серверы, такие как BIND, увидят CNAME и откажутся добавлять любые другие ресурсов для этого имени. Поскольку никакие другие записи не разрешены сосуществуют с CNAME, записи NS игнорируются. Поэтому все хосты в домене podunk.xx также игнорируются!

Я не знаю, как они справляются с этим, или какие отрицательные побочные эффекты могут быть, но я использую Hover.com для размещения некоторых из моих доменов и недавно установил вершину моего домена как CNAME. Их инструмент редактирования DNS вообще не жаловался, и мой домен с радостью разрешается через назначенный CNAME.

Вот что Dig показывает мне для этого домена (фактический домен, запущенный как mydomain.com):

; <<>> DiG 9.8.3-P1 <<>> mydomain.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2056 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;mydomain.com. IN A ;; ANSWER SECTION: mydomain.com. 394 IN CNAME myapp.parseapp.com. myapp.parseapp.com. 300 IN CNAME parseapp.com. parseapp.com. 60 IN A 54.243.93.102

Вы должны указать период в конце внешнего домена, чтобы он не думал, что вы имеете в виду client1.mycompanydomain.com.localdomain;

Итак, просто измените:

Customer1.com IN CNAME customer1.mycompanydomain.com

Customer1.com IN CNAME customer1.mycompanydomain.com.

Sipwiz правильно, единственный способ сделать это правильно - это гибридный подход HTTP и DNS. Мой регистратор является повторным продавцом для Tucows, и они предлагают переадресацию доменов в качестве бесплатной добавленной стоимости.

Если ваш домен - blah.com, они спросят вас, куда вы хотите переадресовать домен, и введите его на www.blah.com. Они назначают запись A их серверу apache и автоматически добавляют blah.com в качестве DNS-хоста. Vhost отвечает с ошибкой HTTP 302, перенаправляя их на правильный URL. Это просто для script/setup и может быть обработано с помощью low-end в противном случае было бы утилизировано.

Выполните следующую команду для примера: curl -v eclecticengineers.com



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: