У меня есть домен example1.com - DNS, управляемый на Linode.com
Есть сайт, размещенный на example1.com (1.1.1.2), и он отлично работает.
У меня есть запись A для example1.com, которая указывает sub.example1.com на 1.1.2.2
Я могу подтвердить, что запросы к sub.example1.com разрешают 1.1.2.2, как и ожидалось.
Я добавил sub.example1.com в DigitalOcean и подключился к своему серверу.
sub.example1.com отлично загружает мой сайт с сервера в DigitalOcean.
Теперь я добавил подстановочный знак записи A *
что указывает на тот же 1.1.2.2 (* .sub.example1.com)
Я достаточно долго ждал распространения DNS, но эхо-запросы к random.sub.example1.com не работают, так как хост не может быть определен.
Почему я не могу добавить подстановочный знак для субдомена субдомена? Это вообще возможно?
Что-то неправильно настроено. Вы пытаетесь определить отдельную зону DNS для своего поддомена, но она не существует в Интернете, обращенном к DNS-серверам.
Вот что я вижу, заменив ваш домен на example.com.ng
:
$ dig +trace accounts.example.com.ng SOA
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> +trace accounts.example.com.ng SOA
;; global options: +cmd
. 130141 IN NS l.root-servers.net.
. 130141 IN NS i.root-servers.net.
. 130141 IN NS d.root-servers.net.
. 130141 IN NS e.root-servers.net.
. 130141 IN NS g.root-servers.net.
. 130141 IN NS j.root-servers.net.
. 130141 IN NS k.root-servers.net.
. 130141 IN NS c.root-servers.net.
. 130141 IN NS m.root-servers.net.
. 130141 IN NS a.root-servers.net.
. 130141 IN NS b.root-servers.net.
. 130141 IN NS f.root-servers.net.
. 130141 IN NS h.root-servers.net.
;; Received 488 bytes from 75.75.75.75#53(75.75.75.75) in 15 ms
ng. 172800 IN NS ns1.nic.net.ng.
ng. 172800 IN NS ns2.nic.net.ng.
ng. 172800 IN NS ns3.nic.net.ng.
ng. 172800 IN NS ns4.nic.net.ng.
ng. 172800 IN NS nsa.nic.net.ng.
;; Received 246 bytes from 128.63.2.53#53(128.63.2.53) in 48 ms
example.com.ng. 21600 IN NS ns1.linode.com.
example.com.ng. 21600 IN NS ns2.linode.com.
example.com.ng. 21600 IN NS ns3.linode.com.
;; Received 104 bytes from 194.0.1.29#53(194.0.1.29) in 81 ms
example.com.ng. 86400 IN SOA ns1.linode.com. REDACTED.gmail.com. 2015030476 14400 14400 1209600 86400
;; Received 108 bytes from 65.19.178.10#53(65.19.178.10) in 74 ms
Видеть, что SOA
запись в конце? Это не SOA
запись для вашей второй зоны. Мы не можем сказать вам, почему это так, но до тех пор, пока это не будет исправлено, ни одно из изменений, внесенных вами в этот второй файл зоны, не повлияет на запросы DNS.
Я собираюсь поделиться ответами, которые я получил как от Linode, так и от Digital Ocean, поскольку я считаю, что они могут быть кому-то полезны в какой-то момент:
Линод
Я считаю, что проблема, с которой вы столкнулись, связана с тем, что у вас нет зоны DNS для домена второго уровня. Насколько я понимаю, вам нужно создать новую зону для accounts.example.com.ng, вам нужно будет создать записи NS в зоне example.com.ng, которые указывают на ns1.linode.com - ns5.linode. com.
Как только это будет выполнено, вы можете создать CNAME для подстановочного знака, указывая на то место, куда вы собираетесь его указывать. Затем вы захотите создать запись A для «accounts.example.com.ng» (поле имени хоста будет пустым), которая указывает на любой IP-адрес по вашему выбору (даже 127.0.0.1).
Надеюсь, это поможет!
Цифровой океан
Я вижу, что вы добавили запись с подстановочными знаками в настройки DNS здесь, и это выглядит правильно; однако, если DNS верхнего домена (example.com.ng) обслуживается серверами имен Linode, вам следует добавить запись туда, а не создавать отдельный файл зоны DNS здесь, в DigitalOcean. Если есть какие-либо проблемы с конфигурацией, их группа поддержки может увидеть записи DNS, которые вы пытаетесь создать, и сможет лучше помочь.
Сообщите нам, если у Вас возникнут другие вопросы!
Вторая запись (другой персонал):
Спасибо, что нашли время написать сегодня. Такой уровень службы DNS вполне возможен. Проблема, с которой вы столкнулись, заключается в том, что вы просто добавили запись A при создании accounts.example.com.ng. А запись * .accounts.example.com.ng требует для работы фактического делегирования поддомена. Поддомены требуют, чтобы записи сервера имен указывали на новый сервер для делегирования. Если вы запустили сервер имен на accounts.example.com.ng и делегировали всю зону этому серверу, тогда у вас может быть хост accounts.example.com.ng * .accounts..example.com.ng.
Это выглядело бы примерно так:
ns1.linode.com (авторский сервер) - example.com.ng
| -----> ns1.accounts.example.com.ng (авторский сервер) - accounts.example.com.ng (DigitalOcean Droplet) | -----> ns1.accounts.example.com.ng A 1.1.2.2 -----> * .accounts.example.com.ng A 1.1.2.2
Вы также можете попробовать протестировать запись с двойной подстановкой. Это будет выглядеть примерно так:
*.*.example.com.ng A 1.1.2.2
Чтобы лучше понять записи DNS с подстановочными знаками, я бы рекомендовал прочитать http://en.wikipedia.org/wiki/Wildcard_DNS_record а для более глубокого взгляда на тему прочтите http://tools.ietf.org/html/rfc4592
Пожалуйста, дайте нам знать, если мы можем вам еще чем-то помочь.
С уважением, Майк. Поддержка DigitalOcean. Посетите наше сообщество, чтобы найти отличные учебники, статьи и ответы на часто задаваемые вопросы! https://digitalocean.com/community
Я собираюсь проанализировать это и попробовать предлагаемые решения. Я обновлю этот пост всем, что работает!
Обновить: После обмена несколькими сообщениями со службой поддержки Linode я смог правильно настроить DNS. Этот ответ помог:
Единственный способ сделать это - установить accounts.example.com.ng как отдельную зону, а затем в этой зоне создать запись A для IP-адреса, который в настоящее время установлен для accounts.example.com.ng, а затем установить * .accounts.example.com.ng в этой зоне на нужный IP-адрес.