Dynamic Host Configuration Protocol під Windows XP, Windows, Операційні системи, статті

Dynamic Host Configuration Protocol – протокол динамічної конфігурації клієнтських машин. Це один з найбільш важливих і корисних протоколів сімейства TCP / IP, що допомагає автоматично конфігурувати десятки і сотні машин одночасно. Що ще важливо – багато технологій безпосередньо залежать від цього протоколу: наприклад, протокол віддаленого завантаження PXE явно шукає сервер DHCP для отримання подальших вказівок з отримання завантажувального образу. Сам по собі DHCP – другий, більш новий і поширений метод мережевої конфігурації. Використовувався до цього BOOTP останнім часом практично вийшов з ужитку, хоча і підтримується для гіпотетичних “legacy-пристроїв”.


В принципі DHCP відноситься до числа “безпроблемних” протоколів, то є всі операційні системи в рівній мірі коректно і консистентним підтримують його функції (на відміну від, скажімо, системи каталогів DNS і особливо DDNS, навколо яких постійно виникають непорозуміння і навіть розпалюються справжні війни). Реалізація серверної частини в 90% випадків є відомий демон dhcpd, що настроюється через файл конфігурації. Інший, поширений “демон” 🙂 – dhcp-сервіс, вбудований в Windwos Server. Реалізовано він, до речі, вельми коректно. Але, як відомо, і Linux, і Windwos Server – Системи вельми примхливі, не тільки вимогливі до кваліфікації користувача, а й обмежують його геймерську активність. Але є і хороша новина: фактично вам не потрібна “серверна” платформа для установки DHCP-сервера, достатньо звичайної Windwos XP. Ця операційна система досить стабільна і продуктивна – в деяких аспектах навіть більшою мірою, ніж той же Windwos Server або Лінукс (в тому числі, за частиною драйверів).


Turbo DHCP


Розповімо про DHCP на прикладі реалізації DHCP Turbo від Weird Solutions (сайт компанії знаходиться за адресою). Продукт повністю безкоштовний (у версії personal edition), відкритий для скачування з сайту виробника (А також знаходиться на нашому диску). Власне, сам сервер DHCP працює на платформах Windwos NT, Linux і Solaris. Крім сервера, існує приємний в обігу Turbo DHCP Manager, який може підключатися як до будь-якого локального, так і до віддаленого серверу Turbo DHCP за власним протоколу, захищеного кодуванням Blowfish.


Отже, як завжди, все починається з інсталяції – для установки знадобиться всього 10 Мб пам’яті, 8 Мб оперативки і по 2,5 Мб для кожних 1000 адрес, наданих цим сервером. Коротше – вимоги самі несуттєві. Все інше належить до найцікавішого – конфігурації.


Для достовірності припустимо, що ви не один у вашій мережі – є ще кілька адміністраторів і, відповідно, серверів, у тому числі і DHCP. Слід сказати, що одночасна робота декількох DHCP-серверів є цілком штатним режимом. Власне негоціація (торгівля за) IP-адреси відбувається в два проходи – спочатку хост розсилає запит на резервацію, на який сервери відповідають на протязі деякого часу. На цьому етапі сервер може перевірити наявність вільного IP-адреси, пропінгувати його на предмет відсутності конфліктів або перевірити MAC-адресу на предмет “сервібельності” даного хоста. Сервер завжди може з тієї чи іншої причини відмовити клієнту в обслуговуванні, але от чого він не може – так це змусити хост отримати установки саме у нього. Єдина можливість якось вплинути на події – це просто віддавати свою відповідь швидше за інших серверів. Звичайно, якщо ви домовитеся з іншими DHCP-адміністраторами, і вони будуть відмовляти в обслуговуванні “ваших” хостів, то в кінці кінців ви отримаєте бажаний результат. Але все ж саме правильне – це дотримувати відповідність геометричної і логічної топології: просто включайте свій DHCP в один хаб або маршрутизатор з тими хостами, які він буде обслуговувати. Як відмовитися від обслуговування чужих хостів, буде показано трохи нижче.


