Контакты

Россия 196084 , Санкт-Петербург, ул. Заозерная, дом №8, корпус 2, Литера А, офис 212

Мы работаем по будням с 10.00 до 19.00 +7 (495) 215-53-16 +7 (812) 748-20-96 info@notissimus.com
Социальные сети

Как системный администратор, все выглядит красиво только до тех пор, пока это не так. В такие кризисные моменты эти команды dig пригодятся. Следите за новостями. Системные администраторы всегда выполняют чертовски сложную работу. Даже самое элементарное требование к сисадмину – быть на связи 24 часа в сутки 7 дней в неделю – я ценю безгранично. Но мы здесь не для того, чтобы изучать их профессиональные характеристики; вместо этого проверьте, какое оружие они выбрали для устранения проблем с DNS.

Что такое команды Dig?

Сокращенно от Domain Information Groper, команды Dig – это один из самых быстрых методов опроса DNS-серверов на предмет того, что работает, а что нет. Вы можете проверить IP-адрес сервера, серверы имен, почтовый обмен, запрос TTL и т.д. с помощью легко запоминающихся текстов. Прежде чем приступить к рассмотрению нескольких основных команд dig, проверьте, установлены ли у вас утилиты dig:

$ dig -v

В результате должен быть получен результат, указывающий на версию dig, как показано ниже:

DiG 9.18.1-1ubuntu1-Ubuntu

Если вы не получили аналогичного ответа, значит, сначала нужно установить утилиты Dig. Для тех, кто использует Ubuntu и Debian, введите:

$ sudo apt-get install dnsutils

И используйте:

$ sudo yum install bind-utils

…если вы работаете на CentOS или RHEL. Затем запустите dig -v, чтобы убедиться, что установка прошла гладко. Наконец, перейдите к следующим разделам, чтобы ознакомиться с несколькими командами Dig, которые помогут вам как системному администратору.

Проверьте IP-адрес

Это один из самых простых способов, когда мы проверяем IP-адрес сервера, лежащий в основе доменного имени.

dig notissimus.com – это та итерация, с которой мы начнем.

$ dig notissimus.com

; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> notissimus.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38635
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;geekflare.com.			IN	A

;; ANSWER SECTION:
geekflare.com.		67	IN	A	172.66.43.163
geekflare.com.		67	IN	A	172.66.40.93

;; Query time: 4 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Wed Nov 09 04:29:58 UTC 2022

Первое, что важно, – это статус: NOERROR в разделе ” Получили ответ ” в верхней части. Это говорит о том, что все прошло успешно и без каких-либо проблем. Но информация, ради которой мы сделали этот запрос, – это IP-адрес сервера. Он указан в разделе Answer 172.66.40.93 (основной сервер) и 172.66.43.163 (отказоустойчивый). Кроме того, в разделе “Вопрос” находится ваш первоначальный запрос. В последнем разделе приведены некоторые статистические данные о запросе. Но это очень много информации, которая не всегда нужна. Следовательно, вы можете получить более чистый ответ на этот запрос, введя:

$ dig notissimus.com +noall +answer notissimus.com. 53 IN A 172.66.43.163 geekflare.com. 53 IN A 172.66.40.93

Здесь мы отрицаем все с помощью +noall, разрешая ожидаемый ответ с помощью +answer. Можно получить еще более краткий ответ, используя:

$ dig notissimus.com +short 172.66.43.163 172.66.40.93

Это был основной запрос, возвращающий запись DNS A; давайте посмотрим еще несколько.

Поиск определенных записей DNS

Серверы имен, авторитетный DNS-сервер для домена, можно найти по переменной ns.

$ dig notissimus.com ns +short olga.ns.notissimus.com. todd.ns.notissimus.com.

Аналогично, переменная mx отвечает на запросы почтовых серверов с указанием их приоритетов.

$ dig geekflare.com mx +noall +answer
geekflare.com.		300	IN	MX	1 aspmx.l.google.com.
geekflare.com.		300	IN	MX	10 alt3.aspmx.l.google.com.
geekflare.com.		300	IN	MX	10 alt4.aspmx.l.google.com.
geekflare.com.		300	IN	MX	5 alt1.aspmx.l.google.com.
geekflare.com.		300	IN	MX	5 alt2.aspmx.l.google.com.

