Why does this DNS lookup fail for me but work for others? The 2019 Stack Overflow Developer Survey Results Are InSimple DNS QuestionWhen does the TLD having glue records for the nameservers save DNS lookups?Do glue records in non-circular dns-lookups speed up domain resolution or not?How to correctly configure nameserversdig lookup not returning namserversDNS Nameserver updates affected by TTL? or is it just A records, MX etc?Intranet NameServer for Public DomainDNS delegation does not workwhy does dig +trace sometimes reply with a list of authoritative nameservers as well as the record?

Where does the "burst of radiance" from Holy Weapon originate?

I see my dog run

Monty Hall variation

What is the best strategy for white in this position?

Falsification in Math vs Science

Why can Shazam do this?

Which Sci-Fi work first showed weapon of galactic-scale mass destruction?

How can I fix this gap between bookcases I made?

Does it makes sense to buy a new cycle to learn riding?

Is this food a bread or a loaf?

description of papers that have not been submitted to a venue?

What are the motivations for publishing new editions of an existing textbook, beyond new discoveries in a field?

Why is Grand Jury testimony secret?

Manuscript was "unsubmitted" because the manuscript was deposited in Arxiv Preprints

If Wish Duplicates Simulacrum, Are Existing Duplicates Destroyed?

What tool would a Roman-age civilisation use to reduce/breakup silver and other metals?

Where to refill my bottle in India?

Can't find the latex code for the ⍎ (down tack jot) symbol

Poison Arrows Piercing damage reduced to 0, do you still get poisoned?

Pristine Bit Checking

Is "plugging out" electronic devices an American expression?

Access elements in std::string where positon of string is greater than its size

What are the advantages and disadvantages of running one shots compared to campaigns?

Why is the maximum length of openwrt’s root password 8 characters?



Why does this DNS lookup fail for me but work for others?



The 2019 Stack Overflow Developer Survey Results Are InSimple DNS QuestionWhen does the TLD having glue records for the nameservers save DNS lookups?Do glue records in non-circular dns-lookups speed up domain resolution or not?How to correctly configure nameserversdig lookup not returning namserversDNS Nameserver updates affected by TTL? or is it just A records, MX etc?Intranet NameServer for Public DomainDNS delegation does not workwhy does dig +trace sometimes reply with a list of authoritative nameservers as well as the record?



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








2















Day One



I have to hide the actual host names, so I'm hoping there is still enough information to answer this question...



I'm trying to resolve a certain host name (let's pretend it's www.example.com, but this is not the actual host name). A simple dig request works, but when I try to do a series of dig starting from a root nameserver, I hit a dead-end. Here's an example:



# Starting with arbitrarily-chosen root nameserver
$ dig @198.41.0.4 www.example.com
(returns the usual list of TLD .com nameservers)

# Using a.gtld-servers.net
$ dig @192.5.6.30 www.example.com
(returns a list of 5 example.com authorities)


At this point, I tried each of the 5 example.comauthorities. Three of them fail with status SERVFAIL, and the remaining two time out. Here's a SERVFAIL example:



;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 33577
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.example.com. IN A

;; Query time: 74 msec
;; SERVER: <intentionally removed>
;; WHEN: Tue Mar 8 10:10:33 2011
;; MSG SIZE rcvd: 37


I tried this multiple times, from my own machine at home and from a remote machine in our co-lo, and both machines consistently get the same results.



However,



  • As I mentioned above, dig www.example.com (without specifying an @server) works fine.

  • This DNS trace utility is able to resolve the host name, and it clearly shows that it's using one of the name servers that times out for me!

Can anybody help me figure out what's going on?



EDIT 1: In case it helps, what should happen is that this host name should ultimately resolve to a CNAME record pointing to www.example.com.edgesuite.net, which should in turn resolve to another CNAME record pointing to an Akamai edge server.



EDIT 2: Per Joris's recommendation, I ran dig +trace www.example.com, and it actually failed to find a result. It gets to the same list of example.com authorities that I found before, and stops there.



Caching seems like a very likely culprit (and I did think of this earlier), but the weird part is that the actual host name isn't that popular. Would it be cached on two different ISP local nameservers if I'm the first person to request it? :-)




Day Two



OK, I've discovered a few things:



  1. The two example.com authorities that I thought were timing out (as opposed to the other three, that were returning SERVFAIL) are not actually timing out. They just require a much longer timeout. If I use dig +time=10, for example, then I do eventually get back a result.

  2. I've tried this from several servers around the U.S., and the story is the same -- using dig www.example.com returns a result very quickly, but dig @ns1.example.com (or @ns2.example.com) requires using a large timeout parameter.

So my new questions are:



  1. Could the result really be cached on a variety of proxying DNS servers, even though it's not a commonly-used host name? The TTL is 54,000 (or 15 hours, if I understand correctly).

  2. If not, then is it possible that ns1.example.com is somehow configured to return a result more quickly to proxying DNS servers than to my own dig queries (some kind of white list)? Or is that just crazy talk?









share|improve this question
























  • This is a publicly registered domain name, right? So why keep the name secret? We're going to be very limited in helping you without the actual name.

    – joeqwerty
    Mar 8 '11 at 20:05











  • @joeqwerty That what I was afraid of :-(. I understand your reaction, but this is on behalf of a customer whose name I am not at liberty to disclose. The customer's identity will be obvious if I include the host name. I'm hoping someone can help me figure this out without the specifics, but I'm aware of the realities :-(.

    – Matt Solnit
    Mar 8 '11 at 20:08


















2















Day One



I have to hide the actual host names, so I'm hoping there is still enough information to answer this question...



I'm trying to resolve a certain host name (let's pretend it's www.example.com, but this is not the actual host name). A simple dig request works, but when I try to do a series of dig starting from a root nameserver, I hit a dead-end. Here's an example:



# Starting with arbitrarily-chosen root nameserver
$ dig @198.41.0.4 www.example.com
(returns the usual list of TLD .com nameservers)

# Using a.gtld-servers.net
$ dig @192.5.6.30 www.example.com
(returns a list of 5 example.com authorities)


At this point, I tried each of the 5 example.comauthorities. Three of them fail with status SERVFAIL, and the remaining two time out. Here's a SERVFAIL example:



;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 33577
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.example.com. IN A

;; Query time: 74 msec
;; SERVER: <intentionally removed>
;; WHEN: Tue Mar 8 10:10:33 2011
;; MSG SIZE rcvd: 37


I tried this multiple times, from my own machine at home and from a remote machine in our co-lo, and both machines consistently get the same results.



However,



  • As I mentioned above, dig www.example.com (without specifying an @server) works fine.

  • This DNS trace utility is able to resolve the host name, and it clearly shows that it's using one of the name servers that times out for me!

Can anybody help me figure out what's going on?



EDIT 1: In case it helps, what should happen is that this host name should ultimately resolve to a CNAME record pointing to www.example.com.edgesuite.net, which should in turn resolve to another CNAME record pointing to an Akamai edge server.



EDIT 2: Per Joris's recommendation, I ran dig +trace www.example.com, and it actually failed to find a result. It gets to the same list of example.com authorities that I found before, and stops there.



Caching seems like a very likely culprit (and I did think of this earlier), but the weird part is that the actual host name isn't that popular. Would it be cached on two different ISP local nameservers if I'm the first person to request it? :-)




