В этом учебном руководстве показано, как разрешать имена доменов в оболочке Linux и как запрашивать сервер имен для различных типов записей DNS, таких как записи A, MX и NS.
Чтобы разрешить доменное имя в оболочке, мы будем использовать команду dig.
Используйте команду dig для разрешения имени домена
Резолвинг домена example.com:
dig example.com
Если домен может быть разрешен, результат будет аналогичен этому:
root@server1:~# dig howtoforge.com ; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> howtoforge.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50297 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;howtoforge.com. IN A ;; ANSWER SECTION: howtoforge.com. 299 IN A 104.24.0.68 howtoforge.com. 299 IN A 104.24.1.68 ;; Query time: 233 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Wed Aug 08 10:35:15 CEST 2018 ;; MSG SIZE rcvd: 75
Как запросить локальный DNS-сервер с помощью dig
dig @localhost example.com
Получить имя почтового сервера с помощью dig
Если вы хотите узнать, какой почтовый сервер отвечает за обработку почты на example.com, вы можете использовать команду:
dig MX example.com
Результат будет таким:
root@server1:~# dig MX howtoforge.com ; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> MX howtoforge.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14115 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;howtoforge.com. IN MX ;; ANSWER SECTION: howtoforge.com. 299 IN MX 10 mail.howtoforge.com. ;; Query time: 205 msec ;; SERVER: 8.8.4.4#53(8.8.4.4) ;; WHEN: Wed Aug 08 10:36:30 CEST 2018 ;; MSG SIZE rcvd: 64
Получить дополнительные опции команды dig
Чтобы получить все доступные опции для команды dig, вы можете запустить:
dig --help
Более подробное описание вы найдете в manpage команды dig:
man dig
Вот выдержка из справочной страницы инструмента, в которой достаточно ясно, как использовать dig:
A typical invocation of dig looks like: dig @server name type where: server is the name or IP address of the name server to query. This can be an IPv4 address in dotted-decimal notation or an IPv6 address in colon-delimited notation. When the supplied server argument is a hostname, dig resolves that name before querying that name server. If no server argument is provided, dig consults /etc/resolv.conf; if an address is found there, it queries the name server at that address. If either of the -4 or -6 options are in use, then only addresses for the corresponding transport will be tried. If no usable addresses are found, dig will send the query to the local host. The reply from the name server that responds is displayed. name is the name of the resource record that is to be looked up. type indicates what type of query is required — ANY, A, MX, SIG, etc. type can be any valid query type. If no type argument is supplied, dig will perform a lookup for an A record.
Например, чтобы переключать отображение строк комментариев на выводе или раздел вопроса запроса при возврате ответа, используйте параметры + nocomments и + noquestion.
Следующий скриншот показывает эти параметры в действии:
Получить IP-адрес доменного имени с командой dig
Если вы хотите использовать dig, чтобы отображать только IP-адрес сервера, используйте параметр + short.
Например:
dig example.com +short
Если вы хотите запросить несколько сайтов / серверов за один раз, вы можете создать список имен в файле и передать имя этого файла в качестве входного параметра -f команды dig.
-f file
Batch mode: dig reads a list of lookup requests to process from the given file. Each line in the
file should be organized in the same way they would be presented as queries to dig using the
command-line interface.
Данная команда может быть использована для того, чтобы проверить, относится ли доменное имя к назначенному IP-адресу.
Данная команда может быть использована для того, чтобы проверить, относится ли доменное имя к назначенному IP-адресу.