Я використовував цю команду, щоб перевірити, чи правильно я налаштував речі у постачальника послуг DNS:
host hostname.example.com ns1.example-nameserver.com
Наскільки я можу сказати, це просить ns1.example-nameserver.com
подивитися hostname.example.com
і повідомити відповідь. Я отримував відповідь не знайденого господаря, тому я вважав, що зробив це неправильно. Однак, без вказівки їх ім'я-сервера (що дозволяє ім'я-сервера мого провайдера , щоб подивитися його) , я отримав правильну відповідь ( hostname
є CNAME
чи це має значення). Я не міг цього зрозуміти, тому я обдивився і знайшов dig
команду:
dig @ns1.example-nameserver.com hostname.example.com
Наскільки я можу сказати, це робить те саме, що і host
команда - запитує конкретний сервер імен шукати хоста. Тому я роблю висновок, що вони повинні робити це по-різному, і кешування серверів імен повинно використовувати той самий метод, що і dig
.
Мій висновок є правильним чи неправильним, якщо він правильний:
Яка різниця між цими двома методами пошуку?
Якщо це неправильно:
Які мої непорозуміння щодо DNS та команд host
та dig
команд привели мене до цього висновку?
Приклад виводу:
$ host cardiff.tzmchapters.org ns1.livedns.co.uk
Using domain server:
Name: ns1.livedns.co.uk
Address: 213.171.192.250#53
Aliases:
Host cardiff.tzmchapters.org not found: 3(NXDOMAIN)
$ dig @ns1.livedns.co.uk cardiff.tzmchapters.org
; <<>> DiG 9.8.3-P1 <<>> @ns1.livedns.co.uk cardiff.tzmchapters.org
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 23620
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;cardiff.tzmchapters.org. IN A
;; ANSWER SECTION:
cardiff.tzmchapters.org. 3600 IN CNAME ghs.google.com.
;; AUTHORITY SECTION:
google.com. 3600 IN SOA ns1.livedns.co.uk. admin.google.com. 1354213742 10800 3600 604800 3600
;; Query time: 27 msec
;; SERVER: 213.171.192.250#53(213.171.192.250)
;; WHEN: Mon Apr 22 23:47:05 2013
;; MSG SIZE rcvd: 128
dig
та host
звітуйте NXDOMAIN
. З ним dig
ви можете бачити його в заголовку (5-й непорожній рядок виводу) і з host
цим більш очевидним. NXDOMAIN
означає, що домен не існує. Тим не менш, а CNAME
повертається у розділі відповідей! Я вірю, що це помилка на сервері DNS!
dig
і те, і host
інше надсилає той самий пакет запитів, отримує такий самий пакет відповідей (окрім будь-яких часових позначок), але інтерпретує його по-різному? Є чи host
під заставу, як тільки він бачить NXDOMAIN
?