Тема: Система доменних імен (DNS)
Мета: набуття практичних навичок роботи зі службою DNS.
Хід роботи:
Доменна система імен (англ. Domain Name System, DNS) — ієрархічна розподілена система перетворення імені хоста (комп'ютера або іншого мережевого пристрою) в IP-адресу.
Кожен комп'ютер в Інтернеті має свою власну унікальну адресу — число, яке складається з чотирьох (у протоколі IPv4) або шістнадцяти (у протоколі IPv6) байтів. Оскільки запам'ятати десятки чи навіть сотні номерів — важка процедура, то всі (чи майже всі) машини мають імена, запам'ятати які (особливо якщо знати правила утворення імен) значно легше. Уся система імен в Інтернеті — ієрархічна. Це зроблено для того, щоб не підтримувати одне централізоване джерело, а роздати владу на місця. Служба DNS використовує текстові файли майже такого формату, як і файл hosts, і ці файли адміністратор також підготовляє вручну. Однак служба DNS спирається на ієрархію доменів, і кожен сервер служби DNS зберігає тільки частину імен мережі, а не всі імена, як це відбувається при використанні файлів hosts. При збільшенні кількості вузлів у мережі проблема масштабування вирішується створенням нових доменів і піддоменів імен і додаванням у службу DNS нових серверів.
Для кожного домена імен створюється свій DNS-сервер. Цей сервер може зберігати відображення «доменне ім'я - IP-адреса» для всього домена, включаючи всі його піддомени. Однак при цьому рішення виявляється погано масштабованим, тому що при додаванні нових піддоменів навантаження на цей сервер може перевищити його можливості. Частіше сервер домена зберігає тільки імена, які закінчуються на наступному нижче рівні ієрархії в порівнянні з ім'ям домена. (Аналогічно каталогу файлової системи, що містить записи про файли й підкаталоги, безпосередньо в нього «вхідні».) Саме при такій організації служби DNS навантаження з дозволу імен розподіляється більш-менш рівномірно між всіма DNS-серверами мережі. Наприклад, у першому випадку DNS-сервер домена mmt.ru буде зберігати відображення для всіх імен, що закінчуються на mmt.ru: wwwl.zil.mmt.ru, ftp.zil.mmt.ru, mau.mmt.ru і т. д. У другому випадку цей сервер зберігає відображення тільки імен типу mail.mmt.ru, www.mmt.ru, а всі інші відображення повинні зберігатися на DNS-сервері піддомена zil.
Кожен DNS-сервер крім таблиці відображень імен містить посилання на DNS-сервери своїх піддоменів. Ці посилання зв'язують окремі DNS-сервери в єдину службу DNS. Посилання являють собою IP-адреси відповідних серверів. Для обслуговування кореневого домена виділено декілька дублюючих один одного DNS-серверів, IP-адреси яких є широко відомими (їх можна довідатися, наприклад, в InterNIC).
Процедура дозволу DNS-імені багато в чому аналогічна процедурі пошуку файловою системою адреси файлу по його символьному імені. Дійсно, в обох випадках складене ім'я відображає ієрархічну структуру організації відповідних довідників - каталогів файлів або таблиць DNS. Тут домен і доменний DNS-сервер є аналогом каталогу файлової системи. Для доменних імен, так само як і для символьних імен файлів, характерна незалежність іменування від фізичного місця розташування.
Процедура пошуку адреси файлу по символьному імені полягає в послідовному перегляді каталогів, починаючи з кореневого. При цьому попередньо перевіряється кеш і поточний каталог. Для визначення IP-адреси по доменному імені також необхідно переглянути всі DNS-сервери, що обслуговують ланцюжок піддоменів, що входять в ім'я хоста, починаючи з кореневого домена. Істотною же відмінністю є те, що файлова система розташована на одному комп'ютері, а служба DNS по своїй природі є розподіленою.
Сукупність імен, в яких декілька старших складових частин збігаються, утворюють домен імен. Кореневий домен управляється центральними органами інтернету: IANA і Internic.
Домени верхнього рівня призначаються для кожної країни, а також для різних типів
організацій. Імена цих доменів повинні слідувати міжнародному стандарту ISO 3166. Для позначення країн використовуються двобуквені абревіатури, наприклад ua-(Україна) ru-(Російська Федераця), it-(Італія), fr-(Франція).
Для різних типів організацій використовуються трибуквенні абревіатури:
– net – мережеві організації;
– org – некомерційні організації;
– com – комерційні організації;
– edu – освітні організації;
– gov – урядові організації.
Адміністрування кожного домена покладається на окрему організацію, яка делегує адміністрування піддоменів іншим організаціям. Для здобуття доменного імені необхідно реєструватися у відповідній організації, якою організація INTERNIC делегувала свої повноваження по розподілу доменних імен.
У TCP/IP мережах відповідність між доменними іменами і IP-адресами може встановлюватися як локальними засобами, так і централізованими службами. Первинна відповідність задавалася за допомогою створюваного вручну на хості файлу hosts.txt, що складається з рядків, що містять пару виду “доменне ім’я – IP-адрес”. Проте з активним зростанням інтернету таке рішення виявилося немасштабованим.
Альтернативне рішення – централізована служба DNS, що використовує розподілену базу відображень “доменне ім’я – IP-адрес”. Сервер домена зберігає лише імена, які закінчуються на наступному нижче по дереву рівні. Це дозволяє розподіляти більш рівномірно навантаження по дозволу імен між всіма DNS-серверами. Кожен DNS-сервер окрім таблиці відображення імен містить посилання на DNS-сервера своїх піддоменів. Існують дві схеми дозволу DNS-імен. Нерекурсивна (ітеративна) процедура:
– DNS-клієнт звертається до кореневого DNS-серверу з вказівкою повного доменного імені;
– DNS-сервер відповідає клієнтові, вказуючи адресу наступного DNS-сервера, обслуговуючого домен верхнього рівня, заданий в наступній старшій частині імені;
– DNS-клієнт робить запит наступного DNS-сервера, який посилає його до DNS-серверу потрібного піддомена і так далі, поки не буде знайдений DNS-сервер, в якому зберігається відповідність запитаного імені IP-адресу. Сервер дає остаточну відповідь клієнтові.
Рекурсивна процедура:
– DNS-клієнт запрошує локальний DNS-сервер, обслуговуючий піддомен, якому належить клієнт;
– далі якщо локальний DNS-сервер знає відповідь, він повертає його клієнтові;
– якщо локальний сервер не знає відповідь, то він виконує ітеративні запити до кореневого сервера. Після здобуття відповіді сервер передає його клієнтові.
Таким чином, при рекурсивній процедурі клієнт фактично передоручає роботу своєму серверу. Для прискорення пошуку IP-адресів DNS-сервери широко застосовують кешування (на якийсь час від години до декількох днів) відповідей, що проходять через них.
Виконання завдання:
Я провів налаштування клієнта DNS, для чого спершу призначив комп’ютеру DNS-ім’я наступним чином: викликав «Мій комп’ютер» - «Властивості», перейшов до вкладинки «Ім’я комп’ютера» та натиснув кнопку «Змінити». У полі «Ім’я комп’ютера» я вказав NetBIOS-ім’я комп’ютера – «314-Computer8».
Далі я натиснув кнопку «Додатково» та у полі «Основний DNS-суфікс цього комп’ютера» ввів ім’я домену лабораторії: «noc.lab.krmk». підтвердив кнопками «ОК» усі налаштування.
Тепер заходжу у «Панель керування» через меню «Пуск», де відкриваю розділ «Мережа, та віддалений доступ до мережі» і викликаю властивості «Підключення за локальною мережею».
Переконуюсь, що активними є такі компоненти:
Клієнт для мереж Microsoft;
Служба доступу до файлів та принтерів мереж Microsoft;
Протокол Інтернету (ТСР/ІР).
Виділяю мишкою компонент «Протокол Інтеренету (ТСР/ІР)» та натискаю кнопку «Властивості». Встановлюю адреси DNS серверів:
Встановлюю перемекач «Використовувати наступні адреси DNS-серверів»;
У полі «Бажаний DNS-сервер» вводжу 195.95.210.2;
У полі «Альтернативний DNS-сервер» вводжу 10.8.0.2;
Додаю третій DNS-сервер. Для цього:
-Клацаю «Додатково»;
-Переходжу на вкладинку DNS;
-Клацаю «Додати» в розділі «Адреса DNS-серверів»;
-Вводжу 10.88.0.2 і закриваю вікно кнопко ОК.
Далі я закрив діалогове вікно «Властивості: Протокол Інтернету ТСР/ІР» кнопкою ОК.
Після чого перевіряю параметри, для чого за допомогою команди ping відправляю луна-запити спершу на повне DNS-ім’я власного комп’ютера, а потім на символьну адресу віддаленого комп’ютера в мережі інтернет (www.google.com). Відбулося успішне перетворення символьних імен хостів в їх ІР-адреси та я отримав луна-відгуки. Таким чином я дізнався ІР-адреси свого комп’ютера(192.240.14.8) та віддаленого комп’ютера www.google.com (173.194.39.135).
Тепер я проводжу налаштування комп’ютера для перетворення імен при відсутності DNS-сервера: забираю інформацію про адреси хостів у мережі Internet (символьні DNS-адреси і ІР-адреси). Для цього я використовую команду ping.
Я відкриваю файл hosts (C:\WINDOWS\system32\drivers\etc\hosts).
Вношу в цей файл зібрану інформацію(173.194.39.135 www.google.com) та зберігаю зміни. Перевіряю роботу функції перетворення імен за відсутності DNS-сервера:
-Видаляю в налаштуваннях «Підключення за локальною мережею» всі записи про ІР-адреси DNS-серверів (перед цим зробивши резервну копію налаштувань);
-Відправляю луна-запит на www.google.com , і файл hosts перетворює символьне ім’я на ІР-адресу 173.194.39.135;
-Відправляю луна-запит на www.yandex.ru, і файл hosts, звісно, не може перетворити це символьне ім’я на ІР-адресу.
Далі я відновив налаштування клієнта DNS, виконані в пункті 1, видалив усі внесені зміни і файлі hosts та зберіг його.
Тепер, використовуючи утиліту nslookup, я роблю запити до DNS-сервера певного домену в глобальній мережі Internet на отримання інформації про основні запити ресурсів, що стосуються цього домену. Для цього в командному рядку Windows («Пуск» - «Виконати» - «cmd») запустив на виконання утиліту nslookup. Використовуючи внутрішні команди цієї утиліти послідовно роблю необхідні запити:
-Отримую запити ресурсів типу А (ІР-адреса хоста за відомим DNS-ім’ям) для доменного імені google.com. Для опитування обрав DNS-сервер провайдера:
> set type = A
> server 173.194.39.2;
> google.com
> exit
-отримав записи ресурсів типу PTR (DNS-ім’я хоста за відомою ІР-адресою) для хоста 173.194.39.135. Для опитування обрав DNS-сервер провайдера:
> set type = PTR
> server 173.194.39.2
> 173.194.39.135
> exit
-отримав записи ресурсів типу NS (інформація про DNS-сервери, що обслуговують певний домен або зону) для домену google.com. Для опитування обрав DNS-сервер провайдера:
> set type = NS
> server 195.95.210.2
> google.com
> exit
-отримав записи ресурсів типу MX (інформація про поштові ретранслятори (поштові сервери), що обслуговують певний домен) для домену google.com. Для опитування обрав один з DNS-серверів, що є авторитетним для цього домену (зони):
> set type = MX
> server ns2.google.com
> google.com
> exit
-отримав записи ресурсів типу SOA (запис про початок відповідальності DNS-сервера) для домену (зони) google.com. Для опитування оберав один з DNS-серверів, що є авторитетним для цього домену (зони):
> set type = SOA
> server ns2.google.com
> google.com
> exit
-отримав вміст файлу зони прямого перетворення для домену noc.lab.krmk. Для опитування оберав авторитетний для цього домену (зони) DNS-сервер nameserv.krmk (10.88.0.2):
> server 10.88.0.2
> ls –d noc.lab.krmk
> exit