Опції


Для початку визначимося: всі параметри, що передаються від сервера клієнту, називаються опціями. Опції діляться на категорії. Існують обов’язкові опції, такі як IP-адреса і маска підмережі. Деякі опції використовуються тільки в службових цілях, наприклад визначають початок і кінець списку опцій, – ви не зможете налаштувати їх значення, хоч і побачите їх у списку. Решта ж опції необхідні в спеціальних ситуаціях, наприклад при мережевий завантаженні.




Перше, що потрібно зробити при налаштуванні DHCP, це визначити діапазон роздають адрес і маску підмережі. З точки зору адміністрування маска є навіть більш важливим параметром. Дізнайтеся у вищестоящого адміністратора або самі подивіться в настройках, в якій підмережі ви працюєте. Часто використовуються підмережі категорії “D” (якої насправді не існує) – тобто маска підмережі не вирівнюється по кордоні байта, а має довільну кількість біт. Перший адреса в підмережі завжди позначає саму подсеть, останній – адреса групової розсилки, broadcasting. Кількість комп’ютерів в підмережі визначається кількістю нулів наприкінці маски. Зведіть двійку в цей ступінь, відніміть два – і отримаєте потенційна кількість доступних вам адрес.


Приклад розрахунку підмережі


Для прикладу візьмемо мою власну подсеть: адреса мого сервера 10.0.0.97, маска 255.255.255.224, в бінарному вигляді – 11111111.1111111.1111111.11100000.


Число нулів в кінці маски – п’ять, то є два у п’ятій дає 32. Отже, “гранулярность” наших підмереж категорії D – 32 адреси. Можна уявити, що перша підмережа починається з адреси 10.0.0.0, другий – 10.0.0.32, третьої – 10.0.0.64, четвертої – 10.0.0.96. Насправді це зовсім не очевидно – може бути, перша підмережа, що починається з 10.0.0.0, має маску 255.255.255.192 == 1111111.11111111.11111111.11000000, тобто включає 64 адреси. Нас це в даному випадку абсолютно не цікавить – важливо, що ми працюємо в адресному просторі від 10.0.0.96 до 10.0.0.127 і, якщо хочемо, щоб наші хости після запуску потрапили в одну підмережа з сервером, то виділяти адреси повинні тільки з цього діапазону. Як вже було сказано, перший адреса – це адреса підмережі як цілого, останній – броадкастінг, так що вони виключаються. Фактично у мене всього (хех) три своїх хоста, які я збирався конфігурувати через даний сервер, так що мені було достатньо тільки трьох адрес. Після переговорів з нашим адміністратором пул роздають “пиріжків” скоротився від 10.0.0.124 до 10.0.0.126. Діапазон адрес і подмаскі мережі називається scope (видимість) і є одним з основних понять DHCP, з яким пов’язані всі інші настройки. Тобто будь-яка настройка відноситься до тієї чи іншої області.


Основні параметри для Windows-клієнтів


Наступне, що нас цікавить після створення області (додатково можна поставити ще декілька параметрів), це саме параметри, які ми роздаємо хосту, крім його IP та маски. Як правило, три з них мають важливе значення: маршрутизатор за замовчуванням, DNS-сервер і WINS-сервер. Ці параметри, як уже було сказано, задаються опціями. Опції – це добре документовані змінні, що мають номер та ім’я, так що в разі сумнівів щодо термінології завжди можна послатися на опцію по номеру. Номери можуть бути як позитивними, так і негативними, причому ви можете знайти й власні опції з номерами більше 128 – інша справа, яка система зможе їх використовувати. Опції, крім іншого, – тіпізованние значення, тобто вони можуть бути як числами і рядками, так і спеціальними типами, начебто IP-або MAC-адреси.