Аналогично, txtaaaacname и т. д. можно использовать в качестве переменных команды dig для возврата различных записей DNS.

Трассировка DNS

Как видно из заголовка, Trace DNS проверяет путь от корневых серверов имен, авторитетных серверов имен, до IP-адреса домена.

$ dig geekflare.com +trace

; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> geekflare.com +trace
;; global options: +cmd
.			322660	IN	NS	a.root-servers.net.
.			322660	IN	NS	b.root-servers.net.
.			322660	IN	NS	c.root-servers.net.
.			322660	IN	NS	d.root-servers.net.
.			322660	IN	NS	e.root-servers.net.
.			322660	IN	NS	f.root-servers.net.
.			322660	IN	NS	g.root-servers.net.
.			322660	IN	NS	h.root-servers.net.
.			322660	IN	NS	i.root-servers.net.
.			322660	IN	NS	j.root-servers.net.
.			322660	IN	NS	k.root-servers.net.
.			322660	IN	NS	l.root-servers.net.
.			322660	IN	NS	m.root-servers.net.
;; Received 811 bytes from 127.0.0.53#53(127.0.0.53) in 16 ms

com.			172800	IN	NS	i.gtld-servers.net.
com.			172800	IN	NS	k.gtld-servers.net.
com.			172800	IN	NS	e.gtld-servers.net.
com.			172800	IN	NS	c.gtld-servers.net.
com.			172800	IN	NS	h.gtld-servers.net.
com.			172800	IN	NS	b.gtld-servers.net.
com.			172800	IN	NS	d.gtld-servers.net.
com.			172800	IN	NS	f.gtld-servers.net.
com.			172800	IN	NS	j.gtld-servers.net.
com.			172800	IN	NS	g.gtld-servers.net.
com.			172800	IN	NS	a.gtld-servers.net.
com.			172800	IN	NS	m.gtld-servers.net.
com.			172800	IN	NS	l.gtld-servers.net.
com.			86400	IN	DS	30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com.			86400	IN	RRSIG	DS 8 1 86400 20221121170000 20221108160000 18733 . ZgW2dKMBP6rqIgQSGN5uzFhNFZuIPUg7JrkXzgE9VKh68LOIuQlFgTTV xt3Sz4ytgru8JWcwCHgiqCTjbaN3WeHcrDVf0ItG0Az/01ofBWfoAu9S 1JFYcOrYkTUidn8R4vROkwzsTrZMirnB/4yrA4MD5thWVBr3IczcnFto DbADuw8Qy/RUEUfcu+LcQ4Ge+OzIP8eE1T6+nbMRqFZBSMFoBO1w0Mmk xNGyEclfFkymQ4CsYxnvYVstljpLqh1OhoAEwY6D+0cSh9dKNQ5LKhgq UXqfJ+zmdcvL+cVvMjfcB0Wj6/hmEkpEp1ISawlTjFUDgiKNZxiow02r JL4tsw==
;; Received 1201 bytes from 192.33.4.12#53(c.root-servers.net) in 148 ms

geekflare.com.		172800	IN	NS	olga.ns.cloudflare.com.
geekflare.com.		172800	IN	NS	todd.ns.cloudflare.com.
geekflare.com.		86400	IN	DS	2371 13 2 CBAA2018F41B29985DAEDE7F127D4F9626ADA609665CEBAB0011903B 7C639254
geekflare.com.		86400	IN	RRSIG	DS 8 2 86400 20221112051535 20221105030535 53929 com. sbqDGqvxmEAjS4KRx8LvQAG9IusLgRRm5GPDf+AFkXddGgfJN37vJP1H 4JKMriWtgXZHc3g1ANMNjij+5J1K3GgeNy2w0UYc7xHkmvhsd15pDvi9 +BoiBsjC8ffznyli8sV8XVhm65oKDHJRx5YEtXUVA4p9hegO0NHDccvt ujQKMShBWX3nxs7P4onL13gspVScOoZgzXL3470UfDW7MA==
;; Received 601 bytes from 2001:501:b1f9::30#53(m.gtld-servers.net) in 144 ms

