Мне приходилось сталкиваться с ситуацией, когда провайдер очень долго настраивал свои DNS-сервера. И сервер, который ещё вчера работал, сегодня мог тупить. Второй DNS при этом в связи с возникшей нагрузкой также через некоторое время начинал тормозить. При переходе на альтернативные сервера всегда возникал вопрос, как померить качество доступа к серверу. Нашёл
такое решение.
Для оценки DNS в линуксе есть пакет
ldnsutils и его нужно установить:
sudo apt install ldnsutils
После его установки станут доступны инструменты для тестирования DNS.
Можно указать IP-адрес конкретного сервера имен, минуя настройки в файле /etc/resolv.conf:
drill @ip.of.name.server www5.yahoo.com
Например,
drill @8.8.8.8 www5.yahoo.com
вывод:
;; ->>HEADER<<- opcode: QUERY, rcode: NXDOMAIN, id: 11185
;; flags: qr rd ra ; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;; www5.yahoo.com. IN A
;; ANSWER SECTION:
;; AUTHORITY SECTION:
yahoo.com. 10 IN SOA ns1.yahoo.com. hostmaster.yahoo-inc.com. 2017031203 3600 300 1814400 600
;; ADDITIONAL SECTION:
;; Query time: 169 msec
;; SERVER: 8.8.8.8
;; WHEN: Mon Mar 13 14:09:55 2017
;; MSG SIZE rcvd: 93
Можно заметить, что в новом resolv.conf Ubuntu 17.04 прописан nameserver 127.0.0.53, его тест в локальной сети после роутера секунд через 15-20 завершится ошибкой:
Error: error sending query: Could not send or receive, because of network error
Но при проверке в провайдерской сети напрямую без роутера показывает:
;; ->>HEADER<<- opcode: QUERY, rcode: SERVFAIL, id: 9410
;; flags: qr rd ra ; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; www5.yahoo.com. IN A
;; ANSWER SECTION:
;; AUTHORITY SECTION:
;; ADDITIONAL SECTION:
;; Query time: 133 msec
;; SERVER: 127.0.0.53
;; WHEN: Mon Mar 13 14:39:33 2017
;; MSG SIZE rcvd: 32
При выполнении с учётом реальных настроек локальной сети к DNS, прописанным в роутере, выглядит так:
drill @192.168.1.1 www5.yahoo.com
;; ->>HEADER<<- opcode: QUERY, rcode: NXDOMAIN, id: 6957
;; flags: qr rd ra ; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;; www5.yahoo.com. IN A
;; ANSWER SECTION:
;; AUTHORITY SECTION:
yahoo.com. 600 IN SOA ns1.yahoo.com. hostmaster.yahoo-inc.com. 2017031203 3600 300 1814400 600
;; ADDITIONAL SECTION:
;; Query time: 241 msec
;; SERVER: 192.168.1.1
;; WHEN: Mon Mar 13 13:36:34 2017
;; MSG SIZE rcvd: 93
Теперь можно сравнить полученные параметры DNS серверов, например, время запроса (Query time) и т.д.
Время доступа к DNS, прописанный в роутере, с ума сойти какой большой.