Назад | Перейти на главную страницу

DIG возвращает разные результаты с разных серверов

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

Мой сайт был не везде (благодаря кешированию DNS). Однако результаты, выдаваемые, например, сервером DNS Google, были разными для двух серверов. Как придешь ?

Мой DNS имеет расширение .paris (парижский запуск)

С моего компьютера он работал нормально. Вот результат раскопок:

dig @8.8.8.8 mydomain.paris

; <<>> DiG 9.8.3-P1 <<>> @8.8.8.8 mydomain.paris
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 189
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;mydomain.paris.         IN  A

;; ANSWER SECTION:
mydomain.paris.      27  IN  A   104.25.219.14
mydomain.paris.      27  IN  A   104.25.218.14

;; Query time: 75 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Dec  9 19:47:52 2015
;; MSG SIZE  rcvd: 63

С другого сервера не работало:

dig @8.8.8.8 mydomain.paris

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @8.8.8.8 mydomain.paris
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 61073
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;mydomain.paris.         IN  A

;; AUTHORITY SECTION:
paris.          1799    IN  SOA a.nic.fr. hostmaster.nic.paris. 2222333866 3600 1800 3600000 5400

;; Query time: 18 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Dec  9 20:02:24 2015
;; MSG SIZE  rcvd: 90

Оба раза я запрашиваю DNS-сервер Google. Почему я получаю разные результаты? Есть ли кеширование даже с dig @ команда? И почему мне отвечают, а нет AUTHORITY SECTION, в первом случае и только AUTHORITY SECTION а во втором случае нет ответов? Что AUTHORITY SECTION ?

Большое спасибо :)

Для Google (8.8.8.8), как и у многих провайдеров, служба разрешения балансирует нагрузку по нескольким узлам, и поскольку каждый узел поддерживает свой собственный кеш, последующие запросы к явно одному и тому же серверу имен могут фактически поступать с другого узла и давать разные ( кешировано) результаты. (Различные ошибки, разные значения TTL и т. Д.)

@ используется dig для выбора определенного сервера имен, а не сервера (ов) имен по умолчанию, как указано в /etc/resolv.conf ни больше, ни меньше, это не определяет кеширование на этом сервере имен.

Чтобы избежать кеширования результатов, вы можете использовать dig +trace опция, которая заставит dig использовать трассировку, итеративные запросы для разрешения искомого имени. Он будет следить за ссылками с корневых серверов, показывая ответ от каждого сервера, который использовался для разрешения поиска.

Касаемо раздела АВТОРИТЕТ: кешировано полученные результаты не являются авторитетными и не содержат авторитетных данных.

RFC 2308 требует, чтобы кешированные ошибки (NXDOMAIN) действительно включает раздел полномочий; «он ДОЛЖЕН добавить кэшированную запись SOA в раздел полномочий ответа с уменьшенным TTL на количество времени, в течение которого она хранилась в кэше. Это позволяет ответу NXDOMAIN / NODATA правильно истечь время ожидания».