Назад | Перейти на главную страницу

SERVFAIL по ЛЮБОМУ запросу

У нас есть запись CNAME, которая указывает на экземпляр Amazon Elastic Load Balancer. По какой-то причине мое мобильное приложение может разрешить эту запись для Wi-Fi, но не для 3G - я полагаю, что оно обращается к другому серверу имен в 3G, чем Wi-Fi, и получает другой ответ.

Когда выполняется через локальный сервер имен, ЛЮБОЙ запрос выглядит так (части отредактированы, чтобы защитить невиновных):

; <<>> DiG 9.6.0-APPLE-P2 <<>> elb.foo.com ANY
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1051
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;elb.foo.com.       IN  ANY

;; ANSWER SECTION:
elb.foo.com.    299 IN  CNAME   elb-foo-com-12345.us-east-1.elb.amazonaws.com.
elb-foo-com-12345.us-east-1.elb.amazonaws.com.  1 IN SOA ns-123.amazon.com. dns.amazon.com. 1288881125 3600 900 7776000 60
elb-foo-com-12345.us-east-1.elb.amazonaws.com.  600 IN NS ns-123.amazon.com.
elb-foo-com-12345.us-east-1.elb.amazonaws.com.  60 IN A 174.129.0.0

Однако, когда я запрашиваю непосредственно сервер имен (@ dns1.registrar-servers.com), я получаю следующий ответ:

; <<>> DiG 9.6.0-APPLE-P2 <<>> @dns1.registrar-servers.com elb.foo.com ANY
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 7735
;; flags: qr rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;elb.foo.com.       IN  ANY

;; ANSWER SECTION:
elb.foo.com.    300 IN  CNAME   elb-foo-com-12345.us-east-1.elb.amazonaws.com.

Интересная часть здесь - «ВНИМАНИЕ: рекурсия запрошена, но недоступна» и «СЕРВИС». Я предполагаю, что мне нужно поговорить со своим поставщиком DNS, но какие у меня должны быть темы для разговора и что мне делать, если я не могу решить проблему?

РЕДАКТИРОВАТЬ: Используя приложение Android «Ping and DNS», я попытался разрешить доменное имя. В 3G я получаю таймауты или «тип не найден» для всех типов, кроме CNAME и SOA. Я думаю, что используемый DNS-сервер - 69.78.96.14, согласно приложению.

Как ни странно, похоже, что это была проблема:

http://developer.amazonwebservices.com/connect/thread.jspa?threadID=53360

Сантехника в системе DNS Verizon, по-видимому, не могла справиться с большой записью CNAME, и время ожидания записи истекло. Переименование балансировщика нагрузки в один символ исправило это.

Предупреждение о «запрошенной рекурсии» не должно быть актуальным - большинство авторитетных серверов продолжат предоставлять авторитетные ответы, даже если рекурсия была запрошена, что по умолчанию для dig.

Я только что использовал Google, чтобы найти домен, который размещен в том же месте, и он работает должным образом. Однако попытка использования другого домена, о котором известно, что он там не размещается, приводит SERVFAIL.

Это немного странно - нормальная ошибка должна быть REFUSED, но это указывает на то, что ваш домен просто неправильно настроен на этом сервере.

Это лучшее решение - создать псевдоним в Amazon Route 53. Конечно, для этого требуется, чтобы ваш DNS проходил через них.

http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/HowToAliasRRS.html