Відмінності між версіями «DNS сервер»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
Рядок 14: Рядок 14:
  
 
== Види DNS-запитів ==
 
== Види DNS-запитів ==
 
Протокол DNS для роботи використовує 53-й '''TCP'''-або '''UDP'''-порт для відповідей на запити. Традиційно запити і відповіді відправляються у вигляді однієї '''UDP''' датаграми. '''TCP''' використовується для '''AXFR'''-запитів.
 
 
 
=== Прямий запит ===
 
=== Прямий запит ===
 
'''''Прямий запит''''' (''forward'') — запит на перетворення доменне ім'я (символьної адреси) хоста в числову IP-адресу.
 
'''''Прямий запит''''' (''forward'') — запит на перетворення доменне ім'я (символьної адреси) хоста в числову IP-адресу.
Рядок 22: Рядок 19:
 
=== Зворотний запит ===
 
=== Зворотний запит ===
 
'''''Зворотний запит''''' (''reverse'') — запит на перетворення IP-адреси в ім'я хоста.
 
'''''Зворотний запит''''' (''reverse'') — запит на перетворення IP-адреси в ім'я хоста.
 
DNS використовується в першу чергу для перетворення символьних імен в IP-адреси, але він також може виконувати зворотний процес. Для цього використовуються вже наявні кошти '''DNS'''. Справа в тому, що із записом '''DNS''' можуть бути зіставлені різні дані, в тому числі і будь-яке символьне ім'я. Існує спеціальний домен '''''in-addr.arpa''''', записи в якому використовуються для перетворення IP-адрес в символьні імена.
 
 
Наприклад, для отримання DNS-імені для адреси 11.22.33.44 потрібно запросити у '''DNS-сервера''' запис 44.33.22.11.in-addr.arpa, і той поверне відповідне символьне ім'я. Зворотний порядок запису частин IP-адреси пояснюється тим, що в IP-адресах старші біти розташовані на початку, а в символьних DNS-іменах старші (що знаходяться ближче до кореня) частини розташовані в кінці.
 
  
 
=== Рекурсивний запит ===
 
=== Рекурсивний запит ===
 
 
Рекурсивний запит передбачає отримання остаточної відповіді від сервера, до якого він спрямований. Рекурсію виконує сервер.
 
Рекурсивний запит передбачає отримання остаточної відповіді від сервера, до якого він спрямований. Рекурсію виконує сервер.
  
 
=== Ітеративний запит ===
 
=== Ітеративний запит ===
 
 
Ітеративний запит - припускає (допускає) виконання рекурсії клієнтом.
 
Ітеративний запит - припускає (допускає) виконання рекурсії клієнтом.
  
 
== Режим View ==
 
== Режим View ==
 
 
Деякі сервера підтримують можливість працювати в різних режимах для різних сегментів мережі. У '''Bind''' цей режим називається «view». Наприклад, сервер може для локальних адрес (наприклад, 10.0.0.0 / 8) віддавати локальні адреси серверів, для користувачів зовнішньої мережі — зовнішні адреси. Також сервер може бути авторитативним для заданої зони тільки для вказаного діапазону адрес (наприклад, у мережі 10.0.0.0 / 8 сервер оголошує себе авторитативним за зону internal, при цьому для зовнішніх адрес у відповідь на запит імені із зони internal буде віддаватися відповідь «не відомий»).
 
Деякі сервера підтримують можливість працювати в різних режимах для різних сегментів мережі. У '''Bind''' цей режим називається «view». Наприклад, сервер може для локальних адрес (наприклад, 10.0.0.0 / 8) віддавати локальні адреси серверів, для користувачів зовнішньої мережі — зовнішні адреси. Також сервер може бути авторитативним для заданої зони тільки для вказаного діапазону адрес (наприклад, у мережі 10.0.0.0 / 8 сервер оголошує себе авторитативним за зону internal, при цьому для зовнішніх адрес у відповідь на запит імені із зони internal буде віддаватися відповідь «не відомий»).
  

Версія за 11:06, 19 жовтня 2010

DNS-сервер — додаток, призначений для відповідей на DNS-запити за відповідним протоколом. Також DNS-сервером можуть називати хост, на якому запущено програму.

Типи DNS-серверів

