Перейти к содержимому
Калькуляторы

Странный глюк с DNS

Со вчерашнего дня на одном сервере вдруг стали очень долго ресолвится DNS-имена.

# nslookup mail.ru
Server:         10.1.128.11
Address:        10.1.128.11#53

Non-authoritative answer:
Name:   mail.ru
Address: 217.69.139.200
Name:   mail.ru
Address: 217.69.139.202
Name:   mail.ru
Address: 94.100.180.200
Name:   mail.ru
Address: 94.100.180.202

# nslookup mail.ru 10.1.128.11
Server:         10.1.128.11
Address:        10.1.128.11#53

Non-authoritative answer:
Name:   mail.ru
Address: 94.100.180.200
Name:   mail.ru
Address: 94.100.180.202
Name:   mail.ru
Address: 217.69.139.200
Name:   mail.ru
Address: 217.69.139.202

# nslookup mail.ru localhost
Server:         localhost
Address:        ::1#53

Non-authoritative answer:
Name:   mail.ru
Address: 217.69.139.202
Name:   mail.ru
Address: 94.100.180.200
Name:   mail.ru
Address: 94.100.180.202
Name:   mail.ru
Address: 217.69.139.200

 

Первая команда выполняется секунды две.

Вторая команда выполняется моментально.

Третья команда также выполняется моментально (на сервере есть dnsmasq).

Если выполнить пинг по доменному имени, между пингами проходит по 1-2 секунды. Если выполнить пинг по IP-адресу, пинги проходят без задержек.

 

Где искать проблему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Debian 7.8 x64, никакого особого софта нет (медленный ресолвинг доменного имени наблюдается везде - ping, nslookup, dig, perl-скрипты, sh-скрипты).

dnsmasq отключал (на всякий случай), ничего не поменялось.

В resolv.conf указаны только два DNS-сервера (10.1.128.11 и 10.1.128.12), более ничего.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если указываю +trace, то зависает на каком-нибудь из root-servers.net.

Но мне кажется, что тут дело совсем в другом.

 

Выполняю dig @10.1.128.11 mail.ru, моментально получаю ответ:

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @10.1.128.11 mail.ru
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50502
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;mail.ru.                       IN      A

;; ANSWER SECTION:
mail.ru.                22      IN      A       217.69.139.202
mail.ru.                22      IN      A       94.100.180.200
mail.ru.                22      IN      A       94.100.180.202
mail.ru.                22      IN      A       217.69.139.200

;; AUTHORITY SECTION:
mail.ru.                557     IN      NS      ns2.mail.ru.
mail.ru.                557     IN      NS      ns1.mail.ru.

;; ADDITIONAL SECTION:
ns1.mail.ru.            411     IN      AAAA    2a00:1148:db00::2
ns2.mail.ru.            411     IN      AAAA    2a00:1148:db00::1

;; Query time: 0 msec
;; SERVER: 10.1.128.11#53(10.1.128.11)
;; WHEN: Fri Feb 20 15:50:26 2015
;; MSG SIZE  rcvd: 181

То есть на запрос мне отвечает 10.1.128.11#53.

Выполняю dig mail.ru, ответ получаю с задержкой в 1-2 секунды:

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> mail.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43994
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;mail.ru.                       IN      A

;; ANSWER SECTION:
mail.ru.                31      IN      A       94.100.180.200
mail.ru.                31      IN      A       94.100.180.202
mail.ru.                31      IN      A       217.69.139.200
mail.ru.                31      IN      A       217.69.139.202

;; AUTHORITY SECTION:
mail.ru.                506     IN      NS      ns2.mail.ru.
mail.ru.                506     IN      NS      ns1.mail.ru.

;; ADDITIONAL SECTION:
ns1.mail.ru.            360     IN      AAAA    2a00:1148:db00::2
ns2.mail.ru.            360     IN      AAAA    2a00:1148:db00::1

;; Query time: 0 msec
;; SERVER: 10.1.128.11#53(10.1.128.11)
;; WHEN: Fri Feb 20 15:51:17 2015
;; MSG SIZE  rcvd: 181

 

То есть отвечает один и тот же сервер и ответ один и тот же.

Но во втором случае почему-то с большой задержкой.

 

Не пойму, в чем тут разница.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У вас в обоих случаях query time 0ms, очевидно, что ответ идет из кэша сервера. А не запрашивает ли ваш диг тем временем второй сервер из resolv.conf?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А не запрашивает ли ваш диг тем временем второй сервер из resolv.conf?

Действительно, по какой-то причине второй сервер не обслуживает запросы.

Спасибо за подсказку, пока что убрал из resolv.conf второй DNS, стало все нормально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.