it-swarm.xyz

Действительна ли DNS-запись CNAME с подстановочным знаком?

Я знаю, что допустимо иметь запись DNS A, которая является подстановочным знаком (например, * .mysite.com). Возможно ли/допустимо/рекомендовано иметь подстановочную запись CNAME?

89
Ben Mills

Это возможно сделать. В какой-то момент он немного поднимался в воздух, пока 4592 не выяснил, что его следует поддерживать.

То, что это возможно, не означает, что оно поддерживается всеми провайдерами DNS. Например, GoDaddy не позволит вам установить подстановочный знак в записи CNAME.

С точки зрения того, целесообразно или нет, это зависит от вашего использования. Обычно CNAMES используются для удобства, когда вы указываете на "внешнее" доменное имя, на котором вы не контролируете DNS.

Например, допустим, вы настроили систему CMS, которая позволяет вам использовать * .mycms.com в качестве имени сайта (он использует заголовки хоста). Вы хотите, чтобы клиенты могли легко настроить * .cms.customer.com, не беспокоясь о том, что в какой-то момент вы можете изменить свой IP-адрес. В этом случае вы можете посоветовать им настроить подстановочный знак CNAME с именем * .cms.customer.com для www.mycms.com.

Поскольку подстановочные знаки CNAMES поддерживаются не всеми провайдерами (например, GoDaddy), я бы не советовал использовать его в случае, когда вы предлагали его для различных клиентов (когда вы не знаете возможностей их провайдера).

62
Adam Brand

Я добавил строку

*.www        IN CNAME        my_webserver

к моему файлу зоны в моем конфиге bind, и это сработало идеально (то есть. whatever.www.domain.com а также whatever2.www.domain.com все указывает на my_webserver.

Также было возможно добавить исключения к этому, добавив строку

exception.www        IN CNAME        another_server

так что exception.www.domain.com указал на another_server.

21
Ztyx

Просто добавьте, что Amazon Route 53 поддерживает подстановочные знаки в любой записи типа .

Таким образом, вы можете безопасно использовать Route 53 в качестве вашего DNS-провайдера.

12
balexandre

Мы постоянно используем подстановочные знаки, и у нас не было никаких проблем. Если вы указываете на ipaddres, используйте:

*.mysite.com     Host (A)    Default     xxx.xxx.xxx.xxx

Если вы хотите использовать псевдоним, выполните:

*.mysite.com.   IN CNAME mysite.com.
4
Colt Blake

Насколько я помню, вы можете (ish) сделать это, но тогда этот CNAME не может использоваться никаким другим типом записи, таким как NS или MX).

Не совсем уверен, что вы пытаетесь достичь с помощью символа подстановки, поэтому я должен дать общий ответ :)

Чтобы уточнить, CNAME aserver.domain означает, что у вас не может быть другого имени.aserver.domain

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

4
MattB

когда вы создаете запись CNAME, заканчивайте указанный сервер точкой, например: * .mydomain.com. Обратите внимание на последнюю точку

2
Jesus Mogollon

Это работает сейчас.

Просто используйте "*" в разделе cname редактора файлов зон или менеджера DNS от Godaddy и укажите IP-адрес или DNS-имя.

В моем случае я использовал его с DNS-именем, указывающим на облачный сервис Microsoft Azure, и он отлично работал. Это работает для bla.domain.ext, но также и для bla.bla.domain.ext. Может работать иначе для другого поставщика.

1
Martijn van Halen

Вот результаты моего теста. Я удалил записи A для mysite.com и www.mysite.com и добавил запись CNAME для * .mysite.com. Тест не сработал. mysite.com не разрешит. Просто чтобы прояснить, я использую OpenDNS для своих DNS-серверов. Может быть, он отлично работает с другими DNS-серверами, но я, очевидно, хочу, чтобы он работал универсально. Основываясь на этих результатах, я собираюсь придерживаться стандартных записей А.

1
Ben Mills