DNS клієнт

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

DNS-клієнт - програма (або модуль в програмі), що забезпечує визначення адреси вузла по його повного імені.

Функція клієнта DNS вбудована майже в будь-яку програму, призначену для роботи в мережі Internet. Однак, більшість DNS-клієнтів не вміють самостійно виконувати рекурсію, тому що в противному випадку їх алгоритми довелося б невиправдано ускладнювати. Крім цього використання рекурсії DNS-клієнтами не дозволило б здійснювати режими обмеження доступу в зовнішню мережу і кешування DNS.

Спеціалізовані програми

Для діагностики DNS використовуються спеціалізовані програми - nslookup і dig. Версія nslookup для Windows (як і багато DNS-клієнти для windows) підтримує WINS, що може створювати плутанину при розрізняються відповідях WINS і DNS серверів. Деякі версії nslookup в Unix підтримують крім DNS ще й Network Information Service, що так само ускладнює діагностику. При перевірці інтегрованих з Active Directory DNS-серверів може використовуватися утиліта dcdiag.

Режими роботи 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-клієнтом.