вторник, 27 марта 2012 г.

dig: диагностика DNS

dig - мощная CLI утилита для диагностики и проверки DNS сервера. Позволяет проверить правильность настройки сервера доменных имен. Должна быть в арсенале любого системного администратора или вебмастера.

Опросить конкретный DNS сервер:
dig @NS.example.com test.ru 

Пример опроса сервера доменных имен google на доменную зону ya.ru:
$ dig @google-public-dns-a.google.com. ya.ru

; <<>> DiG 9.7.3 <<>> @google-public-dns-a.google.com. ya.ru
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54868
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 0

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

;; ANSWER SECTION:
ya.ru.   1138 IN A 77.88.21.3
ya.ru.   1138 IN A 87.250.250.3
ya.ru.   1138 IN A 87.250.250.203
ya.ru.   1138 IN A 87.250.251.3
ya.ru.   1138 IN A 93.158.134.3
ya.ru.   1138 IN A 93.158.134.203
ya.ru.   1138 IN A 213.180.193.3
ya.ru.   1138 IN A 213.180.204.3

;; Query time: 37 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Mar 26 22:40:41 2012
;; MSG SIZE  rcvd: 151

Узнать какие есть почтовые сервера имеющие MX записи в DNS:
 dig example.com MX 

Например узнать какие MX записи есть у домена ya.ru:
$ dig ya.ru MX

; <<>> DiG 9.7.3 <<>> ya.ru MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43213
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;ya.ru.    IN MX

;; ANSWER SECTION:
ya.ru.   2744 IN MX 10 mx.yandex.ru.

;; Query time: 4 msec
;; SERVER: 172.16.250.1#53(172.16.250.1)
;; WHEN: Mon Mar 26 22:45:53 2012
;; MSG SIZE  rcvd: 49

Посмотреть PTR запись или обратную DNS запись:
$ dig -x 87.250.251.3

; <<>> DiG 9.7.3 <<>> -x 87.250.251.3
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51466
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;3.251.250.87.in-addr.arpa. IN PTR

;; ANSWER SECTION:
3.251.250.87.in-addr.arpa. 3520 IN PTR www.yandex.ru.

;; Query time: 22 msec
;; SERVER: 172.16.250.1#53(172.16.250.1)
;; WHEN: Mon Mar 26 22:53:23 2012
;; MSG SIZE  rcvd: 70
На самом деле утилите dig можно подсунуть любые аргументы, такие как A, CNAME, MX, NS, PTR, SOA, SRV, TXT и другие DNS записи. Поэксперементируйте с различными настройками.
На этом все, оставайтесь с блогом сурового ITшника и подписывайтесь на RSS.