Протокол DHCP (FAQ для системного адміністратора)

Ця стаття допоможе вам дізнатися все, що повинен знати системний адміністратор про це протоколі.

Що таке 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-адреси.