1

iam trying to execute the following command

nslookup -type=NS mit.edu

but each time it gives the following answer

Non-authoritative answer:
*** Can't find mit.edu: No answer

i have tried several sites other than mit.edu and got the same results

it only works when i use another dns server like:

nslookup -type=NS mit.edu 8.8.8.8

so what could be the reason for that ?

thanks

EDIT :

some suggested this is because nslookup is old and broken but the same happens with dig also

when executing dig ns mit.edu

the result doesn't contain the answer

; <<>> DiG 9.7.0-P1 <<>> ns mit.edu
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58275
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;mit.edu.           IN  NS

;; Query time: 0 msec
;; SERVER: 10.0.0.138#53(10.0.0.138)
;; WHEN: Mon Nov  7 13:16:08 2011
;; MSG SIZE  rcvd: 25

but when executing dig ns mit.edu @8.8.8.8

the result have the answer

; <<>> DiG 9.7.0-P1 <<>> ns mit.edu @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24574
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;mit.edu.           IN  NS

;; ANSWER SECTION:
mit.edu.        2385    IN  NS  BITSY.mit.edu.
mit.edu.        2385    IN  NS  W20NS.mit.edu.
mit.edu.        2385    IN  NS  STRAWB.mit.edu.

;; Query time: 124 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Nov  7 13:16:36 2011
;; MSG SIZE  rcvd: 86

so why does my local dns server (10.0.0.138) refuses to answer NS queries (either by dig or nslookup) ?

Ahmed Kotb
  • 119
  • 1
  • 5
  • What does your `/etc/resolv.conf` contains? What is the software and the configuration of the DNS at 10.0.0.138? – Læti Jun 25 '13 at 18:14

3 Answers3

1

NSLOOKUP is not broken... that is ridiculous.

The problem is that your DNS server is incorrectly configured. You need to configure at least one Forwarder so that queries that your servers isn't authoritative for, will get forwarded out to a DNS server on the Internet that will respond.

user166544
  • 11
  • 1
0

The reason it fails is that nslookup is broken.

See this recent presentation entitled "You Can't Do That With nslookup: DNS(SEC) Troubleshooting" from NANOG 53.

Try using dig instead.

Alnitak
  • 20,901
  • 3
  • 48
  • 81
  • please see the question new edits , dig also doesn't work, this problem have nothing to do with nslookup , the same command works on other networks... – Ahmed Kotb Nov 07 '11 at 11:23
  • @AhmedKotb ah, that's a different issue. To put it plainly, your local DNS server is screwed, b0rked, non-compliant, etc. What exactly is it? – Alnitak Nov 07 '11 at 13:51
  • iam not an expert in that stuff, but i guess it is the default one that get setup with the router , it has the ip 10.0.0.138 – Ahmed Kotb Nov 07 '11 at 13:54
  • @AhmedKotb if it's the one that's inside the router then they are notoriously non-compliant. See my RFC 5625 for more details. – Alnitak Nov 07 '11 at 15:26
0

First of all you should flush your local dns cache by the ipconfig /flushdns on windows, and by bringing down then up the int that is connect you to the Internet on Linux.

Then check again to see if it works, if not the problem relies on your router's DNS cache (some of them use that) or on your ISP's DNS cache.

What I would suggest you to do, is to change your DNS resolver on your local computer or better of your router, to use the 8.8.8.8 (the Google's server), a lot of time it gives you a better performance too.

Hanan N.
  • 378
  • 5
  • 16