Day Two



OK, I've discovered a few things:



  1. The two example.com authorities that I thought were timing out (as opposed to the other three, that were returning SERVFAIL) are not actually timing out. They just require a much longer timeout. If I use dig +time=10, for example, then I do eventually get back a result.

  2. I've tried this from several servers around the U.S., and the story is the same -- using dig www.example.com returns a result very quickly, but dig @ns1.example.com (or @ns2.example.com) requires using a large timeout parameter.

So my new questions are:



  1. Could the result really be cached on a variety of proxying DNS servers, even though it's not a commonly-used host name? The TTL is 54,000 (or 15 hours, if I understand correctly).

  2. If not, then is it possible that ns1.example.com is somehow configured to return a result more quickly to proxying DNS servers than to my own dig queries (some kind of white list)? Or is that just crazy talk?









share|improve this question
























  • This is a publicly registered domain name, right? So why keep the name secret? We're going to be very limited in helping you without the actual name.

    – joeqwerty
    Mar 8 '11 at 20:05











  • @joeqwerty That what I was afraid of :-(. I understand your reaction, but this is on behalf of a customer whose name I am not at liberty to disclose. The customer's identity will be obvious if I include the host name. I'm hoping someone can help me figure this out without the specifics, but I'm aware of the realities :-(.

    – Matt Solnit
    Mar 8 '11 at 20:08














2












2








2








Day One



I have to hide the actual host names, so I'm hoping there is still enough information to answer this question...



I'm trying to resolve a certain host name (let's pretend it's www.example.com, but this is not the actual host name). A simple dig request works, but when I try to do a series of dig starting from a root nameserver, I hit a dead-end. Here's an example:



# Starting with arbitrarily-chosen root nameserver
$ dig @198.41.0.4 www.example.com
(returns the usual list of TLD .com nameservers)

# Using a.gtld-servers.net
$ dig @192.5.6.30 www.example.com
(returns a list of 5 example.com authorities)


At this point, I tried each of the 5 example.comauthorities. Three of them fail with status SERVFAIL, and the remaining two time out. Here's a SERVFAIL example:



;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 33577
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.example.com. IN A

;; Query time: 74 msec
;; SERVER: <intentionally removed>
;; WHEN: Tue Mar 8 10:10:33 2011
;; MSG SIZE rcvd: 37


I tried this multiple times, from my own machine at home and from a remote machine in our co-lo, and both machines consistently get the same results.



However,



  • As I mentioned above, dig www.example.com (without specifying an @server) works fine.

  • This DNS trace utility is able to resolve the host name, and it clearly shows that it's using one of the name servers that times out for me!

Can anybody help me figure out what's going on?



EDIT 1: In case it helps, what should happen is that this host name should ultimately resolve to a CNAME record pointing to www.example.com.edgesuite.net, which should in turn resolve to another CNAME record pointing to an Akamai edge server.



EDIT 2: Per Joris's recommendation, I ran dig +trace www.example.com, and it actually failed to find a result. It gets to the same list of example.com authorities that I found before, and stops there.



Caching seems like a very likely culprit (and I did think of this earlier), but the weird part is that the actual host name isn't that popular. Would it be cached on two different ISP local nameservers if I'm the first person to request it? :-)




Day Two



OK, I've discovered a few things:



  1. The two example.com authorities that I thought were timing out (as opposed to the other three, that were returning SERVFAIL) are not actually timing out. They just require a much longer timeout. If I use dig +time=10, for example, then I do eventually get back a result.

  2. I've tried this from several servers around the U.S., and the story is the same -- using dig www.example.com returns a result very quickly, but dig @ns1.example.com (or @ns2.example.com) requires using a large timeout parameter.

So my new questions are:



  1. Could the result really be cached on a variety of proxying DNS servers, even though it's not a commonly-used host name? The TTL is 54,000 (or 15 hours, if I understand correctly).

  2. If not, then is it possible that ns1.example.com is somehow configured to return a result more quickly to proxying DNS servers than to my own dig queries (some kind of white list)? Or is that just crazy talk?









share|improve this question
















Day One



I have to hide the actual host names, so I'm hoping there is still enough information to answer this question...



I'm trying to resolve a certain host name (let's pretend it's www.example.com, but this is not the actual host name). A simple dig request works, but when I try to do a series of dig starting from a root nameserver, I hit a dead-end. Here's an example:



# Starting with arbitrarily-chosen root nameserver
$ dig @198.41.0.4 www.example.com
(returns the usual list of TLD .com nameservers)

# Using a.gtld-servers.net
$ dig @192.5.6.30 www.example.com
(returns a list of 5 example.com authorities)


At this point, I tried each of the 5 example.comauthorities. Three of them fail with status SERVFAIL, and the remaining two time out. Here's a SERVFAIL example:



;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 33577
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.example.com. IN A

;; Query time: 74 msec
;; SERVER: <intentionally removed>
;; WHEN: Tue Mar 8 10:10:33 2011
;; MSG SIZE rcvd: 37


I tried this multiple times, from my own machine at home and from a remote machine in our co-lo, and both machines consistently get the same results.



However,



  • As I mentioned above, dig www.example.com (without specifying an @server) works fine.

  • This DNS trace utility is able to resolve the host name, and it clearly shows that it's using one of the name servers that times out for me!

Can anybody help me figure out what's going on?



EDIT 1: In case it helps, what should happen is that this host name should ultimately resolve to a CNAME record pointing to www.example.com.edgesuite.net, which should in turn resolve to another CNAME record pointing to an Akamai edge server.



EDIT 2: Per Joris's recommendation, I ran dig +trace www.example.com, and it actually failed to find a result. It gets to the same list of example.com authorities that I found before, and stops there.



Caching seems like a very likely culprit (and I did think of this earlier), but the weird part is that the actual host name isn't that popular. Would it be cached on two different ISP local nameservers if I'm the first person to request it? :-)




Day Two



OK, I've discovered a few things:



  1. The two example.com authorities that I thought were timing out (as opposed to the other three, that were returning SERVFAIL) are not actually timing out. They just require a much longer timeout. If I use dig +time=10, for example, then I do eventually get back a result.

  2. I've tried this from several servers around the U.S., and the story is the same -- using dig www.example.com returns a result very quickly, but dig @ns1.example.com (or @ns2.example.com) requires using a large timeout parameter.

So my new questions are:



  1. Could the result really be cached on a variety of proxying DNS servers, even though it's not a commonly-used host name? The TTL is 54,000 (or 15 hours, if I understand correctly).

  2. If not, then is it possible that ns1.example.com is somehow configured to return a result more quickly to proxying DNS servers than to my own dig queries (some kind of white list)? Or is that just crazy talk?






domain-name-system






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 23 '15 at 5:44









HopelessN00b

48.5k24116194




48.5k24116194










asked Mar 8 '11 at 19:33









Matt SolnitMatt Solnit

81811015




