АДРЕСАЦІЯ КОМП'ЮТЕРІВ
DNS — не розкіш, об необхідність
Протокол, що визначав порядок обміну інформацією в Інтернеті, описував у тому числі і систему адресації комп'ютерів, об'єднаних в цю Мережу. Згідно цій системі, кожному комп'ютеру привласнювалася унікальна чотирьохбайтова адреса, яку почали називати IP-адрес. Стандарт нового протоколу і, відповідно, системи адресації були прийняті в 1982 році.
Проте людині набагато простішезапам'ятати деяке слово, чим чотири беззмістовних для нього числа. Через це відразу після початку роботи нової мережі у користувачів почали з'являтися списки, в яких зберігалися не тільки адреси, але і відповідні ним імена вузлів.
Ці дані, що зазвичай зберігалися у файлі з ім'ям hosts, дозволяли при вказівці імені вузла миттєво отримати його IP-адрес. Пізніше процес внесення коректури в ці файли був вдосконалений — останню версію файлу hosts можна було викачати з декількох серверів із заздалегідь визначеними адресами.
Із зростанням числа комп'ютерів в мережі коректувати ці файли уручну стало неможливо. З'явилася необхідність в глобальній базі імен, що дозволяє проводити перетворення імен в IP-адреса без зберігання списку відповідності на кожному комп'ютері. Такою базою стала DNS (Domain Name System) — система іменування доменів, яка почала роботу в 1987 році.
Структура DNS
У Інтернеті існує безліч DNS-серверов, що надають клієнтам необхідну інформацію про імена вузлів мережі. Найважливішою якістю DNS є порядок їх роботи, що дозволяє DNS-серверам синхронно оновлювати свої бази. Додавання адреси нового сайту в Інтернеті проходить за лічений годинник.
Друга особливість системи — це організація DNS-серверов у вигляді ієрархічної структури. Наприклад, запит від клієнта про ім'я ftp.microsoft.com може пройти через декілька DNS-серверов, від глобального, такого, що містить інформацію про домени верхнього рівня, до конкретного сервера компанії Microsoft, в чиїх списках перераховані піддомени вигляду *. miсrosoft.com, у числі яких ми і знаходимо потрібний нам ftp.microsoft.com. При цьому безліч DNS-серверов організовується в зони, що мають права і дозволи, делеговані вищестоящим сервером. Таким чином, при додаванні нового піддомена на місцевому сервері повідомлення решти серверів в Глобальній мережі не проводяться, але інформація про нові сервери виявляється доступною за запитом.
Зони, домени і піддомени
Із зростанням числа доменних імен робота між серверами була розподілена за принципом єдиноначальності. Ідея проста. Якщо організація володіє власним доменним ім'ям (наприклад microsoft.com або white-house, gov), то іменування усередині свого домена вона проводить самостійно. Єдина складність при такій роботі — надання вищестоящими серверами цих прав нижчестоячим серверам.
Уточнимо терміни. Домен — це якийсь контейнер, в якому можуть міститися хости і інші домени. Ім'я домена може не співпадати з ім'ям контроллера домена, тобто домен — це віртуальна структура, не прив'язана до комп'ютера. Хост же, навпаки, відповідає фізичному комп'ютеру, підключеному до мережі. Ім'я хоста є ім'ям конкретного комп'ютера. Ім'я хоста може співпадати з ім'ям домена. Ім'я домена може співпадати з ім'ям зони, до якої він належить, в цьому випадку домен є кореневим в зоні. При цьому зона не зобов'язана містити в собі однойменний (кореневий) домен.
Зона — це контейнер, об'єднуючий декілька доменів в структуру із загальними дозволами на управління, тобто зони є контейнерами для доменів і хостов. Зони можуть бути вкладені одна в іншу. Різниця між зонами і доменами в тому, що домену може належати декілька зон, що містять різні його піддомени. Це дає можливість делегувати повноваження для піддоменів і управляти групами піддоменів.
Зони використовуються для делегування повноважень. Кожен домен повинен знаходитися у складі зони при створенні піддомена останній може бути переведений в нову зону, або залишений в зоні домена, що стоїть над ним. Для кожної зони дозволу на створення або видалення всіх вхідних в неї доменів делегуються окремо. Для нормальної роботи корпоративної мережі в більшості випадків вистачає єдиної зони, більш того, дуже часто системні адміністратори обмежуються створенням єдиного домена.
Інтеграція DNS в Active Directory
Компанія Microsoft рекомендує використовувати DNS-серверы в корпоративних мережах для організації роботи комп'ютерів у складі домена. Річ у тому, що технологія DNS більш універсальна і ефективна, чим що використовуються на старих системах WINS і NETBIOS. Клієнти тільки посилають запити серверу і отримують відповіді без звернення до яких-небудь іншим вузлам мережі.
З погляду продуктивності краще всього інтегрувати DNS в Active Directory, що можливо на серверних ОС компанії Microsoft починаючи з Windows 2000 Server. Поєднання ролей DNS-сервера і контроллера домена спрощує адміністрування мережі, особливо якщо розміри її достатньо великі.
Що нам стоїть DNS побудувати
DNS реалізуються відповідно до єдиного стандарту, основи якого викладені в RFC 1011,1034 і 1035. У Windows Server 2003 процес розгортання і управління DNS зроблений простішим, ніж в попередніх версіях операційних систем, завдяки майстрам настройки ролей сервера. У Windows Server 2003 додані і нові функції управління Active Directory, яка може бути інтегрована з DNS воєдино
При створенні контроллера домена, тобто сервера, керівника роботою Active Directory, майстер пропонує створити і набудувати DNS-сервер. Для цього досить в настройках відзначити пункт «Install and configure the DNS server on this computer, and set this computer to use this DNS server as its preferred DNS server». В цьому випадку запускається DNS-сервер і створюється зона, однойменна з вашим доменом.
Для імені домена краще використовувати два слова, розділених крапкою (виду гпу-domen.ru). Технічно можливо включити комп'ютери вашої мережі і в домен верхнього рівня, але Microsoft не рекомендує використовувати для домена ім'я, що складається з одного слова, оскільки в цьому випадку виникають складнощі з організацією пересилки запитів (forwarding) і динамічних оновлень.
Настройка DNS
Після перезапуску системи у вікні «Manage Your Server» (управління сервером) і на панелі «Адміністрування» з'являться нові елементи — посилання на консолі управління Active Directory (три ікони) і DNS (одна ікона). Зупинимося докладніше на консолі управління DNS-сервером.
Дерево DNS містить список ONS-серве-ров, в нашому випадку список складатиметься з одного пункту — імені нашого сервера. Розкривши його, ми побачимо три теки — «Forward Lookup Zones» (зони прямого перегляду), «Reverse Lookup Zones» (зони зворотного перегляду, порожня тека) і «Event Viewer» .
Тека зон прямого перегляду міститиме два записи. Зона, чиє ім'я починається з _msdcs, відноситься до організації роботи системи (DC розшифровується як Domain Controller, контроллер домена), поки що нам її чіпати не потрібно, так само як і теку _msdcs в другій зоні. Вибравши другу зону, в списку справа ми побачимо її вміст — власне кажучи, всі комп'ютери, чиї імена зберігаються на нашому сервері, будуть перераховані саме там.
Додавання нових хостов відбуватиметься автоматично. Всі операційні системи Windows, починаючи з Windows 2000 Professional, підтримують коректне оновлення бази DNS-сервера в своїй локальній мережі. Нові пункти в список імен хостов на DNS-сервере можуть додаватися і за допомогою служби «Computer Browser». Уручну ж додавання нових доменів і хостов, так само як і видалення тих, що існують, походить з меню консолі «Action» або з контекстного меню правої клавіші миші.
Після запуску контроллера можна приступити до введення в домен клієнтських машин. Повторимо, що коректна робота у складі домена можлива тільки для систем рангу Professional, починаючи з Windows 2000 Professional, тобто в домені відмовляться працювати комп'ютери під управлінням операційних систем Windows 98, Windows Me або Windows XP Home Edition.
Коли ж ви додаєте в домен комп'ютер зі встановленою ОС Windows 2000 Professional або Windows XP Professional, система автоматично пошле запит DNS- серверу, а той у свою чергу додасть нову IP-адрес в список.
У мережі, що складається з комп'ютерів з фіксованими IP-адресами, робота DNS гранично проста. Проте як бути, якщо у вашій мережі IP-адреса повинні лунати динамічно? Тут ми стикаємося з певними складнощами, оскільки в цьому випадку DNS-сервер повинен оновлювати свою базу постійно, грунтуючись на даних, що отримуються від DHCP-сервера.
Втім, щоб набудувати DNS і DHCP на спільну роботу, не вимагається особливих зусиль. Досить відкрити «Scope Options» в консолі управління DHCP-сервером і вказати ім'я вашого DNS-сервера в параметрі «DNS Domain Name».
IP-адрес самого DNS-сервера може бути динамічною. В цьому випадку для кожного нового комп'ютера, що виконує серверні функції, настройка мережевих параметрів при його підключенні відбуватиметься завдяки DHCP-серверу. Також не обов'язково, щоб сервери DHCP і DNS фізично знаходилися на одному комп'ютері. Вони коректно працюватимуть, навіть якщо запущені на різних машинах.
DNS-сервер може проводити очищення списку, видаляючи з нього дані про ті хостах, які видалені з мережі. Щоб набудувати очищення списку хостов, натисніть кнопку «Aging» («Очищення») на вкладці «General» у властивостях зони — за умовчанням видалення «прострочених» імен вимкнене (потрібно поставити відповідну галочку). Крім того, там же указується параметр автоматичного оновлення («Dynamic Updates») — за умовчанням він перемкнутий в «Secure Only» і дозволяє проводити оновлення бази на основі запитів тільки від безпечних джерел.
Підключаємося до Інтернету
У початкуючих системних адміністраторів виникає немало проблем від некоректного поводження з настройками DMS, зокрема з відповідними настройками на комп'ютерах користувачів. По-перше, все залежить тому, статичні або динамічні IP-адреса використовуються у вашій мережі. У випадку, якщо використовуються статичні адреси, переконаєтеся, що на кожній машині коректно прописана її IP-адрес, маска підмережі і вибираний за умовчанням DNS-сервер. Якщо ж комп'ютери отримують свої IP-адреса динамічно, за допомогою DHCP-сервера, то цей же сервер повинен указувати і адресу DNS-сервера. Врахуйте, що для коректної роботи клієнтів DHCP-сервер в підмережі повинен бути єдиним.
Інше завдання, що виникає перед адміністраторами, — це настройка доступу в Інтернет через локальну мережу. Доступ може бути організований по-різному, і, якщо всі клієнти підключаються через проксі-сервер, настроювати DNS для роботи в Інтернеті необхідності немає. Інша справа, якщо ви використовуєте Iр-маськарадінг за допомогою NAT. В цьому випадку клієнтські комп'ютери у вашій мережі повинні будуть мати можливість отримувати відповіді від DNS-серверов в Інтернеті, щоб підключатися до веб-серверам по їх IP-адресам.
Реалізувати це просто. Вам потрібно набудувати пересилку запитів з вашого DNS-сервера на сервер інтернет-провайдера {так званий форвардінг). Краще всього організувати це в два етапи. Спочатку ваш DNS-сервер відправляє запит на маршрутизатор, а той вже пересилає його провайдерові.
Можна обійтися і одним кроком, адже якщо маршрутизатор надає сервіс NAT для виходу в Інтернет, то сам DNS-сервер може звертатися безпосередньо до провайдера. Проте такий метод менш грамотний. Наприклад, якщо ви поміняєте провайдера, вам доведеться правити настройки вже на декількох комп'ютерах. Крім того, підключення до Інтернету через NAT менш безпечно, чим перенаправлення запитів за допомогою проксі-сервера. Також з міркувань безпеки не рекомендується суміщати роль DNS-сервера і маршрутизатора на одному комп'ютері, особливо якщо він же є і контроллером домена у вашій мережі.
Настройка форвардінга відбувається у властивостях DNS-сервера з консолі управління. Натискаємо правою кнопкою на значку сервера, потім «Properties -> Forwarders», де і указуємо ім'я вищестоящого домена або перераховуємо DNS-серверы, до яких звертатиметься наш сервер. На вкладці «Root Hints» перераховуються адреси DNS-серверов мережі (не обов'язково вищестоящих). Список «Root Hints» може бути заповнений автоматично за допомогою майстра Configure DNS Server з меню «Action».
Помилкою є створення зони з ім'ям «.». В цьому випадку наш DNS-сервер почне вважати себе кореневим, тобто верхнім в глобальному дереві DNS. Зрозуміло, ніякі пересилки вищестоящим серверам працювати не будуть. При створенні зони, чиє ім'я співпадає з частиною імені вже існуючих зон після крапки (наприклад, у нас є зона trading.office, а ми створюємо зону office), всі зони, що належать нею, і домени виявляються вкладеними в неї.
Якщо у вашого сервера у властивостях підключення до локальної мережі як DNS-сервера вказаний сам контроллер домена, це теж не дуже добре. DNS-запросы ніколи не повинні приходити на сервер з його ж адреси — будь-який подібний випадок однозначно свідчить про неправильність настройок.
Розібратися в ситуації допоможе «Event Viewer». У разі коректної роботи DNS-сервера в журналі повинен з'явитися запис про старт сервера. Також нові записи з'являтимуться у міру додавання нових імен хостов або при ручному управлінні зонами і доменами.
Для того, щоб детектувати несправності з боку клієнта, найпростіше скористатися консольною утилітою nslookup, яка поставляється разом з операційною системою. Після введення nslookup в командному рядку на екрані повинні з'явитися ім'я і IP-адрес вашого DNS-сервера, а після цього вам буде надана можливість протестувати сервер шляхом відправлення запитів на перетворення імені в IP-адрес. Щоб побачити довідку по параметрах команди nslookup, введіть в командному рядку nslookup help.