Linux dig dns server

Содержание
  1. 10 примеров использования команды dig для просмотра параметров DNS (DNS Lookup) в Linux
  2. Using dig to Query a Specific DNS Server (Name Server) Directly (Linux, BSD, OSX)
  3. RootUsers
  4. Guides, tutorials, reviews and news for System Administrators.
  5. 12 Dig Command Examples To Query DNS In Linux
  6. Install Dig
  7. How To Use dig – Command Examples
  8. 1. Basic DNS Query
  9. 2. Query Specific Name Server
  10. 3. Search For Record Type
  11. 4. Reverse DNS Lookup
  12. 5. Trace DNS Path
  13. 6. Adjust Answer Size
  14. 7. Lookup From File
  15. 8. Specify Port Number
  16. 9. Use IPv4 Or IPv6
  17. 10. Query All DNS Record Types
  18. 11. Customize Dig Output
  19. 12. Adjust Defaults With
  20. Summary
  21. Команда Dig в Linux (Domain Information Groper)
  22. Dig Command in Linux (DNS Lookup)
  23. В этом руководстве объясняется, как использовать dig утилиту, на практических примерах и подробные объяснения наиболее распространенных вариантов dig.
  24. Установка dig
  25. Установить dig на Ubuntu и Debian
  26. Установить dig на CentOS и Fedora
  27. Установить dig на Arch Linux
  28. Понимание dig вывода
  29. Печать только ответа
  30. 1. Получите короткий ответ
  31. 2. Получить подробный ответ
  32. Запрос конкретного сервера имен
  33. Запросить тип записи
  34. 1. Запрос записей
  35. 2. Запрос записей CNAME
  36. 3. Запрос записей TXT
  37. 4. Запрос MX записей
  38. 5. Запрос записей NS
  39. 6. Запрос всех записей
  40. Обратный поиск DNS
  41. Массовые Запросы
  42. Файл .digrc
  43. Вывод

10 примеров использования команды dig для просмотра параметров DNS (DNS Lookup) в Linux

Итак, что такое dig?

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

Утилита dig входит в стандартный комплект DNS сервера BIND.

1. Простой вывод команды dig (для понимания вывода, без доп.параметров )

Когда вы задаете имя домена в команде dig по-умолчанию вы получаете A-запись домена (ip-адрес сайта (домена) который мы запрашивали) как показано на листинге ниже

В примере можно увидеть A-записи домена ya.ru в разделе ANSWER SECTION

Давайте рассмотрим разделы данного вывода подробней:
— HEADER (заголовок): показывает версию dig, глобальные опции используемые с командой и другую дополнительную информацию
— QUESTION SECTION (секция запроса): Показывает наш запрос, то бишь мы запросили показать A-запись (команда dig без параметров) для домена ya.ru
— ANSWER SECTION (секция ответа): Показывает ответ полученный от DNS, в нашем случае показывает A-запись для ya.ru
Последняя секция это статистика по запросу (служебная информация) — время выполнения запроса, имя DNS-сервера который запрашивался, когда был создан запрос и размер сообщения

Так же можно выполнить опрос конкретного DNS-сервера:

Результат вывода дополняется еще двумя секциями:
AUTHORITY SECTION: Показывает имена DNS-серверов обработавших наш запрос
ADDITIONAL SECTION: Показывает ip-адреса этих DNS-серверов (из секции AUTHORITY SECTION)

2. Вывод только секции ANSWER SECTION

В большинстве случаев требуется только ip адрес домена, то бишь вывод секции «ANSWER SECTION»
Для этого существуют следующие ключи:
-+nocomments — отключает линию комментариев
-+noauthority — отключает секцию «AUTHORITY SECTION»
-+noadditional – отключает секцию «ADDITIONAL SECTION»
-+nostats – отключает секцию статистики
-+noanswer – выключает секцию ответа (ANSWER SECTION)

Можно сделать проще, существует ключ +noall, который выключает все секции. Таким образом мы используем ключ +noall и добавляем ключ +answer, уменьшая длину команды

3. Запрос MX-записи

Для запроса MX-записи домена мы используем одноименный аргумент командной строки (MX)

Этот же запрос можно выполнить с ключом -t (тип)

4. Запрос NS-записи

По аналогии с предыдущим пунктом, используем аргумент NS

Вы также можете использовать ключ -t для указания типа запроса

5. Просмотр всех типов DNS-записей

Для этого используется ключ ANY

Также допустим ключ -t

6. Краткий вывод команды dig

Допустим чтобы просмотреть только ip-адрес, без лишней информации, используем опцию +short

Вы также можете вывести информацию по любому виду информации с ключем +short
Пример:

7. Просмотр информации об обратной зоне домена (PTR)

Для просмотра обратной зоны необходимо использовать ключ -х
Для примера, мы хотим узнать имя домена по айпи-адресу 77.88.21.3

