
Установка dig в CentOS
dig (сокращено от «domain information groper») — прога DNS-клиента, дающая юзеру интерфейс командной строки для обращения к системе DNS. Позволяет прописывать различные типы запросов и запрашивать произвольно указываемые сервера. Это аналог проги nslookup и dig содержится в комплекте DNS сервера BIND.
Чтобы установить dig на CentOS нужно выполнить:
# yum install bind-utils
После установки можно пользоваться этой утилиткой, например вот так:
# dig google.com
10 основных команд dig
1. Запрос домена.»A» записи
# dig yahoo.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.2 <<>> yahoo.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<
Команда dig выполняется для поиска «А» записи для домена yahoo.com. Dig команда считывает с /etc/resolv.conf запросы к DNS-серверу, перечисленные в нем.
Давайте поймем вывод команды:
Строки, начинающиеся с «;» — это комментарии.
Первая строка говорит нам версию dig (9.8.2).
Далее, dig показывает заголовок ответа который получил от DNS-сервера
В данном случае это запрос для «A» записи yahoo.com. «IN » означает, что это Интернет поиск (в классе Интернет).
Раздел говорит нам что yahoo.com имеет IP-адрес 72.30.38.140
Наконец есть некоторая статистика о запросе. Вы можете отключить эту статистику с помощью опции + nostats.
2. Запрос домена записи «А» + (short ) короткий вывод
По умолчанию dig довольно многословен (много выводит всего). Один из способов сократить вывод заключается в использовании варианта с «+short» который будет резко сокращать вывод, как показано ниже.
# dig yahoo.com +short
99.130.13.44
72.30.38.144
124.136.254.169
Примечание: По умолчанию dig ищет «А» записи указанного домена но можно указать другие записи также. Запись MX или Mail Exchange говорит почтовым серверам как производить маршрут для электронной почты домена. Аналогично TTL, SOA и др.
3. Запросы MX-записи для домена
Запросы разных типов ресурса DNS записи.
# dig yahoo.com MX
4. Запросы SOA записи для домена
# dig yahoo.com SOA
$ dig SOA inux-notes.org @lakas.ns.cloudflare.com.
5. Запросы TTL записей для домена
# dig yahoo.com TTL
6. Только запрос и ответ
# dig yahoo.com +nocomments +noquestion +noauthority +noadditional +nostats
7. Запросы ALL DNS-записей
# dig yahoo.com ANY +noall +answer
8. Посмотреть обратный DNS
# dig -x 75.35.31.143 +short
ir1.fp.vip.sp2.yahoo.com.
9. Запросы к нескольким отчетам DNS
Конкретные запросы DNS а именно запросы для нескольких веб-сайта (для MX, NS и т.д. записей).
# dig yahoo.com mx +noall +answer redhat.com ns +noall +answer
10. Создать файл .digrc
Создать файл .digrc в $HOME/.digrc и сохранить параметры dig по умолчанию.
11. Как определить серверы имен, связанных с доменом?
$ dig NS +short linux-notes.org
lakas.ns.cloudflare.com.
bella.ns.cloudflare.com.
12. Как выглядит делегация в моей зоне?
$ dig linux-notes.org +trace
13. Какое значение в кэше отдает resolver?
$ dig google.com @8.8.8.8
14. Вывод синхронизированы ли зоны со всеми NS?
$ dig linux-notes.org +nssearch
SOA bella.ns.cloudflare.com. dns.cloudflare.com. 2016847280 10000 2400 604800 3600 from server 173.245.58.74 in 33 ms.
SOA bella.ns.cloudflare.com. dns.cloudflare.com. 2016847280 10000 2400 604800 3600 from server 173.245.59.194 in 33 ms.
Если вы заинтересованы только в сравнении с серийным номером, можно отфильтровать нежелательное и отсортировать результаты и так же удалить все дубликаты строк:
$ dig linux-notes.org +nssearch | cut -d ' ' -f 4 | sort | uniq -c
2 2016847280
Итак, теперь вы знаете, около трех кодов ошибок DNS: NXDOMAIN, REFUSED и NOERROR. Есть другие коды возврата DNS (коды состояния), которые объясняются следующим образом:
NOERROR (RCODE:0): DNS Query completed successfully — DNS запрос выполнен успешно.
FORMERR (RCODE:1): DNS Query Format Error — DNS ошибка формата на запрос.
SERVFAIL (RCODE:2): Server failed to complete the DNS request — Серверу не удалось завершить запрос DNS.
NXDOMAIN (RCODE:3): Domain name does not exist — Доменное имя не существует.
NOTIMP (RCODE:4): Function not implemented — Функция не реализована.
REFUSED (RCODE:5): The server refused to answer for the query — сервер отказался отвечать на запрос.
YXDOMAIN (RCODE:6): Name that should not exist, does exist — Имя, которое не должно существовать, существует.
XRRSET (RCODE:7): RRset that should not exist, does exist — RRset который не должен существовать, существует.
NOTAUTH (RCODE:9): Server not authoritative for the zone — Сервер не является авторитетным для зоны.
NOTZONE (RCODE:10): Name not in zone — Имя не в зоне.
В этой статье «Установка dig в CentOS» постарался рассказать как установить и как пользоваться утилитой dig.