81811015












  • This is a publicly registered domain name, right? So why keep the name secret? We're going to be very limited in helping you without the actual name.

    – joeqwerty
    Mar 8 '11 at 20:05











  • @joeqwerty That what I was afraid of :-(. I understand your reaction, but this is on behalf of a customer whose name I am not at liberty to disclose. The customer's identity will be obvious if I include the host name. I'm hoping someone can help me figure this out without the specifics, but I'm aware of the realities :-(.

    – Matt Solnit
    Mar 8 '11 at 20:08


















  • This is a publicly registered domain name, right? So why keep the name secret? We're going to be very limited in helping you without the actual name.

    – joeqwerty
    Mar 8 '11 at 20:05











  • @joeqwerty That what I was afraid of :-(. I understand your reaction, but this is on behalf of a customer whose name I am not at liberty to disclose. The customer's identity will be obvious if I include the host name. I'm hoping someone can help me figure this out without the specifics, but I'm aware of the realities :-(.

    – Matt Solnit
    Mar 8 '11 at 20:08

















This is a publicly registered domain name, right? So why keep the name secret? We're going to be very limited in helping you without the actual name.

– joeqwerty
Mar 8 '11 at 20:05





This is a publicly registered domain name, right? So why keep the name secret? We're going to be very limited in helping you without the actual name.

– joeqwerty
Mar 8 '11 at 20:05













@joeqwerty That what I was afraid of :-(. I understand your reaction, but this is on behalf of a customer whose name I am not at liberty to disclose. The customer's identity will be obvious if I include the host name. I'm hoping someone can help me figure this out without the specifics, but I'm aware of the realities :-(.

– Matt Solnit
Mar 8 '11 at 20:08






@joeqwerty That what I was afraid of :-(. I understand your reaction, but this is on behalf of a customer whose name I am not at liberty to disclose. The customer's identity will be obvious if I include the host name. I'm hoping someone can help me figure this out without the specifics, but I'm aware of the realities :-(.

– Matt Solnit
Mar 8 '11 at 20:08











8 Answers
8






active

oldest

votes


















3














Don't obscure your DNS data when asking for help with DNS problems. It's pointless and silly, and this is a classic example of how it has served to obscure the actual problem that you have.



There are two major possibilities here:




  • You have intermittent connectivity to the content DNS servers. A common cause of such problems is an IP traffic routing problem, or a simple case of there being too many hops between you and them. Find out the IP addresses of the 5 content DNS servers in question, and use traceroute or some such to determine that you really do have IP connectivity to them all. Test UDP/IP connectivity to port 53, specifically, if your tool is capable of it.


  • The answer was provided in one of the paths that you didn't take when doing things manually, and that your resolving proxy DNS server only takes sometimes. The unfortunate truth about DNS query resolution is that there are a lot more paths that it can take down the tree of the DNS namespace than one might think from the superficial explanations of the process that exist. It's possible, for example, that the first CNAME resource record set (which you cannot obtain) was served up, and then cached by your resolving proxy DNS server, when mapping the names of some of the higher level content DNS servers to addresses. Given that your resolving proxy DNS server sometimes works, you can find out how it discovered the answer by looking at its query/response logs. (Some DNS server softwares have to have this logging explicitly turned on. Some have it on by default. How to do it for your particular software, which you haven't stated, is the domain of a separate question.)

Note that the only caching that occurrs here is local, on your resolving proxy DNS server. The content DNS servers that you are querying don't cache. (Or, more strictly speaking, if they do cache they cache the back-end databases that they are working from, in ways that have little to nothing to do with resource record TTLs, and that aren't publicly visible through the DNS protocol.)



There are a couple of minor and fairly unlikely possibilities as well, including daft firewalls at your site rewriting DNS traffic on the fly as it passes through them. But since you've not provided proper data, there's little more to narrow down and rule-out the possibilities that you can obtain from random passers-by out on Internet.






share|improve this answer


















  • 1





    I appreciate your position, but it's simply not possible to provide the host name. However, +1 for useful information.

    – Matt Solnit
    Mar 8 '11 at 23:09











  • I've added some more information that might be helpful (see "Day Two" above). If you have any thoughts, it would be great to get your input :-).

    – Matt Solnit
    Mar 9 '11 at 17:26











  • I really liked that first link! +1

    – Campo
    Mar 9 '11 at 17:49


















1














To eliminate any chance of faulty queries, could you try dig +trace example.com? It will follow the chain for you. If that succeeds, (it will only try one of the authorities at each level), you have at least one working trail.



If multiple tries all fail, there is something broken. Chances are you're seeing cached answers with the "normal" request; expect the breakage to surface as soon as the TTL expires.






share|improve this answer























  • Hi Joris. Caching had definitely occurred to me. I'll add the +trace results to my question.

    – Matt Solnit
    Mar 8 '11 at 21:30











  • Then it would seem your DNS setup is faulty, somewhere near the example.com authorities.

    – Joris
    Mar 9 '11 at 9:23


















0















At this point, I tried each of the 5
foo.com authorities.




I get two authorities:



;; AUTHORITY SECTION:
foo.com. 172800 IN NS ns.okdirect.com.
foo.com. 172800 IN NS ns2.okdirect.com.


Both resolve www.foo.com correctly.






share|improve this answer























  • Hi embobo. As I mentioned, this is not the actual host name I am using. It was just an example since I can't share the real one.

    – Matt Solnit
    Mar 8 '11 at 19:51











  • I realized this wasn't as clear as it could have been :-). I edited the question, hope it makes more sense now.

    – Matt Solnit
    Mar 8 '11 at 19:53


















0














Did you change the number of authorized name servers for your domain ?
At the level that you are querying, these are handled at the registrar level.
If you saw 5 before and now you see 2, I'd have to guess you made a change to your authorized name server entries ?



Next time try a simple telnet to port 53 of the authorized name servers






share|improve this answer























  • The queries and responses are almost certainly using UDP/IP, not TCP/IP. telnet is overrated and often inappropriate as a diagnostic tool, especially in this case. TELNET, the protocol that it speaks, is not actually a bare bones TCP/IP raw data protocol.

    – JdeBP
    Mar 8 '11 at 22:34


















0














This sounds like an ACL issue on the name servers. The best practice is to separate resolvers and authoritative servers. The domain sounds to have 2x authoritative servers and three caching resolvers that have restrictive acls preventing your query for the domain. Your "however" case works due to the request being a query and not asking for recursion.



In bind you should have the following three options specified or the default will be applied, which has changed with bind versions.



allow-recursion none; ;

allow-query any; ;

allow-query-cache ournets; ;






share|improve this answer






























    0














    I just found a solution to a similar problem:



    Debian server registered at a Windows Server 2003 was not resolved correctly. sometimes I was able to reach the server through its host name, sometimes not.



    the problem was an ipv6 address of the Linux machine. disabling ipv6 solved the problem.






    share|improve this answer
































      0














      Just like to point out one additional possibility, since I just ran into this: someone set the TTL of the DNS record to zero. This actually resolved fine when querying the name server directly, but gave a SERVFAIL when asked trough the local (ubuntu) resolver.






      share|improve this answer








      New contributor




      Jan M is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.



























        -1














        The problem is that you are not using the right queries. You have to ask the root servers for the NS for the TLD (e.g. dig @ROOT-NS com.), then ask the TLD bout your domain (e.g. dig @TLD-NS example.com) then ask the NS for example.com about www.example.com (e.g. dig @eaxmple.com-NS-IP www.example.com)



        Edit: Here is a full example:



        dig -t NS . # Find the root NS using local resolver
        dig -t NS @f.root-servers.net com.
        dig -t NS @a.gtld-servers.net example.com
        dig -t A @ns.example.com www.example.com





        share|improve this answer

























        • Hi Mircea. At the end of the day I'm basically doing the same thing. Even though I'm asking for a specific host name, rather than NS records, I'm getting a list of authorities and "following the trail", but I get stuck at the query to example.com-NS-IP, which either times out or fails with SERVFAIL.

          – Matt Solnit
          Mar 8 '11 at 20:29






        • 1





          This is incorrect and misleading. The query resolution process operates by always asking for the information that is actually desired, and following referrals if the answer is not given. It does not operate by sending NS queries until it somehow magically knows when not to. The attempt to manually replicate the query resolution process (albeit that it didn't follow anywhere near all of the paths) was correct as it stood.

          – JdeBP
          Mar 8 '11 at 21:53











        Your Answer








        StackExchange.ready(function()
        var channelOptions =
        tags: "".split(" "),
        id: "2"
        ;
        initTagRenderer("".split(" "), "".split(" "), channelOptions);

        StackExchange.using("externalEditor", function()
        // Have to fire editor after snippets, if snippets enabled
        if (StackExchange.settings.snippets.snippetsEnabled)
        StackExchange.using("snippets", function()
        createEditor();
        );

        else
        createEditor();

        );

        function createEditor()
        StackExchange.prepareEditor(
        heartbeatType: 'answer',
        autoActivateHeartbeat: false,
        convertImagesToLinks: true,
        noModals: true,
        showLowRepImageUploadWarning: true,
        reputationToPostImages: 10,
        bindNavPrevention: true,
        postfix: "",
        imageUploader:
        brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
        contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
        allowUrls: true
        ,
        onDemand: true,
        discardSelector: ".discard-answer"
        ,immediatelyShowMarkdownHelp:true
        );



        );













        draft saved

        draft discarded


















        StackExchange.ready(
        function ()
        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f244848%2fwhy-does-this-dns-lookup-fail-for-me-but-work-for-others%23new-answer', 'question_page');

        );

        Post as a guest















        Required, but never shown

























        8 Answers
        8






        active

        oldest

        votes








        8 Answers
        8






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        3














        Don't obscure your DNS data when asking for help with DNS problems. It's pointless and silly, and this is a classic example of how it has served to obscure the actual problem that you have.



        There are two major possibilities here:




        • You have intermittent connectivity to the content DNS servers. A common cause of such problems is an IP traffic routing problem, or a simple case of there being too many hops between you and them. Find out the IP addresses of the 5 content DNS servers in question, and use traceroute or some such to determine that you really do have IP connectivity to them all. Test UDP/IP connectivity to port 53, specifically, if your tool is capable of it.


        • The answer was provided in one of the paths that you didn't take when doing things manually, and that your resolving proxy DNS server only takes sometimes. The unfortunate truth about DNS query resolution is that there are a lot more paths that it can take down the tree of the DNS namespace than one might think from the superficial explanations of the process that exist. It's possible, for example, that the first CNAME resource record set (which you cannot obtain) was served up, and then cached by your resolving proxy DNS server, when mapping the names of some of the higher level content DNS servers to addresses. Given that your resolving proxy DNS server sometimes works, you can find out how it discovered the answer by looking at its query/response logs. (Some DNS server softwares have to have this logging explicitly turned on. Some have it on by default. How to do it for your particular software, which you haven't stated, is the domain of a separate question.)

        Note that the only caching that occurrs here is local, on your resolving proxy DNS server. The content DNS servers that you are querying don't cache. (Or, more strictly speaking, if they do cache they cache the back-end databases that they are working from, in ways that have little to nothing to do with resource record TTLs, and that aren't publicly visible through the DNS protocol.)



        There are a couple of minor and fairly unlikely possibilities as well, including daft firewalls at your site rewriting DNS traffic on the fly as it passes through them. But since you've not provided proper data, there's little more to narrow down and rule-out the possibilities that you can obtain from random passers-by out on Internet.






        share|improve this answer


















        • 1





          I appreciate your position, but it's simply not possible to provide the host name. However, +1 for useful information.

          – Matt Solnit
          Mar 8 '11 at 23:09











        • I've added some more information that might be helpful (see "Day Two" above). If you have any thoughts, it would be great to get your input :-).

          – Matt Solnit
          Mar 9 '11 at 17:26











        • I really liked that first link! +1

          – Campo
          Mar 9 '11 at 17:49















        3














        Don't obscure your DNS data when asking for help with DNS problems. It's pointless and silly, and this is a classic example of how it has served to obscure the actual problem that you have.



        There are two major possibilities here:




        • You have intermittent connectivity to the content DNS servers. A common cause of such problems is an IP traffic routing problem, or a simple case of there being too many hops between you and them. Find out the IP addresses of the 5 content DNS servers in question, and use traceroute or some such to determine that you really do have IP connectivity to them all. Test UDP/IP connectivity to port 53, specifically, if your tool is capable of it.


        • The answer was provided in one of the paths that you didn't take when doing things manually, and that your resolving proxy DNS server only takes sometimes. The unfortunate truth about DNS query resolution is that there are a lot more paths that it can take down the tree of the DNS namespace than one might think from the superficial explanations of the process that exist. It's possible, for example, that the first CNAME resource record set (which you cannot obtain) was served up, and then cached by your resolving proxy DNS server, when mapping the names of some of the higher level content DNS servers to addresses. Given that your resolving proxy DNS server sometimes works, you can find out how it discovered the answer by looking at its query/response logs. (Some DNS server softwares have to have this logging explicitly turned on. Some have it on by default. How to do it for your particular software, which you haven't stated, is the domain of a separate question.)

        Note that the only caching that occurrs here is local, on your resolving proxy DNS server. The content DNS servers that you are querying don't cache. (Or, more strictly speaking, if they do cache they cache the back-end databases that they are working from, in ways that have little to nothing to do with resource record TTLs, and that aren't publicly visible through the DNS protocol.)



        There are a couple of minor and fairly unlikely possibilities as well, including daft firewalls at your site rewriting DNS traffic on the fly as it passes through them. But since you've not provided proper data, there's little more to narrow down and rule-out the possibilities that you can obtain from random passers-by out on Internet.






        share|improve this answer


















        • 1





          I appreciate your position, but it's simply not possible to provide the host name. However, +1 for useful information.

          – Matt Solnit
          Mar 8 '11 at 23:09











        • I've added some more information that might be helpful (see "Day Two" above). If you have any thoughts, it would be great to get your input :-).

          – Matt Solnit
          Mar 9 '11 at 17:26











        • I really liked that first link! +1

          – Campo
          Mar 9 '11 at 17:49













        3












        3








        3







        Don't obscure your DNS data when asking for help with DNS problems. It's pointless and silly, and this is a classic example of how it has served to obscure the actual problem that you have.



        There are two major possibilities here:




        • You have intermittent connectivity to the content DNS servers. A common cause of such problems is an IP traffic routing problem, or a simple case of there being too many hops between you and them. Find out the IP addresses of the 5 content DNS servers in question, and use traceroute or some such to determine that you really do have IP connectivity to them all. Test UDP/IP connectivity to port 53, specifically, if your tool is capable of it.


        • The answer was provided in one of the paths that you didn't take when doing things manually, and that your resolving proxy DNS server only takes sometimes. The unfortunate truth about DNS query resolution is that there are a lot more paths that it can take down the tree of the DNS namespace than one might think from the superficial explanations of the process that exist. It's possible, for example, that the first CNAME resource record set (which you cannot obtain) was served up, and then cached by your resolving proxy DNS server, when mapping the names of some of the higher level content DNS servers to addresses. Given that your resolving proxy DNS server sometimes works, you can find out how it discovered the answer by looking at its query/response logs. (Some DNS server softwares have to have this logging explicitly turned on. Some have it on by default. How to do it for your particular software, which you haven't stated, is the domain of a separate question.)

        Note that the only caching that occurrs here is local, on your resolving proxy DNS server. The content DNS servers that you are querying don't cache. (Or, more strictly speaking, if they do cache they cache the back-end databases that they are working from, in ways that have little to nothing to do with resource record TTLs, and that aren't publicly visible through the DNS protocol.)



        There are a couple of minor and fairly unlikely possibilities as well, including daft firewalls at your site rewriting DNS traffic on the fly as it passes through them. But since you've not provided proper data, there's little more to narrow down and rule-out the possibilities that you can obtain from random passers-by out on Internet.






        share|improve this answer













        Don't obscure your DNS data when asking for help with DNS problems. It's pointless and silly, and this is a classic example of how it has served to obscure the actual problem that you have.



        There are two major possibilities here:




        • You have intermittent connectivity to the content DNS servers. A common cause of such problems is an IP traffic routing problem, or a simple case of there being too many hops between you and them. Find out the IP addresses of the 5 content DNS servers in question, and use traceroute or some such to determine that you really do have IP connectivity to them all. Test UDP/IP connectivity to port 53, specifically, if your tool is capable of it.


        • The answer was provided in one of the paths that you didn't take when doing things manually, and that your resolving proxy DNS server only takes sometimes. The unfortunate truth about DNS query resolution is that there are a lot more paths that it can take down the tree of the DNS namespace than one might think from the superficial explanations of the process that exist. It's possible, for example, that the first CNAME resource record set (which you cannot obtain) was served up, and then cached by your resolving proxy DNS server, when mapping the names of some of the higher level content DNS servers to addresses. Given that your resolving proxy DNS server sometimes works, you can find out how it discovered the answer by looking at its query/response logs. (Some DNS server softwares have to have this logging explicitly turned on. Some have it on by default. How to do it for your particular software, which you haven't stated, is the domain of a separate question.)

        Note that the only caching that occurrs here is local, on your resolving proxy DNS server. The content DNS servers that you are querying don't cache. (Or, more strictly speaking, if they do cache they cache the back-end databases that they are working from, in ways that have little to nothing to do with resource record TTLs, and that aren't publicly visible through the DNS protocol.)



        There are a couple of minor and fairly unlikely possibilities as well, including daft firewalls at your site rewriting DNS traffic on the fly as it passes through them. But since you've not provided proper data, there's little more to narrow down and rule-out the possibilities that you can obtain from random passers-by out on Internet.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 8 '11 at 22:31









        JdeBPJdeBP

        3,7141116




        3,7141116







        • 1





          I appreciate your position, but it's simply not possible to provide the host name. However, +1 for useful information.

          – Matt Solnit
          Mar 8 '11 at 23:09











        • I've added some more information that might be helpful (see "Day Two" above). If you have any thoughts, it would be great to get your input :-).

          – Matt Solnit
          Mar 9 '11 at 17:26











        • I really liked that first link! +1

          – Campo
          Mar 9 '11 at 17:49












        • 1





          I appreciate your position, but it's simply not possible to provide the host name. However, +1 for useful information.

          – Matt Solnit
          Mar 8 '11 at 23:09











        • I've added some more information that might be helpful (see "Day Two" above). If you have any thoughts, it would be great to get your input :-).

          – Matt Solnit
          Mar 9 '11 at 17:26











        • I really liked that first link! +1

          – Campo
          Mar 9 '11 at 17:49







        1




        1





        I appreciate your position, but it's simply not possible to provide the host name. However, +1 for useful information.

        – Matt Solnit
        Mar 8 '11 at 23:09





        I appreciate your position, but it's simply not possible to provide the host name. However, +1 for useful information.

        – Matt Solnit
        Mar 8 '11 at 23:09













        I've added some more information that might be helpful (see "Day Two" above). If you have any thoughts, it would be great to get your input :-).

        – Matt Solnit
        Mar 9 '11 at 17:26





        I've added some more information that might be helpful (see "Day Two" above). If you have any thoughts, it would be great to get your input :-).

        – Matt Solnit
        Mar 9 '11 at 17:26













        I really liked that first link! +1

        – Campo
        Mar 9 '11 at 17:49





        I really liked that first link! +1

        – Campo
        Mar 9 '11 at 17:49













        1














        To eliminate any chance of faulty queries, could you try dig +trace example.com? It will follow the chain for you. If that succeeds, (it will only try one of the authorities at each level), you have at least one working trail.



        If multiple tries all fail, there is something broken. Chances are you're seeing cached answers with the "normal" request; expect the breakage to surface as soon as the TTL expires.






        share|improve this answer























        • Hi Joris. Caching had definitely occurred to me. I'll add the +trace results to my question.

          – Matt Solnit
          Mar 8 '11 at 21:30











        • Then it would seem your DNS setup is faulty, somewhere near the example.com authorities.

          – Joris
          Mar 9 '11 at 9:23















        1














        To eliminate any chance of faulty queries, could you try dig +trace example.com? It will follow the chain for you. If that succeeds, (it will only try one of the authorities at each level), you have at least one working trail.



        If multiple tries all fail, there is something broken. Chances are you're seeing cached answers with the "normal" request; expect the breakage to surface as soon as the TTL expires.






        share|improve this answer























        • Hi Joris. Caching had definitely occurred to me. I'll add the +trace results to my question.

          – Matt Solnit
          Mar 8 '11 at 21:30











        • Then it would seem your DNS setup is faulty, somewhere near the example.com authorities.

          – Joris
          Mar 9 '11 at 9:23













        1












        1








        1







        To eliminate any chance of faulty queries, could you try dig +trace example.com? It will follow the chain for you. If that succeeds, (it will only try one of the authorities at each level), you have at least one working trail.



        If multiple tries all fail, there is something broken. Chances are you're seeing cached answers with the "normal" request; expect the breakage to surface as soon as the TTL expires.






        share|improve this answer













        To eliminate any chance of faulty queries, could you try dig +trace example.com? It will follow the chain for you. If that succeeds, (it will only try one of the authorities at each level), you have at least one working trail.



        If multiple tries all fail, there is something broken. Chances are you're seeing cached answers with the "normal" request; expect the breakage to surface as soon as the TTL expires.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 8 '11 at 20:58









        JorisJoris

        5,51411113




        5,51411113












        • Hi Joris. Caching had definitely occurred to me. I'll add the +trace results to my question.

          – Matt Solnit
          Mar 8 '11 at 21:30











        • Then it would seem your DNS setup is faulty, somewhere near the example.com authorities.

          – Joris
          Mar 9 '11 at 9:23

















        • Hi Joris. Caching had definitely occurred to me. I'll add the +trace results to my question.

          – Matt Solnit
          Mar 8 '11 at 21:30











        • Then it would seem your DNS setup is faulty, somewhere near the example.com authorities.

          – Joris
          Mar 9 '11 at 9:23
















        Hi Joris. Caching had definitely occurred to me. I'll add the +trace results to my question.

        – Matt Solnit
        Mar 8 '11 at 21:30





        Hi Joris. Caching had definitely occurred to me. I'll add the +trace results to my question.

        – Matt Solnit
        Mar 8 '11 at 21:30













        Then it would seem your DNS setup is faulty, somewhere near the example.com authorities.

        – Joris
        Mar 9 '11 at 9:23





        Then it would seem your DNS setup is faulty, somewhere near the example.com authorities.

        – Joris
        Mar 9 '11 at 9:23











        0















        At this point, I tried each of the 5
        foo.com authorities.




        I get two authorities:



        ;; AUTHORITY SECTION:
        foo.com. 172800 IN NS ns.okdirect.com.
        foo.com. 172800 IN NS ns2.okdirect.com.


        Both resolve www.foo.com correctly.






        share|improve this answer























        • Hi embobo. As I mentioned, this is not the actual host name I am using. It was just an example since I can't share the real one.

          – Matt Solnit
          Mar 8 '11 at 19:51











        • I realized this wasn't as clear as it could have been :-). I edited the question, hope it makes more sense now.

          – Matt Solnit
          Mar 8 '11 at 19:53















        0















        At this point, I tried each of the 5
        foo.com authorities.




        I get two authorities:



        ;; AUTHORITY SECTION:
        foo.com. 172800 IN NS ns.okdirect.com.
        foo.com. 172800 IN NS ns2.okdirect.com.


        Both resolve www.foo.com correctly.






        share|improve this answer























        • Hi embobo. As I mentioned, this is not the actual host name I am using. It was just an example since I can't share the real one.

          – Matt Solnit
          Mar 8 '11 at 19:51











        • I realized this wasn't as clear as it could have been :-). I edited the question, hope it makes more sense now.

          – Matt Solnit
          Mar 8 '11 at 19:53













        0












        0








        0








        At this point, I tried each of the 5
        foo.com authorities.




        I get two authorities:



        ;; AUTHORITY SECTION:
        foo.com. 172800 IN NS ns.okdirect.com.
        foo.com. 172800 IN NS ns2.okdirect.com.


        Both resolve www.foo.com correctly.






        share|improve this answer














        At this point, I tried each of the 5
        foo.com authorities.




        I get two authorities:



        ;; AUTHORITY SECTION:
        foo.com. 172800 IN NS ns.okdirect.com.
        foo.com. 172800 IN NS ns2.okdirect.com.


        Both resolve www.foo.com correctly.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 8 '11 at 19:48









        Mark WagnerMark Wagner

        15.2k22246




        15.2k22246












        • Hi embobo. As I mentioned, this is not the actual host name I am using. It was just an example since I can't share the real one.

          – Matt Solnit
          Mar 8 '11 at 19:51











        • I realized this wasn't as clear as it could have been :-). I edited the question, hope it makes more sense now.

          – Matt Solnit
          Mar 8 '11 at 19:53

















        • Hi embobo. As I mentioned, this is not the actual host name I am using. It was just an example since I can't share the real one.

          – Matt Solnit
          Mar 8 '11 at 19:51











        • I realized this wasn't as clear as it could have been :-). I edited the question, hope it makes more sense now.

          – Matt Solnit
          Mar 8 '11 at 19:53
















        Hi embobo. As I mentioned, this is not the actual host name I am using. It was just an example since I can't share the real one.

        – Matt Solnit
        Mar 8 '11 at 19:51





        Hi embobo. As I mentioned, this is not the actual host name I am using. It was just an example since I can't share the real one.

        – Matt Solnit
        Mar 8 '11 at 19:51













        I realized this wasn't as clear as it could have been :-). I edited the question, hope it makes more sense now.

        – Matt Solnit
        Mar 8 '11 at 19:53





        I realized this wasn't as clear as it could have been :-). I edited the question, hope it makes more sense now.

        – Matt Solnit
        Mar 8 '11 at 19:53











        0














        Did you change the number of authorized name servers for your domain ?
        At the level that you are querying, these are handled at the registrar level.
        If you saw 5 before and now you see 2, I'd have to guess you made a change to your authorized name server entries ?



        Next time try a simple telnet to port 53 of the authorized name servers






        share|improve this answer























        • The queries and responses are almost certainly using UDP/IP, not TCP/IP. telnet is overrated and often inappropriate as a diagnostic tool, especially in this case. TELNET, the protocol that it speaks, is not actually a bare bones TCP/IP raw data protocol.

          – JdeBP
          Mar 8 '11 at 22:34















        0














        Did you change the number of authorized name servers for your domain ?
        At the level that you are querying, these are handled at the registrar level.
        If you saw 5 before and now you see 2, I'd have to guess you made a change to your authorized name server entries ?



        Next time try a simple telnet to port 53 of the authorized name servers






        share|improve this answer























        • The queries and responses are almost certainly using UDP/IP, not TCP/IP. telnet is overrated and often inappropriate as a diagnostic tool, especially in this case. TELNET, the protocol that it speaks, is not actually a bare bones TCP/IP raw data protocol.

          – JdeBP
          Mar 8 '11 at 22:34













        0












        0








        0







        Did you change the number of authorized name servers for your domain ?
        At the level that you are querying, these are handled at the registrar level.
        If you saw 5 before and now you see 2, I'd have to guess you made a change to your authorized name server entries ?



        Next time try a simple telnet to port 53 of the authorized name servers






        share|improve this answer













        Did you change the number of authorized name servers for your domain ?
        At the level that you are querying, these are handled at the registrar level.
        If you saw 5 before and now you see 2, I'd have to guess you made a change to your authorized name server entries ?



        Next time try a simple telnet to port 53 of the authorized name servers







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 8 '11 at 20:17









        EdwinEdwin

        32113




        32113












        • The queries and responses are almost certainly using UDP/IP, not TCP/IP. telnet is overrated and often inappropriate as a diagnostic tool, especially in this case. TELNET, the protocol that it speaks, is not actually a bare bones TCP/IP raw data protocol.

          – JdeBP
          Mar 8 '11 at 22:34

















        • The queries and responses are almost certainly using UDP/IP, not TCP/IP. telnet is overrated and often inappropriate as a diagnostic tool, especially in this case. TELNET, the protocol that it speaks, is not actually a bare bones TCP/IP raw data protocol.

          – JdeBP
          Mar 8 '11 at 22:34
















        The queries and responses are almost certainly using UDP/IP, not TCP/IP. telnet is overrated and often inappropriate as a diagnostic tool, especially in this case. TELNET, the protocol that it speaks, is not actually a bare bones TCP/IP raw data protocol.

        – JdeBP
        Mar 8 '11 at 22:34





        The queries and responses are almost certainly using UDP/IP, not TCP/IP. telnet is overrated and often inappropriate as a diagnostic tool, especially in this case. TELNET, the protocol that it speaks, is not actually a bare bones TCP/IP raw data protocol.

        – JdeBP
        Mar 8 '11 at 22:34











        0














        This sounds like an ACL issue on the name servers. The best practice is to separate resolvers and authoritative servers. The domain sounds to have 2x authoritative servers and three caching resolvers that have restrictive acls preventing your query for the domain. Your "however" case works due to the request being a query and not asking for recursion.



        In bind you should have the following three options specified or the default will be applied, which has changed with bind versions.



        allow-recursion none; ;

        allow-query any; ;

        allow-query-cache ournets; ;






        share|improve this answer



























          0














          This sounds like an ACL issue on the name servers. The best practice is to separate resolvers and authoritative servers. The domain sounds to have 2x authoritative servers and three caching resolvers that have restrictive acls preventing your query for the domain. Your "however" case works due to the request being a query and not asking for recursion.



          In bind you should have the following three options specified or the default will be applied, which has changed with bind versions.



          allow-recursion none; ;

          allow-query any; ;

          allow-query-cache ournets; ;






          share|improve this answer

























            0












            0








            0







            This sounds like an ACL issue on the name servers. The best practice is to separate resolvers and authoritative servers. The domain sounds to have 2x authoritative servers and three caching resolvers that have restrictive acls preventing your query for the domain. Your "however" case works due to the request being a query and not asking for recursion.



            In bind you should have the following three options specified or the default will be applied, which has changed with bind versions.



            allow-recursion none; ;

            allow-query any; ;

            allow-query-cache ournets; ;






            share|improve this answer













            This sounds like an ACL issue on the name servers. The best practice is to separate resolvers and authoritative servers. The domain sounds to have 2x authoritative servers and three caching resolvers that have restrictive acls preventing your query for the domain. Your "however" case works due to the request being a query and not asking for recursion.



            In bind you should have the following three options specified or the default will be applied, which has changed with bind versions.



            allow-recursion none; ;

            allow-query any; ;

            allow-query-cache ournets; ;







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Mar 8 '11 at 20:30









            wrminewrmine

            24714




            24714





















                0














                I just found a solution to a similar problem:



                Debian server registered at a Windows Server 2003 was not resolved correctly. sometimes I was able to reach the server through its host name, sometimes not.



                the problem was an ipv6 address of the Linux machine. disabling ipv6 solved the problem.






                share|improve this answer





























                  0














                  I just found a solution to a similar problem:



                  Debian server registered at a Windows Server 2003 was not resolved correctly. sometimes I was able to reach the server through its host name, sometimes not.



                  the problem was an ipv6 address of the Linux machine. disabling ipv6 solved the problem.






                  share|improve this answer



























                    0












                    0








                    0







                    I just found a solution to a similar problem:



                    Debian server registered at a Windows Server 2003 was not resolved correctly. sometimes I was able to reach the server through its host name, sometimes not.



                    the problem was an ipv6 address of the Linux machine. disabling ipv6 solved the problem.






                    share|improve this answer















                    I just found a solution to a similar problem:



                    Debian server registered at a Windows Server 2003 was not resolved correctly. sometimes I was able to reach the server through its host name, sometimes not.



                    the problem was an ipv6 address of the Linux machine. disabling ipv6 solved the problem.







                    share|improve this answer














                    share|improve this answer



                    share|improve this answer








                    edited Apr 23 '11 at 2:25









                    studiohack

                    243417




                    243417










                    answered Mar 8 '11 at 20:37









                    khakikhaki

                    1




                    1





















                        0














                        Just like to point out one additional possibility, since I just ran into this: someone set the TTL of the DNS record to zero. This actually resolved fine when querying the name server directly, but gave a SERVFAIL when asked trough the local (ubuntu) resolver.






                        share|improve this answer








                        New contributor




                        Jan M is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                        Check out our Code of Conduct.
























                          0














                          Just like to point out one additional possibility, since I just ran into this: someone set the TTL of the DNS record to zero. This actually resolved fine when querying the name server directly, but gave a SERVFAIL when asked trough the local (ubuntu) resolver.






                          share|improve this answer








                          New contributor




                          Jan M is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                          Check out our Code of Conduct.






















                            0












                            0








                            0







                            Just like to point out one additional possibility, since I just ran into this: someone set the TTL of the DNS record to zero. This actually resolved fine when querying the name server directly, but gave a SERVFAIL when asked trough the local (ubuntu) resolver.






                            share|improve this answer








                            New contributor




                            Jan M is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                            Check out our Code of Conduct.










                            Just like to point out one additional possibility, since I just ran into this: someone set the TTL of the DNS record to zero. This actually resolved fine when querying the name server directly, but gave a SERVFAIL when asked trough the local (ubuntu) resolver.







                            share|improve this answer








                            New contributor




                            Jan M is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                            Check out our Code of Conduct.









                            share|improve this answer



                            share|improve this answer






                            New contributor




                            Jan M is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                            Check out our Code of Conduct.









                            answered Apr 5 at 15:45









                            Jan MJan M

                            1011




                            1011




                            New contributor




                            Jan M is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                            Check out our Code of Conduct.





                            New contributor





                            Jan M is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                            Check out our Code of Conduct.






                            Jan M is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                            Check out our Code of Conduct.





















                                -1














                                The problem is that you are not using the right queries. You have to ask the root servers for the NS for the TLD (e.g. dig @ROOT-NS com.), then ask the TLD bout your domain (e.g. dig @TLD-NS example.com) then ask the NS for example.com about www.example.com (e.g. dig @eaxmple.com-NS-IP www.example.com)



                                Edit: Here is a full example:



                                dig -t NS . # Find the root NS using local resolver
                                dig -t NS @f.root-servers.net com.
                                dig -t NS @a.gtld-servers.net example.com
                                dig -t A @ns.example.com www.example.com





                                share|improve this answer

























                                • Hi Mircea. At the end of the day I'm basically doing the same thing. Even though I'm asking for a specific host name, rather than NS records, I'm getting a list of authorities and "following the trail", but I get stuck at the query to example.com-NS-IP, which either times out or fails with SERVFAIL.

                                  – Matt Solnit
                                  Mar 8 '11 at 20:29






                                • 1





                                  This is incorrect and misleading. The query resolution process operates by always asking for the information that is actually desired, and following referrals if the answer is not given. It does not operate by sending NS queries until it somehow magically knows when not to. The attempt to manually replicate the query resolution process (albeit that it didn't follow anywhere near all of the paths) was correct as it stood.

                                  – JdeBP
                                  Mar 8 '11 at 21:53















                                -1














                                The problem is that you are not using the right queries. You have to ask the root servers for the NS for the TLD (e.g. dig @ROOT-NS com.), then ask the TLD bout your domain (e.g. dig @TLD-NS example.com) then ask the NS for example.com about www.example.com (e.g. dig @eaxmple.com-NS-IP www.example.com)



                                Edit: Here is a full example:



                                dig -t NS . # Find the root NS using local resolver
                                dig -t NS @f.root-servers.net com.
                                dig -t NS @a.gtld-servers.net example.com
                                dig -t A @ns.example.com www.example.com





                                share|improve this answer

























                                • Hi Mircea. At the end of the day I'm basically doing the same thing. Even though I'm asking for a specific host name, rather than NS records, I'm getting a list of authorities and "following the trail", but I get stuck at the query to example.com-NS-IP, which either times out or fails with SERVFAIL.

                                  – Matt Solnit
                                  Mar 8 '11 at 20:29






                                • 1





                                  This is incorrect and misleading. The query resolution process operates by always asking for the information that is actually desired, and following referrals if the answer is not given. It does not operate by sending NS queries until it somehow magically knows when not to. The attempt to manually replicate the query resolution process (albeit that it didn't follow anywhere near all of the paths) was correct as it stood.

                                  – JdeBP
                                  Mar 8 '11 at 21:53













                                -1












                                -1








                                -1







                                The problem is that you are not using the right queries. You have to ask the root servers for the NS for the TLD (e.g. dig @ROOT-NS com.), then ask the TLD bout your domain (e.g. dig @TLD-NS example.com) then ask the NS for example.com about www.example.com (e.g. dig @eaxmple.com-NS-IP www.example.com)



                                Edit: Here is a full example:



                                dig -t NS . # Find the root NS using local resolver
                                dig -t NS @f.root-servers.net com.
                                dig -t NS @a.gtld-servers.net example.com
                                dig -t A @ns.example.com www.example.com





                                share|improve this answer















                                The problem is that you are not using the right queries. You have to ask the root servers for the NS for the TLD (e.g. dig @ROOT-NS com.), then ask the TLD bout your domain (e.g. dig @TLD-NS example.com) then ask the NS for example.com about www.example.com (e.g. dig @eaxmple.com-NS-IP www.example.com)



                                Edit: Here is a full example:



                                dig -t NS . # Find the root NS using local resolver
                                dig -t NS @f.root-servers.net com.
                                dig -t NS @a.gtld-servers.net example.com
                                dig -t A @ns.example.com www.example.com






                                share|improve this answer














                                share|improve this answer



                                share|improve this answer








                                edited Mar 8 '11 at 20:42

























                                answered Mar 8 '11 at 20:17









                                Mircea VutcoviciMircea Vutcovici

                                13.2k33966




                                13.2k33966












                                • Hi Mircea. At the end of the day I'm basically doing the same thing. Even though I'm asking for a specific host name, rather than NS records, I'm getting a list of authorities and "following the trail", but I get stuck at the query to example.com-NS-IP, which either times out or fails with SERVFAIL.

                                  – Matt Solnit
                                  Mar 8 '11 at 20:29






                                • 1





                                  This is incorrect and misleading. The query resolution process operates by always asking for the information that is actually desired, and following referrals if the answer is not given. It does not operate by sending NS queries until it somehow magically knows when not to. The attempt to manually replicate the query resolution process (albeit that it didn't follow anywhere near all of the paths) was correct as it stood.

                                  – JdeBP
                                  Mar 8 '11 at 21:53

















                                • Hi Mircea. At the end of the day I'm basically doing the same thing. Even though I'm asking for a specific host name, rather than NS records, I'm getting a list of authorities and "following the trail", but I get stuck at the query to example.com-NS-IP, which either times out or fails with SERVFAIL.

                                  – Matt Solnit
                                  Mar 8 '11 at 20:29






                                • 1





                                  This is incorrect and misleading. The query resolution process operates by always asking for the information that is actually desired, and following referrals if the answer is not given. It does not operate by sending NS queries until it somehow magically knows when not to. The attempt to manually replicate the query resolution process (albeit that it didn't follow anywhere near all of the paths) was correct as it stood.

                                  – JdeBP
                                  Mar 8 '11 at 21:53
















                                Hi Mircea. At the end of the day I'm basically doing the same thing. Even though I'm asking for a specific host name, rather than NS records, I'm getting a list of authorities and "following the trail", but I get stuck at the query to example.com-NS-IP, which either times out or fails with SERVFAIL.

                                – Matt Solnit
                                Mar 8 '11 at 20:29





                                Hi Mircea. At the end of the day I'm basically doing the same thing. Even though I'm asking for a specific host name, rather than NS records, I'm getting a list of authorities and "following the trail", but I get stuck at the query to example.com-NS-IP, which either times out or fails with SERVFAIL.

                                – Matt Solnit
                                Mar 8 '11 at 20:29




                                1




                                1





                                This is incorrect and misleading. The query resolution process operates by always asking for the information that is actually desired, and following referrals if the answer is not given. It does not operate by sending NS queries until it somehow magically knows when not to. The attempt to manually replicate the query resolution process (albeit that it didn't follow anywhere near all of the paths) was correct as it stood.

                                – JdeBP
                                Mar 8 '11 at 21:53





                                This is incorrect and misleading. The query resolution process operates by always asking for the information that is actually desired, and following referrals if the answer is not given. It does not operate by sending NS queries until it somehow magically knows when not to. The attempt to manually replicate the query resolution process (albeit that it didn't follow anywhere near all of the paths) was correct as it stood.

                                – JdeBP
                                Mar 8 '11 at 21:53

















                                draft saved

                                draft discarded
















































                                Thanks for contributing an answer to Server Fault!


                                • Please be sure to answer the question. Provide details and share your research!

                                But avoid


                                • Asking for help, clarification, or responding to other answers.

                                • Making statements based on opinion; back them up with references or personal experience.

                                To learn more, see our tips on writing great answers.




                                draft saved


                                draft discarded














                                StackExchange.ready(
                                function ()
                                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f244848%2fwhy-does-this-dns-lookup-fail-for-me-but-work-for-others%23new-answer', 'question_page');

                                );

                                Post as a guest















                                Required, but never shown





















































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown

































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown







                                Popular posts from this blog

                                How to write a 12-bar blues melodyI-IV-V blues progressionHow to play the bridges in a standard blues progressionHow does Gdim7 fit in C# minor?question on a certain chord progressionMusicology of Melody12 bar blues, spread rhythm: alternative to 6th chord to avoid finger stretchChord progressions/ Root key/ MelodiesHow to put chords (POP-EDM) under a given lead vocal melody (starting from a good knowledge in music theory)Are there “rules” for improvising with the minor pentatonic scale over 12-bar shuffle?Confusion about blues scale and chords

                                What if the end-user didn't have the required library?What is setup.py?What is a clean, pythonic way to have multiple constructors in Python?What does Ruby have that Python doesn't, and vice versa?What is the reason for having '//' in Python?How do I create a namespace package in Python?How to package shared objects that python modules depend on?setuptools vs. distutils: why is distutils still a thing?Navigation in Windows 10 vs code not going to virtualenv library when the same library is installed at user levelPython create package for local usePackaging a project that uses multiple python versionsWhy is permission denied on pip install except for when “--user” is included at end of command?

                                Why did Thanos need his ship to help him in the battle scene?Which actor plays Thanos in the Avengers mid-credits scene?Are there economic implications portrayed in comics where the buildings and cities are ruined almost daily?Old X-Men comic where team travels to alien world with a ring-like sun that needs recharging?Why does Ego need help sleeping?Is there an objective answer to who “the strongest Avenger” is?How did Banner get unstuck?Why did Thanos get hit?How did Thanos (or anyone) know the Infinity Stones would give him this power?Did Thanos leave Eitri alive for his after-sales service?In Avengers 1, why does Thanos need Loki?