Локальный DNS-сервер не отвечает на запросы класса NS

Я пытаюсь выполнить следующую команду

nslookup -type=NS mit.edu

но каждый раз он дает следующий ответ

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

я пробовал несколько сайтов, кроме mit.edu и получил те же результаты

это работает только когда я использую другой сервер DNS, как:

nslookup -type=NS mit.edu 8.8.8.8

так что может быть причиной этого?

Спасибо

РЕДАКТИРОВАТЬ:

некоторые предположили, что это потому, что nslookup стар и сломан, но то же самое происходит и с dig

при выполнении dig ns mit.edu

результат не содержит ответа

; <<>> 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

но при выполнении dig ns mit.edu @8.8.8.8

результат есть ответ

; <<>> 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

так почему мой локальный DNS-сервер (10.0.0.138) отказывается отвечать на NS-запросы (либо по dig, либо по nslookup)?

3 ответа

NSLOOKUP не сломан... это смешно.

Проблема в том, что ваш DNS-сервер неправильно настроен. Вам необходимо настроить как минимум один сервер пересылки, чтобы запросы, для которых ваши серверы не были уполномочены, были перенаправлены на DNS-сервер в Интернете, который будет отвечать.

Причина этого заключается в том, что nslookup сломано.

Смотрите эту недавнюю презентацию под названием "Вы не можете сделать это с помощью nslookup: Устранение неполадок DNS(SEC)" от NANOG 53.

Попробуйте использовать dig вместо.

Прежде всего вы должны очистить ваш локальный DNS-кеш ipconfig /flushdns на окнах, и, отключив затем INT, который подключает вас к Интернету в Linux.

Затем проверьте еще раз, чтобы увидеть, работает ли он, если нет, то проблема зависит от кеша DNS вашего роутера (некоторые из них используют его) или кеша DNS вашего провайдера.

Я бы посоветовал вам изменить свой DNS-распознаватель на вашем локальном компьютере или лучше на вашем маршрутизаторе, чтобы использовать 8.8.8.8 (сервер Google), что часто дает вам и более высокую производительность.

Другие вопросы по тегам