У меня есть домен ( 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.