DHCP
Кожний пристрій, який ви підключаєте до мережі, отримує IP-адресу, DNS-сервер і маршрут за замовчуванням, не вводячи нічого. Ця магія полягає в тому, що DHCP — протокол динамічної конфігурації хосту — тихо працює у фоновому режимі кожного підключення до Wi-Fi і кожного роз’єму Ethernet. Розуміння того, що він робить, робить сенсом багато мережевих дій.
Повний текст статті подано англійською мовою нижче.
DHCP (Протокол динамічної конфігурації хоста) — це протокол, який автоматично призначає IP-адреси та іншу мережеву конфігурацію пристроям у мережі. Він був стандартизований у RFC 2131 у 1997 році, походячи від попереднього протоколу BOOTP. Кожна мережа Wi-Fi і корпоративний Ethernet працює з ним; більшість користувачів ніколи не взаємодіють із ним безпосередньо.
Що DHCP надає клієнту
А типова відповідь DHCP включає:
- IP-адресу — адресу клієнта в цій мережі з тривалістю оренди
- Маска підмережі — визначає, яка адреси локальні та доступні через маршрутизатор
- Шлюз за замовчуванням — IP-адреса маршрутизатора для вихідного трафіку
- DNS-сервери — зазвичай сам маршрутизатор або публічні резолвери
- Доменний суфікс — для вирішення короткі імена хостів
- NTP-сервери — інколи, для синхронізації часу
- Додаткові параметри постачальника (сервери завантаження PXE, налаштування VoIP тощо)
Обмін DORA
Чотириетапне рукостискання DHCP — DORA — відбувається щоразу, коли клієнт приєднується:
- DHCPDISCOVER — Клієнт транслює "чи хтось пропонує IP?" до 255.255.255.255 (ще немає IP-адреси, що означає відсутність одноадресної передачі).
- DHCPOFFER — DHCP-сервер відповідає із запропонованою IP-адресою та параметрами оренди.
- DHCPREQUEST — Клієнт офіційно запитує запропоновану IP-адресу. (Це також транслюється, тому кілька серверів DHCP знають, хто виграв.)
- DHCPACK — сервер підтверджує оренду.
Оренда діє на фіксований термін (часто 24 години для домашніх мереж, довше для корпоративних). Клієнт продовжує договір оренди на півдорозі; якщо поновлення не вдається, він повторює спробу на 87,5% оренди і, нарешті, перед закінченням терміну дії. Якщо оновлення не вдається, IP-адреса звільняється, і клієнт починає роботу спочатку.
Статичні, динамічні та резервні
- Статичне призначення — клієнт налаштовується вручну за допомогою IP-адреси. DHCP не використовується. Операційно незграбний; зарезервовано для особливих випадків (самий маршрутизатор, ключові сервери).
- Динамічне призначення — DHCP вибирає будь-яку вільну IP-адресу зі свого пулу. Клієнт отримує все, що доступно.
- Резервування DHCP — DHCP знає, що певна MAC-адреса завжди повинна отримувати певний IP. Зручність статики з гнучкістю DHCP. Більшість домашніх маршрутизаторів підтримують це. Ретрансляція
DHCP
DHCP покладається на широкомовні передачі, які не перетинають маршрутизатори. Для мереж із кількома підмережами (більшість підприємств) маршрутизатори запускають агент ретрансляції DHCP, який перехоплює трансляцію та пересилає її на централізований сервер DHCP. Ось як корпоративна мережа із сотнями підмереж може запускати один сервер DHCP замість одного на підмережу.
DHCPv6 і SLAAC
IPv6 застосували інший підхід. SLAAC (автоконфігурація адреси без збереження стану) дозволяє клієнту отримувати власну IP-адресу з мережевого префікса, оголошеного маршрутизатором, а також рандомізованого ідентифікатора інтерфейсу. Призначення стану в стилі DHCP також можливо (DHCPv6), але необов’язково. У багатьох мережах IPv6 працює гібрид: SLAAC для адреси, DHCPv6 для DNS та інші параметри.
DHCP-атаки
- Несправжній DHCP-сервер. Зловмисник, підключений до мережі, запускає власний DHCP-сервер, який передає шкідливі налаштування, спрямовуючи шлюз і DNS на контрольований зловмисником IP-адреси. Пом'якшення: DHCP стежить за комутаторами.
- DHCP starvation. Заповнюйте законний сервер DHCP запитами з використанням підроблених MAC-адрес, доки пул адрес не буде вичерпано, а потім запустіть шахрайський сервер. Пом’якшення: обмеження швидкості, політики прив’язки до MAC-адреси.
- Параметри спуфінгу. Маніпулювання параметрами DHCP для ін’єкції шкідливих серверів завантаження DNS або PXE.
DHCP відстеження та DAI (Dynamic ARP Inspection) на керованих комутаторах є стандартними. пом'якшення в корпоративних мережах.
Практичні проблеми DHCP
- «Чому мій IP-адреса постійно змінюється?» Короткі терміни оренди або зміни ідентифікації на стороні пристрою (рандомізація MAC-адрес у Wi-Fi). Налаштуйте резервування DHCP або більш тривалу оренду для стабільних IP-адрес.
- "Мій пристрій не підключається після відпустки." Термін оренди давно закінчився, і маршрутизатор/DHCP забули пристрій. Оновіть за допомогою
ipconfig /renew(Windows),dhclient -r(Linux) або перемкніть Wi-Fi. - "Два пристрої мають однакову IP." Сервер DHCP не синхронізований (рідко) або пристрій, налаштований вручну для перекриття. Використовуйте лише DHCP — не змішуйте статику та динаміку в одному діапазоні.
- «Мій принтер зникає». IP-адресу принтера змінено через DHCP, а черга друку все ще вказує на стару. Рішення: Резервування DHCP для принтера.
Складання відбитків DHCP
Шаблон параметрів DHCP, які запитує клієнт, показує, який це пристрій. Мережі часто реєструють це, щоб відстежувати популяцію пристроїв: iPhone, MacBook, ноутбуки Windows, IoT на основі ESP32. Бази даних відбитків пальців (Fingerbank) каталогізують сотні різних відбитків пальців. Не дозволяє ідентифікувати особу, але корисно для керування мережею.
Часті запитання
- Чи можу я запустити власний сервер DHCP вдома?
- На вашому маршрутизаторі вже працює такий. Якщо ви хочете запустити окремий сервер DHCP (розширена домашня лабораторна робота, тестування мережі), спочатку вимкніть DHCP маршрутизатора. Pi-hole, dnsmasq, ISC DHCP і Kea є поширеними альтернативами. Більшості користувачів це не потрібно.
- Що таке оренда DHCP?
- Тривалість, протягом якої клієнт може використовувати призначену IP-адресу. Після закінчення терміну оренди IP повертається до пулу. Клієнти поновлюють договори оренди до закінчення терміну дії; якщо клієнт відключається, термін оренди закінчується, і IP-адресу можна використовувати повторно. Термін оренди 24 години типовий для домашніх мереж.
- Чому мій Wi-Fi іноді призначає мені іншу IP-адресу?
- Або закінчився термін оренди, і адресу було перепризначено комусь іншому (тому DHCP наступного разу вибере інший для вас), або рандомізація MAC-адрес на вашому пристрої змусила мережу сприймати вас як новий пристрій. Налаштуйте резервування DHCP для стабільності або прийміть зміни як перевагу конфіденційності.
- Чи може DHCP налаштувати мій DNS-сервер?
- Так — це один із стандартних параметрів DHCP. Резолвер DNS вашого пристрою — це те, що йому сказав DHCP. Щоб замінити, установіть DNS вручну в налаштуваннях мережі свого пристрою (які підтримують більшість операційних систем для кожного інтерфейсу). VPN-клієнти також замінюють DNS, коли VPN підключено.
- Яка різниця між DHCP і статичним IP?
- DHCP автоматично призначає IP-адреси; статичні IP-адреси вводяться вручну. Для більшості пристроїв DHCP є правильним. Для певних випадків (сервери, яким потрібна стабільна IP-адреса, пристрої, які мають бути доступними через IP-адресу, а не через DNS), працює статичне або DHCP-резервування. Чиста ручна статика рідко зустрічається в сучасних мережах.