Для вывода полной информации убираем ключ +short

8. Использование конкретного DNS-сервера для выполнения запроса

Для использования конкретного DNS-сервераиспользуется запись вида — @dnsserver, где dnsserver это или имя или ip-адрес DNS-сервера
Данный пример мы рассмотрели в п.1

9. Объемный запрос (запрос информации сразу о нескольких доменах)

Для запроса информации о нескольких доменах возможно использование текстовых файлов с перечислением доменов.
Создадим файл names.txt с именами доменов:

Далее используем ключ -f для чтения из файла:

Также можно комбинировать тип DNS записи c опцией -f:

Также возможно перечисление доменов непосредственно в командной строке. Для примера узнаем MX-запись для домена ya.ru и NS-запись для домена google.ru:

10. Изменение параметров по умолчанию для команды dig

Например вы хотите, чтобы утилита dig по умолчанию выводила только секцию ответа (ANSWER SECTION).
Для этого необходимо внести в файл .digrc необходимые ключи, в нашем случае +noall +answer:

Таким образом мы рассмотрели мизерную часть этой замечательной утилиты, для тех, кто хочет большего, добро пожаловать в man dig 😉

Источник

Using dig to Query a Specific DNS Server (Name Server) Directly (Linux, BSD, OSX)

There may be occasions when you wish to query a DNS server directly. I often do it before changing DNS servers for a domain; I’ll setup the new records on the new DNS servers, and then query them directly to ensure they are returning the correct records.

Читайте также:  Подключиться через telnet windows

I recommend that anyone running DNS services for any domain looks into these commands – they’re very useful, especially when you’re making changes.

dig has a feature which allows you to specify a name server along with the record you want to query.

For example, one of the DNS servers for droptips.com is “ns.123-reg.co.uk”. We can query this server directly, for the www record by doing the following:

You’ll get some output with a section titled Answer Section:

This details the result (89.238.134.5) and also the TTL for the record (in seconds). The TTL is important, as this is how long caching DNS servers should cache the result for – in this case, 86400 seconds which is 1 day. Using this command to find out a TTL value for a particular record is also quite useful, especially if you’re investigating DNS cache issues.

You can also do the same to check other records such as MX records, by simpling adding the record type to the command. For example, to get the MX records ns1.google.com is reporting for google.co.uk:

… with the results:

You can see in this instance, that the TTL is 10800 seconds which is 3 hours, and all MX records have the same priority level of 10.

Источник

RootUsers

Guides, tutorials, reviews and news for System Administrators.

12 Dig Command Examples To Query DNS In Linux

Dig (domain information groper) is a tool that is used for querying DNS servers for various DNS records, making it very useful for troubleshooting DNS problems.

By the end of this guide you will know how to use dig to perform different types of DNS lookups in Linux.

Install Dig

In order to use the dig command we must first install it. In CentOS/RHEL/Fedora dig is part of the ‘bind-utils’ package.

For Debian/Ubuntu based distributions it comes from the ‘dnsutils’ package.

How To Use dig – Command Examples

1. Basic DNS Query

In its most simplest form we can specify a domain name after the dig command and it will perform a DNS lookup, as shown below.

In this output we can see that google.com has an A record pointing to the IP address 216.58.220.110.

By default with no name server specified the DNS resolver in the /etc/resolv.conf file will be used, dig will also look for an A record with no other options specified.

2. Query Specific Name Server

In the above example we did not query any specific name server, so our query would have been sent to whatever is configured in our /etc/resolv.conf file which will contain the DNS resolvers that our Linux system is configured to use. We can specify a name server to send the query to with the @ symbol, followed by the hostname or IP address of the name server to communicate with.

Note that as we are now specifying some external name server to query, our network needs to permit outbound access to this destination on port 53, otherwise the query will fail.

3. Search For Record Type

So far we have seen that by default dig will return the A record, however we can specify any other records that we wish to query by simply appending the record type to the end of the query. In this example, we lookup the MX records associated with google.com.

In this example we can see 5 different MX records returned, all with varying priority. Generally the record with the lowest priority will be used first, so in this case aspmx.l.google.com.

4. Reverse DNS Lookup

We can use the dig command to perform a reverse DNS lookup, that is we can query an IP address and find the domain name that it points to by querying the PTR record. This is done by using the -x option followed by the IP address to query. In the below example we perform a reverse lookup on one of the IP addresses that google.com resolved to in the first example.

This IP address has two PTR records, pointing to syd10s01-in-f14.1e100.net and syd10s01-in-f110.1e100.net.

5. Trace DNS Path

We can perform a trace on the DNS lookup path with the +trace option, as shown below while querying google.com we can see what actually happens. First the root name servers for ‘.’ are looked up, followed by the name servers for the .com domain, and then finally the name servers for google.com are returned, followed by the DNS records for it.

