У нас есть запись 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