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 174.129.0.0
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 69.78.96.14, according to the app.