Като системен администратор нещата изглеждат красиви само докато не изглеждат така. В тези моменти, предизвикани от криза, тези команди за копаене ще бъдат полезни. Останете на линия.
Системните администратори вършат страхотна работа всеки път. Дори най-елементарното изискване за работата на системния администратор да бъдеш на повикване 24/7 е нещо, което оценявам безгранично.
Но ние не сме тук, за да се потопим в работните им профили; вместо това проверете тяхното избрано оръжие за отстраняване на проблеми с DNS.
Съдържание
Какво представляват командите за копаене?
Съкратено от Domain Information Groper, командите Dig са един от най-бързите методи за запитване до DNS сървъри за това какво работи и какво не.
Можете да проверите IP адреса на сървъра, сървърите за имена, размяната на поща, да направите запитване за TTL и т.н., с лесни за запомняне текстове.
Преди да започнете с няколко основни команди за копаене, моля, проверете дали имате инсталирани помощни програми за копаене:
$ dig -v
Това трябва да се върне с резултат, указващ версията за копаене, като това:
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 pctechbg.net.com е итерацията, с която ще започнем.
$ dig pctechbg.net.com ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> pctechbg.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: ;pctechbg.net.com. IN A ;; ANSWER SECTION: pctechbg.net.com. 67 IN A 172.66.43.163 pctechbg.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 pctechbg.net.com +noall +answer pctechbg.net.com. 53 IN A 172.66.43.163 pctechbg.net.com. 53 IN A 172.66.40.93
Тук отричаме всичко чрез +noall, само за да позволим очаквания отговор с +answer.
Човек може да получи още по-кратък отговор, като използва:
$ dig pctechbg.net.com +short 172.66.43.163 172.66.40.93
Това беше основната заявка, която връща DNS A записа; нека видим още няколко.
Намерете конкретни DNS записи
Сървърите за имена, авторитетният DNS сървър за домейн, могат да бъдат намерени чрез променливата ns.
$ dig pctechbg.net.com ns +short olga.ns.cloudflare.com. todd.ns.cloudflare.com.
По същия начин променливата mx отговаря с пощенските сървъри заедно с техните приоритети.
$ dig pctechbg.net.com mx +noall +answer pctechbg.net.com. 300 IN MX 1 aspmx.l.google.com. pctechbg.net.com. 300 IN MX 10 alt3.aspmx.l.google.com. pctechbg.net.com. 300 IN MX 10 alt4.aspmx.l.google.com. pctechbg.net.com. 300 IN MX 5 alt1.aspmx.l.google.com. pctechbg.net.com. 300 IN MX 5 alt2.aspmx.l.google.com.
По същия начин txt, aaaa, cname и т.н. могат да се използват като командни променливи на dig за връщане на различни DNS записи.
Проследяване на DNS
Както се вижда от заглавието, Trace DNS проверява пътя от основните сървъри за имена, авторитетни сървъри за имена, до IP адреса на домейна.
$ dig pctechbg.net.com +trace ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> pctechbg.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 pctechbg.net.com. 172800 IN NS olga.ns.cloudflare.com. pctechbg.net.com. 172800 IN NS todd.ns.cloudflare.com. pctechbg.net.com. 86400 IN DS 2371 13 2 CBAA2018F41B29985DAEDE7F127D4F9626ADA609665CEBAB0011903B 7C639254 pctechbg.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 pctechbg.net.com. 300 IN A 172.66.43.163 pctechbg.net.com. 300 IN A 172.66.40.93 pctechbg.net.com. 300 IN RRSIG A 13 2 300 20221110051242 20221108031242 34505 pctechbg.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 pctechbg.net.com +noall +answer +stats pctechbg.net.com. 300 IN A 172.66.40.93 pctechbg.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 pctechbg.net.com mx +noall +answer +stats pctechbg.net.com. 300 IN MX 1 aspmx.l.google.com. pctechbg.net.com. 300 IN MX 10 alt3.aspmx.l.google.com. pctechbg.net.com. 300 IN MX 10 alt4.aspmx.l.google.com. pctechbg.net.com. 300 IN MX 5 alt1.aspmx.l.google.com. pctechbg.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 информация и идентифициране на свързани проблеми. Командите за копаене обикновено са бързи на работа и лесни за запомняне.
Да не говорим, че можете също да инсталирате помощни програми за копаене на Mac и Windows, което ги прави универсални в тяхното приложение.
PS: Докато сте тук, би било престъпно да не ви запозная с библиотеката на pctechbg.net Sysadmin, център за решения на едно гише за вашите главоболия на системния администратор.