Ця стаття допоможе вам дізнатися все, що повинен знати системний адміністратор про це протоколі.
Що таке DHCP? І чому рекомендується використовувати його? Уявіть, що ви працюєте адміністратором у великій компанії з 500 настільними комп'ютерами, і вам на кожному необхідно встановити IP адресу, маску підмережі, шлюз за замовчуванням, DNS сервера і інші мережеві настройки. Як можна це виконати?
Якщо ви спробуєте виконати це завдання вручну, ви витратите чимало часу, провівши за кожним ПК по 5-10 хвилин, крім того, ви можете, наприклад, випадково ввести неправильний IP адреса на декількох ПК, або ж взагалі однакову адресу на різних ПК.
Для того, щоб вирішити ці проблеми, ви можете задіяти у вашій мережі протокол Dynamic Host Configuration Protocol (DHCP).
DHCP дозволяє управляти мережами IP-адрес і іншими настройками TCP / IP, такими як DNS, шлюз за замовчуванням і т.д. з одного місця, це центральне місце і називається DHCP-сервер. Крім управління, якщо є будь-які проблеми, вам не потрібно бігти по ПК Ваших клієнтів, потрібно просто підключити до сервера і перевірити настройки DHCP, швидше за все, якщо спостерігається якась проблема, вона може бути локалізована на DHCP сервері, покопавшись в його налаштуваннях і логах.
DHCP сервер може легко і повністю автоматично надавати IP-адреси клієнтам, тому вам не потрібно налаштовувати і встановлювати будь-які параметри на стороні клієнта, все, що вам потрібно, це налаштувати сервер DHCP, налаштувати параметри області (scope) і деякі інші параметри протоколу TCP / IP. Ви можете надати своїм клієнтам IP-адреси з обраного вами діапазону IP-адрес.
Примітка: DHCP, по моєму, можна назвати наступним поколінням протоколу BOOTP, тому що BOOTP почав застосовуватися раніше, ніж DHCP, і сьогодні ми використовуємо BOOTP для завантаження по мережі при розгортання операційних систем. Крім цього, DHCP був розроблений для роботи у великих мережах - то, ніж BOOTP явно не може похвалитися.
Як працює DHCP?
Не вдаючись в технічну інформацію (процес DORA), скажу, клієнт DHCP запитує у сервера DHCP на деякий час IP адреса, час, на який клієнт DHCP отримав динамічний IP адреса, називається часом оренди (lease): оренда означає, що клієнт орендував IP- адреса у сервера DHCP на певний час, і якщо клієнт хоче продовжити використовувати конкретного IP-адреси, йому необхідно продовжити (renew) оренду.
Розберемо цей процес більш докладно. Служба DHCP працює з використанням процесу DORA (Discover, Offer, Request and Acknowledgment - його можна відстежити за допомогою утиліти Network Monitor):
1) DHCPDISCOVER - клієнт шле широкомовний пакет DHCPDISCOVER, намагаючись знайти сервер DHCP в мережі, у випадках, коли сервер DHCP не знайшов в тій же підмережі, що і клієнт, потрібно налаштовувати на мережевих пристроях (маршрутизаторах) DHCP Relay Agent, з метою передачі пакета DHCPDISCOVER на сервер DHCP.
2) DHCPOFFER - сервер DHCP шле широкомовний пакет DHCPOFFER для клієнта, який включає пропозицію використовувати унікальний IP адресу.
3) DHCPREQUEST - клієнт шле широкомовний пакет DHCPREQUEST на сервер DHCP з відповіддю, і «просить» у сервера видати в оренду запропонований унікальну адресу.
4) DHCPACK - сервер DHCP шле клієнту широкомовний пакет DHCPACK, в цей пакеті сервером затверджується запит клієнта на використання IP-адреси, а також повідомляються та інші деталі, такі, як сервера DNS, шлюз за замовчуванням, і т.д. Якщо сервер не може надати запитуваний адресу або з якихось причин адреса недійсний, сервер посилає пакет DHCPNACK.
Примітка: Служба DHCP використовує порт 67 / UDP на сервері DHCP, і 68 / UDP на клієнтах DHCP.
Рекомендується перевірити, що ваш брандмауер не блокує ці порти, а також переконайтеся, що ваші мережеві пристрої підтримують DHCP Relay, у випадках, якщо деякі з ваших клієнтів знаходяться в різних фізичних подсетях.
У деяких випадках можна виявити ще деякі типи DHCP-повідомлень:
1) DHCPDECLINE - Якщо клієнт визначає, що IP-адреса, який пропонує йому сервер DHCP, вже використовується, клієнт згенерує новий запит на іншу адресу (за крок DHCPREQUEST).
2) DHCPRELEASE - Це повідомлення зазвичай використовується, коли клієнт звільняє IP- адреса.
3) DHCPRENEW - Це пакет з прохання відновити і продовжити оренду виданого адреси.
4) DHCPINFORM - DHCPINFORM це пакет, який клієнт посилає на сервер DHCP для того, щоб отримати більш детальну інформацію з сервера, наприклад DHCPINFORM можна відправити з метою встановлення місцезнаходження іншого DHCP сервера в мережі.
DHCPNACK
DHCPNACK або пакет негативної відповіді, його посилає сервер, якщо IP-адреса вже використовується іншим клієнтом, або адреси більше не діє.
У разі отримання DHCPNACK, клієнту необхідно перезапустити процес отримання в оренду адреси.
Області DHCP, виключення і резервації
Область (scope) DHCP - це цілий спектр IP адрес, які ви налаштували на сервері DHCP, як діапазон адрес, призначені для видачі серед клієнтів.
Наприклад, якщо ви створите область з діапазоном видаваних адрес 10.0.0.100-10.0.0.200, Ви можете легко забезпечити видачу тільки цих адрес на Ваші робочі станції.
Ви також можете створювати більше однієї області на одному DHCP-сервері, але в цьому випадку рекомендується перевірити, що ваші області не перетинаються і не дублюють один одного. У процесі створення таких областей ви можете індивідуально налаштувати на клієнтах параметри TCP / IP, такі як маска підмережі, часу оренди, маршрутизатор (шлюз), DNS-сервера і т.д, тому отримуючи свою адресу з тієї чи іншої області, клієнти отримують також і інші параметри області.
У деяких випадках, Вам буде необхідно запобігти отриманню клієнтами деяких адрес, наприклад, якщо ваша область DHCP має діапазон від 10.0.0.1 до 10.0.0.100, а IP-адреси Ваших серверів знаходяться в діапазоні 10.0.0.1-10.0.0.10, Вам знадобиться можливість виключити ці IP адреси з області, яка видається DHC-сервером. Така можливість називається винятком (exclude).
Резервація (reservation) - використовується у випадках, коли Ви плануєте представити конкретний динамічний IP-адресу певного клієнта DHCP. Наприклад, у своїй області DHCP, ви хочете виділити для конкретного клієнта унікальна адреса, яка буде закріплений за ним, для цього Ви можете легко створити для нього резервацію, використовуючи унікальний ідентифікатор - MAC-адресу (Media Access Control - являє собою унікальний шістнадцятковий фізичну адресу мережевого адаптера).
Active Directory і сервер DHCP
Для коректної роботи вашого Microsoft Windows DHCP - сервера в середовищі Active Directory, Вам необхідно спочатку авторизувати свій DHCP - сервер в AD.
У тому випадку, якщо неавторизований сервер спробує запустити службу DHCP для видачі IP-адрес, цей запуск завершиться невдачею і служба DHCP на локальному комп'ютері буде зупинена.
DHCP Relay Agent
DHCP Relay Agent - це тип хоста (зазвичай маршрутизатор або сервер), які приймає широкомовні трансляції DHCP / BOOTP від клієнтів в подсетях, які не мають локальних серверів DHCP.
DHCP Relay Agent пересилає пакети від клієнтів і серверів DHCP, які знаходяться в різних фізичних подсетях, дозволяючи їм працювати по протоколу DHCP, тобто виконує функції посередника
На закінчення
DHCP є однією з основоположних служб в мережі, тому що допомагає Вам, як системного адміністратора, централізовано керувати Вашими клієнтами, видаючи, відстежуючи і повторно привласнюючи їм IP-адреси.