geekflare.com.		300	IN	A	172.66.43.163
geekflare.com.		300	IN	A	172.66.40.93
geekflare.com.		300	IN	RRSIG	A 13 2 300 20221110051242 20221108031242 34505 geekflare.com. tKDYd/FHjs/aRHeOQJlsxXDJYtVcHA4G16QRJKlhFyYkZ2TmLKNIc6eM vXfpO91IVArK67KbyW5lIxI5cCxcQg==
;; Received 183 bytes from 172.64.32.137#53(olga.ns.cloudflare.com) in 16 ms

Кроме того, вы можете получить короткий ответ, используя переменные +short или +noall +answer.

Обратный поиск DNS

Обратный поиск DNS позволяет обнаружить запись PTR, связанную с IP-адресом. Это противоположность записи DNS A и соответствие IP-адресов доменному имени. Однако раздел ответа будет отсутствовать, если у доменного имени нет записи DNS PTR. Здесь используется команда dig -x IP-адрес.

ubuntu@ubuntu:~$ dig yahoo.com +short
74.6.143.26
74.6.231.20
98.137.11.164
98.137.11.163
74.6.143.25
74.6.231.21
ubuntu@ubuntu:~$ dig -x 74.6.143.26

; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> -x 74.6.143.26
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32267
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;26.143.6.74.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
26.143.6.74.in-addr.arpa. 600	IN	PTR	media-router-fp74.prod.media.vip.bf1.yahoo.com.

;; AUTHORITY SECTION:
143.6.74.in-addr.arpa.	172800	IN	NS	ns3.yahoo.com.
143.6.74.in-addr.arpa.	172800	IN	NS	ns4.yahoo.com.
143.6.74.in-addr.arpa.	172800	IN	NS	ns5.yahoo.com.
143.6.74.in-addr.arpa.	172800	IN	NS	ns2.yahoo.com.
143.6.74.in-addr.arpa.	172800	IN	NS	ns1.yahoo.com.

;; Query time: 192 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Wed Nov 09 04:17:08 UTC 2022
;; MSG SIZE  rcvd: 203

Как вы можете видеть, доменное имя в разделе “Ответ”, media-router-fp74.prod.media.vip.bf1.yahoo.com/, связано с основным IP-адресом 74.6.143.26. Посетив этот URL-адрес, вы попадете на домашнюю страницу поиска Yahoo. Однако это может быть справедливо не для всех хостингов: в некоторых случаях эти уродливые длинные URL ничего не разрешают.

Запрос определенных DNS-серверов

Иногда для DNS-запросов требуется пинговать определенный сервер. Этого можно легко добиться, добавив @DNS server IP address, выбрав любой DNS-сервер для конкретного запроса.

$ dig @1.1.1.1 geekflare.com +noall +answer +stats
geekflare.com.		300	IN	A	172.66.40.93
geekflare.com.		300	IN	A	172.66.43.163
;; Query time: 156 msec
;; SERVER: 1.1.1.1#53(1.1.1.1) (UDP)
;; WHEN: Wed Nov 09 04:18:56 UTC 2022
;; MSG SIZE  rcvd: 74

Вы можете убедиться в этом в разделе статистики, где упоминается Server: 1.1.1.1, который принадлежит Cloudflare. Аналогичным образом можно запросить DNS-серверы Google (8.8.8.8):

$ dig @8.8.8.8 geekflare.com mx +noall +answer +stats
geekflare.com.		300	IN	MX	1 aspmx.l.google.com.
geekflare.com.		300	IN	MX	10 alt3.aspmx.l.google.com.
geekflare.com.		300	IN	MX	10 alt4.aspmx.l.google.com.
geekflare.com.		300	IN	MX	5 alt1.aspmx.l.google.com.
geekflare.com.		300	IN	MX	5 alt2.aspmx.l.google.com.
;; Query time: 44 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP)
;; WHEN: Wed Nov 09 04:23:16 UTC 2022
;; MSG SIZE  rcvd: 157

Давайте раскопаем его

Как видно из названия, они используются для выкапывания информации о DNS и выявления связанных с ней проблем. Команды Dig обычно работают быстро и легко запоминаются. Кроме того, утилиты для копания можно установить на Mac и Windows, что делает их универсальными в применении.