Русская Википедия:DNS-клиент
DNS-клиент — программа (или модуль в программе), обеспечивающая определение IP-адреса узла по его полному имени (точка в конце обычно либо добавляется DNS-клиентом, либо неявно подразумевается, однако, в случае использования доменных суффиксов, возможны различия в поведении клиента при определении имени с точкой в конце и без).
Функция клиента DNS встроена почти в любую программу, предназначенную для работы в сети Интернет.
Специализированные программы
Для диагностики DNS используются специализированные программы — nslookup и dig. Версия nslookup для Windows (как и многие DNS-клиенты для windows) поддерживает WINS, что может создавать неразбериху при различающихся ответах WINS и DNS серверов. Некоторые версии nslookup в Unix поддерживают помимо DNS ещё и Network Information Service, что так же усложняет диагностику. При проверке интегрированных с Active Directory DNS-серверов может использоваться утилита dcdiag [1].
Режимы работы DNS-сервера
DNS-сервер, выполняющий запрос клиента может работать в одном из трёх режимов:
- режим форвардинга (передачи) запросов другому DNS-серверу — в этом случае запрос почти не отличается от запроса DNS-клиента. (Такая схема используется при использовании кэширующих DNS-серверов и серверов в DMZ).
- режим самостоятельного выполнения рекурсивного запроса.
- режим обслуживания зоны (в этом случае запросы на посторонние (неавторитативные) зоны не принимаются, вместо этого возвращаются адреса корневых серверов).
Во многих версиях BIND запрос к другим DNS-серверам исходил с 53-го порта (порта, по которому принимаются запросы DNS, как TCP, так и UDP), в отличие от клиентских приложений, использующих произвольный порт отправителя (из незарегистрированного диапазона).
Работа с DNS различных программ
Почтовый сервер использует клиент DNS, для запроса MX, SPF, A-запись (например, sendmail использует MX-записи в порядке возрастания приоритета, но в случае отсутствия подходящего маршрута, в качестве последней попытки использует A-запись), PTR-записей (для определения имени хоста). Кроме того, многие версии почтовых серверов используют имена, полученные через запрос PTR-записи для определения наличия MX-записи у данного имени, это используется для автоматического отказа в доставке у не-почтовых серверов (в большинстве своём ботнетов).
В общем случае возможна конфигурация, когда для разных серверов и зон DNS-сервер ведёт себя различно (например, из локальной сети принимает рекурсивные запросы, из внешней — только запросы на авторитативные зоны, или форвардит запросы на другой сервер только для заданных зон).
Рабочие станции и серверы в составе Active Directory используют множество DNS-записей типа SRV для определения положения ближайшего контроллера домена в сайте и для выполнения динамического обновления DNS-записи о рабочей станции.
Интерфейс между программой и DNS-клиентом
Большинство программ, использующих функции DNS, не реализуют его функциональность самостоятельно (через сокеты), а используют либо предоставляемые операционной системой функции DNS-клиента, либо используют готовую библиотеку клиента. К меньшинству относятся в основном низкоуровневые утилиты и серверное ПО, которому необходима более специфичная функциональность, чем предоставляется DNS-клиентом.
См. также
Примечания
Литература
- Пол Альбитц и Крикет Ли — DNS и BIND, ISBN 5-93286-035-9, Символ-Плюс, 2002