CNAME не разрешается

CNAME не разрешается

У меня есть домен ( example.com), зарегистрированный на godaddy и направленный на серверы имен, размещенные на linode. У меня есть многосайтовая установка WordPress на linode ( blogs.com), и я хочу направить домен на поддомен установки wordpress ( example.com -> example.blogs.com).

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

Whois показывает, что серверы имен linode настроены для домена, но DNS не может найти ни одного сервера имен для example.com.

Я пропустил какой-то шаг или что-то неправильно настроил?

ПРАВКА 1

Раздел ответа на запрос dig с использованием одного из серверов имен linode выглядит следующим образом:

;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 44359
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

Раздел ответов из dig с использованием сервера имен моего хоста:

;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 16379
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

Тот же ответ в поле статуса, если я укажу CNAME или просто приму стандартный запрос A.

У меня нет записи A для example.com на серверах имен linode. Нужно ли мне ее настраивать?

Это довольно недавнее изменение - несколько часов назад, так что, может быть, я просто нетерпелив? Изменения сервера имен, сделанные в то же время, пришли довольно быстро. Я думал, что запись CNAME будет одновременно с этим; я ошибаюсь в своих ожиданиях?

решение1

Технически то, что вы просите, недействительно. CNAME конфликтует со всеми другими записями(со специальным исключением для записей DNSSEC), таким образом, CNAME xxxxxконфликтуя с записями SOA, MX, NSи т. д. для домена. Я предполагаю, что причина, по которой домен разрешается, когда вы используете there, Aи не разрешается, когда вы используете CNAME, заключается в том, что DNS-сервер применяет эти ограничения и не может обработать ваш файл зоны.

Кроме того, основываясь на вашем ответе на вопрос @xwincftwx, не ясно, что работа CNAME сделает то, что вы хотите изначально. Указание CNAMEна Aзапись — этоточното же самое, что и Aзапись в первую очередь. CNAME обрабатывается полностью внутри системы DNS, а веб-браузер видит только IP-адрес. В вашем тесте с записью A(скажем, 1.2.3.4) браузер подключился 1.2.3.4и запросил у него веб-сайт example.com. Если этот сервер не настроен на обслуживание веб-сайта, example.comон обычно обслуживает сайт по умолчанию (в данном случае blogs.com).

Есливы заставили свой домен работать как CNAME, браузер запросит IP-адрес example.com. DNS увидит, что это CNAME, выполнит поиск example.blogs.comи вернет 1.2.3.4. Браузер подключится 1.2.3.4и запросит его example.comтак же, как он делал, когда это была Aзапись.

Если вы хотите, чтобы люди, идущие на , example.comперенаправлялись на example.blogs.com, вам нужно настроить базовый веб-сервер, который принимает соединения example.comи отправляет браузеру постоянное перенаправление 301, чтобы сообщить ему перейти наexample.blogs.com

решение2

Вы не можете использовать CNAME для корневой записи в файле зоны (это запрещено RFC 1034, см. раздел 3.6.2). Вместо этого вам нужно будет вставить запись A, которая указывает на тот же IP, что и цель вашего правила CNAME.

решение3

Что выводит dig example.com? Если вы знаете IP вашего сервера имен, вы можете заставить dig использовать ваш сервер имен ( dig @nameserver-ip example.com). Если это сработает, ваш сервер имен не используется для example.com. Когда вы назначили серверы имен linode? Эти изменения могут занять время. Особенно, если DNS-сервер вашего провайдера кэширует результаты...

решение4

Похоже, ваш сервер имен не работает.

Можете ли вы проверить, работает ли ваш сервер имен?

ps -aux | grep по имени

Если ваш сервер имен не запущен, запустите его и проверьте еще раз.

Если он не запустился после того, как вы его запустили, пожалуйста, опубликуйте именованную информацию /var/log/daemon и /var/log/messages

grep с именем /var/log/messages grep с именем /var/log/daemon

Возможно, это неправильная конфигурация в вашем файле зоны.

если ваш сервер имен РАБОТАЕТ, проверьте ваш named.conf, принимает ли ваша зона весь входящий трафик.

Включать записи A для example.com в файл зоны не обязательно, но рекомендуется сделать это для проверок DNS и Whois.

Связанный контент