Назад | Перейти на главную страницу

Как напрямую запросить авторитетный DNS-сервер имен из командной строки, минуя кешированные серверы?

Как я могу напрямую запросить авторитетный DNS-сервер имен из командной строки Linux и Mac OS X, минуя кэшированные серверы?

Это полезно, когда вы хотите немедленно проверить вновь созданные имена DNS-хостов на полномочном сервере и не хотите ждать, пока кэшированные DNS-серверы «обновят» / истекут TTL.

С участием dig, вы можете сделать это автоматически.

$ dig +trace www.google.com

; <<>> DiG 9.8.3-P1 <<>> +trace www.google.com
;; global options: +cmd
.           376983  IN  NS  c.root-servers.net.
.           376983  IN  NS  d.root-servers.net.
.           376983  IN  NS  l.root-servers.net.
.           376983  IN  NS  j.root-servers.net.
.           376983  IN  NS  f.root-servers.net.
.           376983  IN  NS  b.root-servers.net.
.           376983  IN  NS  i.root-servers.net.
.           376983  IN  NS  g.root-servers.net.
.           376983  IN  NS  a.root-servers.net.
.           376983  IN  NS  e.root-servers.net.
.           376983  IN  NS  k.root-servers.net.
.           376983  IN  NS  m.root-servers.net.
.           376983  IN  NS  h.root-servers.net.
;; Received 512 bytes from 172.16.0.1#53(172.16.0.1) in 2424 ms

com.            172800  IN  NS  a.gtld-servers.net.
com.            172800  IN  NS  l.gtld-servers.net.
com.            172800  IN  NS  i.gtld-servers.net.
com.            172800  IN  NS  k.gtld-servers.net.
com.            172800  IN  NS  g.gtld-servers.net.
com.            172800  IN  NS  m.gtld-servers.net.
com.            172800  IN  NS  f.gtld-servers.net.
com.            172800  IN  NS  h.gtld-servers.net.
com.            172800  IN  NS  e.gtld-servers.net.
com.            172800  IN  NS  j.gtld-servers.net.
com.            172800  IN  NS  d.gtld-servers.net.
com.            172800  IN  NS  c.gtld-servers.net.
com.            172800  IN  NS  b.gtld-servers.net.
;; Received 504 bytes from 192.36.148.17#53(192.36.148.17) in 4357 ms

google.com.     172800  IN  NS  ns2.google.com.
google.com.     172800  IN  NS  ns1.google.com.
google.com.     172800  IN  NS  ns3.google.com.
google.com.     172800  IN  NS  ns4.google.com.
;; Received 168 bytes from 192.33.14.30#53(192.33.14.30) in 503 ms

www.google.com.     300 IN  A   173.194.127.240
www.google.com.     300 IN  A   173.194.127.244
www.google.com.     300 IN  A   173.194.127.242
www.google.com.     300 IN  A   173.194.127.241
www.google.com.     300 IN  A   173.194.127.243
;; Received 112 bytes from 216.239.32.10#53(216.239.32.10) in 164 ms
$ host -t ns <domain>

предоставляет официальные имена серверов. Затем запустите:

$ host <hostname> <authoritative_DNS_name>

чтобы увидеть перевод DNS с официального DNS-сервера.

Пример из Mac OS X следует. Те же команды работают в Ubuntu 12.04.2 LTS.

desktop5-macos Jan 04 13:54:29 ~$ host -t ns google.com
google.com name server ns3.google.com.
google.com name server ns1.google.com.
google.com name server ns2.google.com.
google.com name server ns4.google.com.
desktop5-macos Jan 04 13:54:31 ~$ host google.com ns1.google.com
Using domain server:
Name: ns1.google.com
Address: 216.239.32.10#53
Aliases: 

google.com has address 74.125.225.3
google.com has address 74.125.225.2
google.com has address 74.125.225.5
google.com has address 74.125.225.0
google.com has address 74.125.225.4
google.com has address 74.125.225.9
google.com has address 74.125.225.6
google.com has address 74.125.225.8
google.com has address 74.125.225.7
google.com has address 74.125.225.1
google.com has address 74.125.225.14
google.com has IPv6 address 2607:f8b0:4009:806::1005
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
desktop5-macos Jan 04 13:54:35 ~$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.7.4
BuildVersion:   11E53
desktop5-macos Jan 04 13:54:38 ~$