Як системному адміністратору все виглядає красиво, поки це не так. У такі кризові моменти ці команди копання стануть у нагоді. Залишайтеся на зв’язку.
Системні адміністратори щоразу виконують шалену роботу. Навіть найпростіша вимога до роботи системного адміністратора — бути на зв’язку 24/7 — це те, що я надзвичайно ціную.
Але ми тут не для того, щоб заглиблюватися в профілі їхніх вакансій; натомість перевірте їх обрану зброю для вирішення проблем із DNS.
Що таке команди Dig?
Скорочено від Domain Information Groper, команди Dig є одним із найшвидших методів запиту серверів DNS про те, що працює, а що ні.
Ви можете перевірити IP-адресу сервера, сервери імен, обмін поштою, запитати TTL тощо за допомогою текстів, які легко запам’ятати.
Перш ніж розпочати роботу з кількома основними командами копання, перевірте, чи встановлено утиліти копання:
$ 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 techukraine.net.com — це ітерація, з якої ми почнемо.
$ dig techukraine.net.com ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> techukraine.net.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: ;techukraine.net.com. IN A ;; ANSWER SECTION: techukraine.net.com. 67 IN A 172.66.43.163 techukraine.net.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-адреса сервера. Його згадується в розділі відповіді 172.66.40.93 (основний сервер) і 172.66.43.163 (безвідмовний).
Крім того, ваш оригінальний запит міститься в розділі «Питання».
В останньому розділі наведено кілька статистичних даних щодо запиту.
Але це дуже багато інформації, яка не потрібна щоразу.
Отже, ви можете отримати чіткішу відповідь на цей запит, ввівши:
$ dig techukraine.net.com +noall +answer techukraine.net.com. 53 IN A 172.66.43.163 techukraine.net.com. 53 IN A 172.66.40.93
Тут ми відхиляємо все за допомогою +noall, лише щоб дозволити очікувану відповідь за допомогою +answer.
Ще більш коротку відповідь можна отримати, використовуючи:
$ dig techukraine.net.com +short 172.66.43.163 172.66.40.93
Це був основний запит, що повертає запис DNS A; давайте подивимося ще кілька.
Знайдіть певні записи DNS
Сервери імен, офіційний DNS-сервер для домену, можна знайти за допомогою змінної ns.
$ dig techukraine.net.com ns +short olga.ns.cloudflare.com. todd.ns.cloudflare.com.
Так само змінна mx відповідає поштовим серверам разом із їхніми пріоритетами.
$ dig techukraine.net.com mx +noall +answer techukraine.net.com. 300 IN MX 1 aspmx.l.google.com. techukraine.net.com. 300 IN MX 10 alt3.aspmx.l.google.com. techukraine.net.com. 300 IN MX 10 alt4.aspmx.l.google.com. techukraine.net.com. 300 IN MX 5 alt1.aspmx.l.google.com. techukraine.net.com. 300 IN MX 5 alt2.aspmx.l.google.com.
Таким же чином txt, aaaa, cname тощо можна використовувати як змінні команди dig для повернення різних записів DNS.
Відстеження DNS
Як видно із заголовка, Trace DNS перевіряє шлях від кореневих серверів імен, авторитетних серверів імен, до IP-адреси домену.
$ dig techukraine.net.com +trace ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> techukraine.net.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 techukraine.net.com. 172800 IN NS olga.ns.cloudflare.com. techukraine.net.com. 172800 IN NS todd.ns.cloudflare.com. techukraine.net.com. 86400 IN DS 2371 13 2 CBAA2018F41B29985DAEDE7F127D4F9626ADA609665CEBAB0011903B 7C639254 techukraine.net.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 techukraine.net.com. 300 IN A 172.66.43.163 techukraine.net.com. 300 IN A 172.66.40.93 techukraine.net.com. 300 IN RRSIG A 13 2 300 20221110051242 20221108031242 34505 techukraine.net.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-адреса.
[email protected]:~$ 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 [email protected]:~$ 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. Цього можна легко досягти, додавши IP-адресу @DNS-сервера, вибравши будь-який DNS-сервер для певного запиту.
$ dig @1.1.1.1 techukraine.net.com +noall +answer +stats techukraine.net.com. 300 IN A 172.66.40.93 techukraine.net.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
Ви можете перевірити це в розділі статистики, де згадується Сервер: 1.1.1.1, який належить Cloudflare.
Так само можна запитати DNS-сервери Google (8.8.8.8):
$ dig @8.8.8.8 techukraine.net.com mx +noall +answer +stats techukraine.net.com. 300 IN MX 1 aspmx.l.google.com. techukraine.net.com. 300 IN MX 10 alt3.aspmx.l.google.com. techukraine.net.com. 300 IN MX 10 alt4.aspmx.l.google.com. techukraine.net.com. 300 IN MX 5 alt1.aspmx.l.google.com. techukraine.net.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, що робить їх універсальними в їх застосуванні.
PS: поки ви тут, було б злочинно не познайомити вас із бібліотекою techukraine.net Sysadmin, універсальним центром рішень для ваших головних болів системного адміністратора.