Отже, головні опції: 3 (Gateways), 6 (Domain Name Servers), 44 (NBT Name Servers), 46 (NBT Node Type). Кілька пояснень – по-перше, як ви бачите, всі параметри групові, тобто мають на увазі кілька значень, ніж ви можете скористатися. WINS налаштовується через параметри NBT – опція 44 вказує на сервер, а опція 46 повинна дорівнювати 8 (hybrid). Всі зазначені опції ви додаєте на закладці Policies.




Перевірити налаштування можете відразу ж після збереження їх у менеджері Turbo DHCP. Для цього навіть не обов’язково перезавантажувати клієнтську машину – досить скинути параметри інтерфейсів і отримати їх з сервера заново:



ipconfig /release
ipconfig /renew
ipconfog /all


Хоча це зовсім і не обов’язково, але ви можете отримати у DHCP-сервера будь-які додаткові параметри для завантажується машини, наприклад суфікс доменного імені (опція 15), ім’я DHCP-сервера (опція 20), мережеве ім’я хоста (опція 12) і так далі.


Хочеться відзначити, що Лінукс (як, втім, і багато інших) клієнти використовують DHCP значно інтенсивніше, додатково отримуючи адреси X-сервера, сервера шрифтів, NIS / NIS + сервери і домени, сервери POP, SMTP, NNTP і безліч інших опцій.


Обмеження сервібельності


Важливе питання – як відмовитися від чужих мережевих MAC-адрес і обслуговувати лише декілька підопічних хостів? Адже, як правило, ви не хочете встановлювати міст і відрізати підопічні комп’ютери від решти мережі – це зажадає додаткового сервера з двома інтерфейсами, а також налаштування маршрутизації і т.д. Цього і не потрібно робити – досить визначити ваш сервер як приватний. Зробити це можна на закладці Властивості сервера, доступною по правій кнопці миші над іменем сервера.




Після визначення вашого сервера як приватного він буде відмовляти в обслуговуванні всім хостам, крім тих, мережеві MAC-адреси яких вказано в з’являється папці Registrations. Це, звичайно, додасть роботи з пошуку цих адрес – зате тепер ви зможете дуже прецизійно контролювати кожен параметр.


Віддалене завантаження


Наостанок перерахую кілька опцій, необхідних для настройки віддаленої (мережевий) завантаження хостів. Отже, крім обов’язкових параметрів вам знадобиться всього два параметри: -1 ім’я завантажуваного образу і -14 адресу TFTP-сервера. По крайней мере, для прошивки PXE, яка стоїть на сучасних картках, цього цілком достатньо.


До речі, у мене з цієї завантаженням трапилася невелика жахлива історія, обставинами якої я з вами поділюся. Сітуевіна: загружається комп по бездисковой схемою, при PXE все проходить нормально, загружається операційка, але при її завантаженні IP і настройки беруться не з мого сервера, а з іншого, де все “як непотрібно”. Я був в шоці буквально три секунди! Виявляється, що якось, в часи, коли у мене не було сервера, я прописав в драйвер мережевого інтерфейсу (картки) софт-MAC – майже всі сучасні картки це дозволяють. Потрібно це було з тієї причини, що у нас адреси лунають по фіксованому лізинговому планом: на кожен MAC – певний IP, а всі інші – на фіг. Картки змінювалися, а будити адміна кожен раз була не хочеться … Ну, ось з цим-то “голімий маком” мій комп і ломився до мого ж приватному серверу, який налаштований тільки на обслуговування певних мережевих адрес. Накладочки вийшла, однако. А я вже почав думати, що визначення “улюбленого” DHCP недетерминировано, і може відрізнятися для PXE BIOS і операційки – хоча, як знати, напевно, може і таке статися в складній мережі, якщо якась ділянка “приляже” або ботлнек десь зафакапітся на час. Але ви повинні уникати такої непонятки усіма битами своєї бінарної душі.


Коротше: піднімайте свій DHCP, налаштовуйте його як слід – і вам не потрібно буде бігати за системним адміністратором, хоча б з цього питання. Вдалого DHCPінга.


Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*