6. Adjust Answer Size

By default dig runs with full long output, which displays a lot of verbose information. While useful, there may be times where we simply want our result returned. This can be achieved with the +short option, as shown below when we query google.com we only see the IP address result without any further information.

Читайте также:  Редактора реестра windows regedit

7. Lookup From File

Specifying a single domain after the dig command is not the only way to perform a lookup, we can also supply dig a list of domains from a file (one domain per line) which can be useful if you need to script bulk DNS lookups. In the below example, we use the -f option to read the file query.txt which contains three domains. For brevity I have also made use of +short here so we only see the IP addresses returned rather than the full output which would be quite long.

8. Specify Port Number

By default the dig command queries port 53 which is the standard DNS port, however we can optionally specify an alternate port if required. This may be useful if an external name server is configured to use a non standard port for some reason. We specify the port to query with the -p option, followed by the port number. In the below example we perform a DNS query to port 5300.

Note that the external name server must actually be listening for traffic on this port specified, and its firewall will also need to allow the traffic through otherwise the lookup will fail. In this example the connection times out, as 8.8.8.8 is not configured to listen on the random port 5300 that I selected for this example.

9. Use IPv4 Or IPv6

By default our dig queries are running over the IPv4 network, we can specify if we want to use the IPv4 transport with the -4 option, or alternatively we can specify to use the IPv6 transport with the -6 option.

Note that your Linux system will need to have an IPv6 network configured for this to work correctly.

10. Query All DNS Record Types

We can use the ‘ANY’ option to query all DNS record types, this way we can quickly see all DNS records available for a domain. In the below example we can see the results for all types of different records, including A, AAAA, TXT, MX and NS.

It should be noted that some name servers do not support this and will deny the request, for example many domains behind Cloudflare will simply return the below record only.

11. Customize Dig Output

There are many different options that we can specify to customize what the dig command will print out.

Hide All
With the +noall option, we can hide almost all output.

Now from this clean base, we can choose what we want to display. We can also disable components from the default output in a similar manner.

Print Statistics
By default some basic statistics appear at the bottom of the dig query, including query time, the server queried, when it happened and the message size. These can be removed with the +nostats option, or added with +stats.

Print Answer
We can output the answer to the DNS query with the +answer option, as shown below we now actually see the IP address from the DNS query.

Hopefully this gives you a basic understanding of how we can hide and display particular components of the dig output, there are many more options available and I recommend checking the manual page for further information on which specific parts can be displayed or hidden.

12. Adjust Defaults With

We can create a .digrc file in our home directory to include any custom options that we want dig to run with by default. This way we can specify various options in the

/.digrc file that will always automatically run with the dig command.

In the below example we add the +short option to the .digrc in our home directory and then perform a dig on google.com, we can see that the output confirms it was run with +short even though we did not specify it on the command line.

Summary

We have seen how the dig command can be used in many different ways to perform DNS queries in Linux, making it a useful tool for troubleshooting or performing DNS lookups.

If you’re after further information on this topic, check out our DNS troubleshooting guide.

Источник

Команда Dig в Linux (Domain Information Groper)

Dig Command in Linux (DNS Lookup)

В этом руководстве объясняется, как использовать dig утилиту, на практических примерах и подробные объяснения наиболее распространенных вариантов dig.

Dig (Domain Information Groper) — это мощный инструмент командной строки для запросов к DNS-серверам имен.

Команда dig позволяет запрашивать информацию о различных записях DNS, включая адреса хостов, почтовые обмены и серверы имен. Это наиболее часто используемый инструмент среди системных администраторов для устранения проблем с DNS из-за его гибкости и простоты использования.

Читайте также:  Linux изменить дату модификации файла

Установка dig

Чтобы проверить, доступна ли команда dig в вашей системе, введите:

Вывод должен выглядеть примерно так:

Если dig его нет в вашей системе, приведенная выше команда выведет «dig: команда не найдена». dig Инструмент может быть установлен с помощью менеджера пакетов дистрибутива.

Установить dig на Ubuntu и Debian

Установить dig на CentOS и Fedora

Установить dig на Arch Linux

Понимание dig вывода

В простейшем виде dig команда используется для запроса одного хоста (домена) без каких-либо дополнительных опций, команда довольно многословна.

В следующем примере мы выполняем на linux.org домене:

Вывод должен выглядеть примерно так:

Давайте рассмотрим раздел за разделом и объясним вывод dig команды:

В первой строке вывода печатается установленная dig версия и запрашиваемое имя домена. Вторая строка показывает глобальные параметры (по умолчанию только cmd).

Если вы не хотите, чтобы эти строки были включены в вывод, используйте +nocmd опцию. Эта опция должна быть самой первой после dig команды.

