Один из способов проверки сайтов при использовании инструментов Googles для веб-мастеров - добавить запись TXT на сервер имен, используя имя хоста и добавив предоставленный текст.
Случайно (потому что я просто не знал) я добавил две записи TXT, одну с участием «www» и один без него, чтобы убедиться, что Google примет код (потому что в инструментах для веб-мастеров сайт был введен с «www»).
Произошло следующее: после того, как DNS-записи распространились, сайты больше не были доступны при использовании имени хоста с www. РЕДАКТИРОВАТЬ: Нет конкретного сообщения об ошибке, просто «Сервер не найден».
Зачем? Вероятно, было наивно думать, что формат записи TXT несколько произвольный, но может ли кто-нибудь объяснить шокированному разработчику (= не администратору), почему запись TXT может влиять на то, что должно обрабатываться записями A так разрушительно?
РЕДАКТИРОВАТЬ: Вот пример (но, конечно, его больше нет в сети). Сайт размещен в domainfactory, общем хостере, где можно редактировать настройки DNS (или управлять ими на фабрике домена - в этом случае в столбце Ziel отображается их имя; обычно смешивать записи не проблема):
Это как раз последняя запись, сделавшая сайт недоступным.
Однако сказать мне, что этого не должно происходить, тоже хороший ответ - тогда я могу спросить у хостинг-провайдера.
Простите меня, если я не знаком с nslookup, но я сделал один поиск с и один без www на одном из доменов, которые все еще не работают, и вот результат:
C:\>nslookup www.foo.de
Server: dns2.colt1.inetserver.de
Address: 195.234.228.93
Name: www.foo.de
И второй:
C:>nslookup foo.de
Server: dns2.colt1.inetserver.de
Address: 195.234.228.93
Nicht autorisierende Antwort:
Name: foo.de
Address: 81.20.84.178
Разница в том, что запрос без «www» показал «Nicht autorisierende Antwort:» (вероятно, «неавторизационный ответ»), но правильный IP.
Хорошо, я могу продублировать поведение (BIND 9.6) и считаю, что понял причину:
Если у тебя есть подстановочный знак Рекорд и более конкретная запись TXT, как показано ниже, бьют.
*.test.bsd-box.net. IN A 127.0.0.1
www.test.bsd-box.net. IN TXT "This be a text record, mon!"
но если у вас есть конкретный Запись отлично работает:
*.test.bsd-box.net. IN A 127.0.0.1
www.test.bsd-box.net. IN A 127.0.0.1
www.test.bsd-box.net. IN TXT "This be a text record, mon!"
Таким образом, очевидно, что наличие более конкретной записи (даже другого типа) маскирует подстановочную запись A.
Я не уверен, какова основная логика, которая вызывает подстановочный знак A
запись, чтобы не распознаваться, если есть более конкретная TXT
или нет, но вы можете просмотреть DNS RFC (и / или источник BIND) для получения более подробной информации.
Потому что это мешает вашему подстановочному знаку ("*
") запись. Если у вас есть какие-либо записи для элемента, подстановочный знак больше не соответствует ни одному типу записи.
Из RFC1034, §4.3.3:
RR с подстановочными знаками не применяются… [w] если имя запроса или имя между доменом с подстановочными знаками и именем запроса [известно] о существовании. Например, если RR с подстановочным знаком имеет имя владельца «* .X», а зона также содержит записи RR, прикрепленные к BX, подстановочные знаки будут применяться к запросам для имени ZX (при условии, что нет явной информации для ZX), но не в BX, ABX или X.
Обратите внимание, что пример не соответствует ситуации OP, но правило остается тем же.
Возможно ли, что при редактировании зоны вы случайно удалили A-запись записанного CNAME?
Возможно, было бы полезно взглянуть на ваш полный файл зоны и посмотреть, все ли там все, что вы ожидаете, там все еще?