We have a CNAME entry that points to an Amazon Elastic Load Balancer instance. For some reason, my mobile app can resolve this entry on wifi, but not 3G -- I imagine it's talking to a different name server on 3G than Wifi and getting a different answer.
When done through a local name server, an ANY query looks like this (parts redacted to protect the innocent):
; <<>> 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 18.104.22.168
However, when I query directly against the name server (@dns1.registrar-servers.com) I get the following answer:
; <<>> 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.
The interesting part here is "WARNING: recursion requested but not available" and "SERVFAIL". I imagine I need to talk to my DNS provider, but what should my talking points be and what should I do if I cannot resolve the problem?
EDIT: Using the Android "Ping and DNS" app I tried to resolve the domain name. On 3G, I get timeouts or "type not found" for all but CNAME and SOA types. I think the DNS server used is 22.214.171.124, according to the app.