воскресенье, 6 апреля 2014 г.

Хосты не распознаются

Следующий шаг проверки корректной работы DNS состоит в том, чтобы убедиться, что на запросы на ваши имена хостов даются правильные ответы. Вопервых, вы должны удостовериться, что файл /etc/ resol v. conf перечисляет ваши серверы имен с правильными адресами. Большинство программ используют адреса из данного файла для определения того, на каком сервере делать запрос и в каком порядке: 



serverl:# cat /etc/resolv.conf
search centralsoft.org nameserver 70.253.158.42 nameserver 70.253.158.45 serverl:#
Команда host осуществляет простой DNSзапрос, используя серверы, перечисленные в файле /etc/resolv.conf. Она выбирает желаемый вами хост для поиска аргумента и необязательного второго аргумента, делает командузапрос к определенному серверу имен. Рассмотрим примеры команды host и ее результатов:
serverl :# host www. central soft, org
www.centralsoft.org has address 70.253.158.42
serverl:# host www.centralsoft.org server2.centralsoft.org
Using domain server: Name: serverl.centralsoft.org Address: 70.253.158.45#53 Aliases:
www.centralsoft.org has address 70.253.158.42 serverl:#

Альтернативой для host является команда dig, которая более сложна, но дает более подробные ответы. Кроме того, она содержит больше параметров, позволяющих делать конкретные запросы.
Вывод из команды dig размечается в синтаксисе файла зоны. Это удобно, поскольку, один раз выучив, как размечаются записи в файле зоны, вы можете легко понимать все детали этих записей в выводе dig. Команда dig также представляет некоторую дополнительную информацию о результатах запроса в форме комментариев зоны, начинающихся с символа ;.
Посмотрим на результат команды dig. Многие строки вывода dig очень длинны и не помещаются в формат этой книги. В приведенном ниже листинге они переносятся на следующую строку. Вы должны увидеть сходные результаты, запустив эту команду в своей сессии оболочки:
serverl:# dig www.centralsoft.org а
; «» DiG 9.2.4 «» www.centralsoft.org а :; global options: printcmd ;: Got answer:
;: »HEADER«opcode: QUERY, status: NOERROR. id: 1633
;: flags: qr aa rd ra; QUERY: 1. ANSWER: 1. AUTHORITY: 2. ADDITIONAL: 2
;; QUESTION SECTION:
;; WHEN: МОП Ju] 17 23:30:51 2006 :; MSG SIZE rcvd: 129 serverl:~#

Первая часть кода обозначает различные статусные коды и флажки. Обратите особое внимание на значение параметра status в четвертой строке. В этом примере оно равно N0ERR0R. Любое другое значение свидетельствует о какойто проблеме.
Точные данные зоны можно разбить на четыре раздела. О QUESTION — этот раздел детализирует запрос как таковой. Он отображается как комментарий, поскольку не является чемлибо, что должно содержаться в файле зоны.
О ANSWER — данный раздел содержит точные результаты, полученные по запросу. Здесь будет показан запрос отдельных записей, если это доступно, или всех записей, если был использован особый тип записи запроса any. О AUTHORITY — в этом разделе определяются официальные серверы имен для зоны,
для которой пришел ответ. О ADDITIONAL — здесь сообщаются адреса некоторых или всех имен предыдущих разделов, чтобы избавить вас от дополнительных запросов этой информации. Теперь посмотрим, что мы получим, если была допущена ошибка. В предыдущем примере использовалось действительное имя вебсервера. На этот раз мы сделаем запрос на имя FTPсервера, который мы не конфигурировали в своем файле зоны:
serverl:~# dig ftp.centralsoft.org а
: «» DiG 9.2.4 «» ftp.centralsoft.org а ;; global options: printcmd :: Got answer:
;; »HEADER«opcode: QUERY, status: NXD0MAIN. id: 6531
:: flags: qr aa rd ra: QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;: QUESTION SECTION:
:ftp.central soft.org. IN A
:; AUTHORITY SECTION:
centralsoft.org. 86400 IN S0A serverl.centralsoft.org.admin. centralsoft.org. 2006070502 28800 7200 604800 86400 :; Query time: 1 msec
;; SERVER: 70.253.158.42#53(70.253.158.42) ;; WHEN: Mon Jul 17 23:30:59 2006 :; MSG SIZE rcvd: 87 serverl:~#


Заметьте, что статус запроса — NXD0MAIN, который, по существу, означает «Нет такого доменного имени». Если вы пропустите или неправильно запишете имя хоста в своем файле зоны, то получите эту ошибку.
Другой тип ошибки, которую вы можете увидеть при использовании dig, проявляется, если доменное имя делегировано вашему серверу имен, но этот домен не конфигурирован на сервере либо загрузить его не удается. Эта ошибка возвращает статус SERVFAIL. Если вы видите эту ошибку на одном из своих доменов, то должны добавить домен в свой файл named. conf и убедиться, что это верный файл зоны для данного домена. Если ошибка повторяется и после того, как вы проделали эти шаги,
проверьте файл /var/log/syslog на наличие любых сообщений о том, что зона не загрузилась. Рассмотрим эту проблему с доменным именем, которое зарегистрировано, но сейчас не используется:


serverl:# dig linhelp.org а
«» DiG 9.2.4 «» linhelp.org а global options: printcmd Got answer:
»HEADER«opcode: QUERY, status: SERVFAIL, id: 29949 flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 QUESTION SECTION: linhelp.org. IN A Query time: 2 msec
SERVER: 70.253.158.42#53(70.253.158.42) WHEN: Mon Jul 17 23:47:14 2006 MSG SIZE rcvd: 37 serverl:#


Комментариев нет:

Отправить комментарий