За виконуваними функцій DNS-сервери поділяються на декілька груп, залежно від конфігурації конкретний сервер може відноситися до декількох типів;

  • Авторитативний DNS-сервер — сервер, що відповідає за будь-яку зону.
    • Майстер або первинний сервер (в термінології BIND) — сервер, що має право на внесення змін в дані зони. Зазвичай для зони буває тільки один майстер сервер. У випадку Microsoft DNS-сервера і його інтеграції з Active Directory майстер-серверів може бути декілька (так як реплікація змін здійснюється не засобами DNS-сервера, а засобами Active Directory, за рахунок чого забезпечується рівноправність серверів і актуальність даних).
    • Слейв або вторинний сервер, що не має права на внесення змін в дані зони і отримує повідомлення про зміни від майстер-сервера. На відміну від майстер-сервера їх може бути (практично) необмежена кількість. Слейв так само є авторитативним сервером (і користувач не може розрізнити майстер і слейв, різниця з'являється тільки на етапі конфігурації / внесення змін до налаштувань зони).
  • Кешуючий DNS-сервер — сервер, який обслуговує запити клієнтів, (отримує рекурсивний запит, виконує його за допомогою нерекурсивних запитів до авторитативних серверів або передає рекурсивний запит DNS-серверу, що стоїть вище за ієрархією)
  • Локальний DNS-сервер - використовується для обслуговування DNS-клієнтів, що виконуються на локальній машині. Фактично, це різновид кешуючого DNS-сервера, сконфігурований для обслуговування локальних додатків.
  • Перенаправляючий DNS-сервер - сервер, що перенаправляє отримані рекурсивні запити кешуючому серверу (який знаходиться вище за ієрархією) у вигляді рекурсивних запитів. Використовується переважно для зниження навантаження на кешуючий DNS-сервер.
  • Кореневі сервери DNS — сервер, який є авторитативним за кореневу зону. Загальновживаних кореневих серверів у світі всього 13 штук, їх доменні імена знаходяться в зоні root-servers.net і називаються a.root-servers.net, b.root-servers.net, …, m.root-servers.net. У певних конфігураціях локальної мережі можлива ситуація налаштування локальних кореневих серверів.
  • Реєструючий DNS-сервер. Сервер, що приймає динамічні оновлення від користувачів. Часто поєднується з DHCP-сервером. У Microsoft DNS-сервер при роботі на контролері домену сервер працює в режимі реєструючого DNS-сервера, приймаючи від комп'ютерів домену інформацію про відповідність імені та IP-адресу комп'ютера і оновлюючи відповідно до неї дані зони домену.
  • DNSBL-сервер (сервер з чорними списками адрес та імен). Формально, такий сервер не входить в ієрархію DNS, однак використовує той же механізм і протокол для роботи, що і DNS-сервера.

Види DNS-запитів

Прямий запит

Прямий запит (forward) — запит на перетворення доменне ім'я (символьної адреси) хоста в числову IP-адресу.

Зворотний запит

Зворотний запит (reverse) — запит на перетворення IP-адреси в ім'я хоста.

Рекурсивний запит

Рекурсивний запит передбачає отримання остаточної відповіді від сервера, до якого він спрямований. Рекурсію виконує сервер.

Ітеративний запит

Ітеративний запит - припускає (допускає) виконання рекурсії клієнтом.

Режим View

Деякі сервера підтримують можливість працювати в різних режимах для різних сегментів мережі. У Bind цей режим називається «view». Наприклад, сервер може для локальних адрес (наприклад, 10.0.0.0 / 8) віддавати локальні адреси серверів, для користувачів зовнішньої мережі — зовнішні адреси. Також сервер може бути авторитативним для заданої зони тільки для вказаного діапазону адрес (наприклад, у мережі 10.0.0.0 / 8 сервер оголошує себе авторитативним за зону internal, при цьому для зовнішніх адрес у відповідь на запит імені із зони internal буде віддаватися відповідь «не відомий»).

Використовувані порти

Усі DNS-сервера за стандартом RFC 1035 відповідають на 53 порту TCP і UDP. При відправленні запитів ранні версії BIND використовували 53 порт, новіші поводять себе як DNS-клієнти, використовуючи вільні незареєстровані адреси.

Принцип роботи DNS-серверу