Для проверки DNS используется универсальная команда nslookup. Она есть как в Windows, так и в Linux. Утилита поможет получить IP-адрес, а также сделать обратное преобразование и определить скорость работы DNS сервера.
Принцип работы DNS
Интернет - большое количество устройств, которые связаны между собой в сеть. Под устройством можем понимать сервера, компьютеры, ноутбуки и так далее. Для объединения компьютеров в сеть используются ip-адреса, однако людям работать с ними не удобно, гораздо удобнее воспринимать информацию с символьными именами, например vseprolinux.ru.
Чтобы не запоминать много цифр в виде ip-адресов, в 80-х годах была создана DNS - система доменных имен, протокол прикладного уровня. Он преобразовывает имена устройств (компьютеров) в IP-адреса.
Пример: vseprolinux --> 195.161.114.71
Теперь вместо адреса достаточно ввести в адресную строку доменное имя, название сайта в виде www.site.ru, далее уже Ваш ДНС делает запрос, чтобы узнать ip-адрес запрашиваемого узла.
Все это хорошо, только если не работает ДНС, то и не работает сайт, для диагностики проблем ДНС системы обычно используется команда nslookup.
Синтаксис nslookup
Рассмотрим синтаксис команды.
nslookup [параметры] [домен] [сервер]
Домен - доменное имя. Сервер - необязательный аргумент
Основные опции:
- -type - тип записи ДНС. ns, txt, ptr, cname, soa и другие;
- -port - порт ДНС;
- -recurse - если ДНС не отвечает, то использоваться другие DNS;
- -retry - количество попыток;
- -timeout - время;
- -fail - если DNS доменных имен возвращает ошибку, то использовать другой сервер.
Примеры
Узнаем IP-адрес сайта vseprolinux.ru. Для этого выполним команду без аргументов.
На скриншоте выше видно:
- Server: 192.168.201.254 - адрес текущего ДНС сервера компьютера, который указан а настройках сети, в моем случае /etc/resolv.conf
- Address: 192.168.201.254#53 - IP-адрес вместе с портом. По умолчанию используется 53 порт.
- Non-authoritative answer - не авторитетный ответ. Такой ответ выдается в двух случаях: ДНС не обслуживает зону, и ответ получен из кэша, данные могли устареть. Авторитетным ответом будет считаться только если сервер имеет полную информацию о зоне.
- 195.161.114.71 - IP-адрес сайта.
Теперь сделаем обратное преобразование.
Получим NS запись.
Как узнать адрес почтового сервера MX (Mail eXchange)?. Для этого введем команду
Запись MX содержит всего два поля:
- приоритет;
- адрес сервера принимающего почту для данного домена.
Чем ниже значения, тем более высокий приоритет.
В наше время все больше внимания уделяется защите от спама в email сообщениях. Выделим два основных варианта, через TXT запись DNS:
- spf - Sender Policy Framework. Представляется собой текстовую запись, которая содержит список хостов, которые имеют права отправлять письма от домена;
- dkim -DomainKeys Identified Mail. TXT запись ключа. Для определения отправителя добавляется цифровая подпись, далее подпись автоматически проверяется получателем.
Чтобы узнать TXT надпись, введем в терминале команду с типом txt:
Утилита может вывести техническую информацию о домене "Start Of Authority". Для этого используется тип запроса soa:
Утилита в Линуксе покажет такие записи:
- origin - от кого узнали информацию;
- mail addr - email address администратора домена;
- serial - время в формате timestamp;
- refresh - время в секундах, когда нужно повторить подключения для обновления информации;
- retry - время в секундах, через которое повторять подключения к DNS, если он недоступен;
- expire - время в секундах, через сколько времени считать иформацию устаревшей полученную от первого ДНС;
- minimum - время в секундах до следующего обновления.