В следующем разделе содержатся технические подробности об ответе, полученном от запрашиваемого органа (DNS-сервер). Заголовок показывает код операции (действие, выполненное dig ) и статус действия. В этом примере состояние имеет значение NOERROR , что означает, что запрошенный орган обработал запрос без каких-либо проблем.

Этот раздел можно удалить с помощью +nocomments параметра, который также отключает заголовки некоторых других разделов.

Псевдо-раздел «OPT» отображается только в более новых версиях dig утилиты. Вы можете прочитать больше о механизмах расширения для DNS (EDNS) здесь .

Чтобы исключить этот раздел из вывода, используйте +noedns параметр.

В разделе «ВОПРОС» dig отображается запрос (вопрос). По умолчанию dig запрашивает запись А.

Вы можете отключить этот раздел, используя +noquestion опцию.

Раздел «ОТВЕТ» дает нам ответ на наш вопрос. Как мы уже упоминали, по умолчанию dig будет запрашиваться запись A. Здесь мы видим, что домен linux.org указывает на 104.18.59.123 IP-адрес.

Обычно вы не хотите отключать ответ, но вы можете удалить этот раздел из вывода, используя +noanswer опцию.

Раздел «AUTHORITY» сообщает нам, какие серверы являются полномочиями для ответа на DNS-запросы о запрашиваемом домене.

Вы можете отключить этот раздел вывода, используя +noauthority опцию.

Раздел «ДОПОЛНИТЕЛЬНО» предоставляет нам информацию об IP-адресах доверенных DNS-серверов, указанных в разделе полномочий.

+noadditional Опция отключает дополнительный раздел ответа.

Последний раздел dig вывода содержит статистику о запросе.

Вы можете отключить эту часть с помощью +nostats опции.

Печать только ответа

Как правило, вы хотите получить только короткий ответ на ваш dig запрос.

1. Получите короткий ответ

Чтобы получить краткий ответ на ваш запрос, используйте +short опцию:

Вывод будет включать только IP-адреса записи A.

2. Получить подробный ответ

Чтобы получить более подробный ответ, отключите все результаты с помощью +noall параметров, а затем включите только раздел ответов с этим +answer параметром.

Запрос конкретного сервера имен

По умолчанию, если сервер имен не указан, dig используются серверы, указанные в /etc/resolv.conf файле.

Чтобы указать сервер имен, для которого будет выполняться запрос, используйте @ символ (at), за которым следует IP-адрес сервера имен или имя хоста.

Например, чтобы запросить у сервера имен Google (8.8.8.8) информацию о linux.org домене, который вы используете:

Запросить тип записи

Dig позволяет вам выполнить любой допустимый DNS-запрос, добавив тип записи в конец запроса. В следующем разделе мы покажем вам примеры того, как искать наиболее распространенные записи, такие как A (IP-адрес), CNAME (каноническое имя), TXT (текстовая запись), MX (почтовый обменник) и NS ( серверы имен).

1. Запрос записей

Чтобы получить список всех адресов для доменного имени, используйте a параметр:

Как вы уже знаете, если тип записи DNS не указан, dig будет запрашиваться запись А. Вы также можете запросить запись A без указания a опции.

2. Запрос записей CNAME

Чтобы найти псевдоним домена, используйте cname параметр:

3. Запрос записей TXT

Используйте txt опцию, чтобы получить все записи TXT для определенного домена:

4. Запрос MX записей

Чтобы получить список всех почтовых серверов для определенного домена, используйте mx параметр:

5. Запрос записей NS

Чтобы найти официальные серверы имен для нашего конкретного домена, используйте ns параметр:

6. Запрос всех записей

Используйте any опцию, чтобы получить список всех записей DNS для определенного домена:

Обратный поиск DNS

Чтобы запросить имя хоста, связанное с конкретным IP-адресом, используйте -x опцию.

Например, чтобы выполнить обратный поиск 208.118.235.148 , введите:

Как видно из вывода ниже, IP-адрес 208.118.235.148 связан с именем хоста wildebeest.gnu.org .

Массовые Запросы

Если вы хотите запросить большое количество доменов, вы можете добавить их в файл (по одному домену на строку) и использовать -f параметр, после которого следует имя файла.

В следующем примере мы запрашиваем домены, указанные в domains.txt файле.

Файл .digrc

В dig поведение команды можно управлять с помощью настройки для каждого пользователя параметры в файле $/.digrc .

Если файл .digrc присутствует в домашнем каталоге пользователя, указанные в нем параметры применяются перед аргументами командной строки.

Например, если вы хотите отобразить только раздел ответа, откройте текстовый редактор и создайте следующий файл

Вывод

dig является инструментом командной строки для запроса информации DNS и устранения проблем, связанных с DNS

Источник

Оцените статью