Установка dig в CentOS

Установка dig в CentOS

dig (сокращено от «domain information groper») — прога DNS-клиента, дающая юзеру интерфейс командной строки для обращения к системе DNS. Позволяет прописывать различные типы запросов и запрашивать произвольно указываемые сервера. Это аналог проги nslookup и dig содержится  в комплекте DNS сервера BIND.

Чтобы установить dig на CentOS нужно выполнить:

# yum install bind-utils

После установки можно пользоваться этой утилиткой, например вот так:

# dig google.com
Установка dig в CentOS, пример использования

Установка dig в CentOS, пример использования

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

dig yahoo.com MX

4. Запросы SOA записи для домена

# dig yahoo.com SOA

 dig yahoo.com SOA

$ dig SOA inux-notes.org @lakas.ns.cloudflare.com.

5. Запросы TTL записей для домена 

# dig yahoo.com TTL

dig yahoo.com TTL

6. Только запрос и ответ

# dig yahoo.com +nocomments +noquestion +noauthority +noadditional +nostats

dig yahoo.com +nocomments +noquestion +noauthority +noadditional +nostats

7. Запросы ALL DNS-записей

# dig yahoo.com ANY +noall +answer

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
dig yahoo.com mx +noall +answer redhat.com ns +noall +answer

dig yahoo.com mx +noall +answer redhat.com ns +noall +answer

10. Создать файл  .digrc
Создать файл  .digrc в $HOME/.digrc  и сохранить параметры dig по умолчанию.

dig yahoo.com

dig yahoo.com

11. Как определить серверы имен, связанных с доменом?

$ dig NS +short linux-notes.org

lakas.ns.cloudflare.com.
bella.ns.cloudflare.com.

12. Как выглядит делегация в моей зоне?

$ dig linux-notes.org +trace

 

dig linux-notes.org +trace

dig linux-notes.org +trace

 13. Какое значение в кэше отдает resolver?

$ dig google.com @8.8.8.8
dig google.com @8.8.8.8

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.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.