Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #63, ФЕВРАЛЬ 2006 г.

Сделай DHCP!

SKYWRITER (SKY@REAL.XAKEP.RU)

Спецвыпуск: Хакер, номер #063, стр. 063-106-1


КОНФИГУРИРОВАНИЕ DHCP В СРЕДЕ WINDOWS 2003

В ДОМАШНЕЙ СЕТКЕ, КОТОРУЮ ТЫ КОНФИГУРИЛ ВПЕРВЫЕ В ЖИЗНИ, НАВЕРНЯКА БЫЛО ОДИН-ДВА КОМПЬЮТЕРА, И ЗАПОМНИТЬ ИХ АДРЕСА НЕ СОСТАВЛЯЛО ОСОБЫХ ПРОБЛЕМ. СЕЙЧАС ТЫ СОВСЕМ ВЗРОСЛЫЙ, В СЕТИ ТВОЕЙ КОНТОРЫ СОТНИ КОМПЬЮТЕРОВ, И ОЧЕНЬ-ОЧЕНЬ НЕПРИЯТНО ВЫДАВАТЬ ИМ IP'ШНИКИ ВРУЧНУЮ. ЕЩЕ НЕПРИЯТНЕЕ — ВЫЯСНЯТЬ ТО, С КАКИМ ИМЕННО КОМПЬЮТЕРОМ В СЕГМЕНТЕ КОНФЛИКТУЕТ АДРЕС, ВЫДАННЫЙ ТОЛЬКО ЧТО...

Генезис

Проблема решается не просто, а очень просто!

Все гибкие решения давно украдены до нас, и имя этим решениям — протоколы DHCP и BOOTP. Наверняка ты частенько слышал о таких протоколах, но не знал, в чем состоят основные моменты их функционирования. Такой пробел в знаниях частенько оказывается значимым на этапе конфигурирования и решения проблем. Итак, начнем с используемого чаще всего.

DHCP — это так называемый Dynamic host configuration protocol, который используется в сетях (понятно даже по названию) для динамического конфигурирования хостов (они же — компьютеры и прочие многообразные девайсы, подключаемые к LAN; у меня, например, точка доступа Wi-Fi конфигурируется не иначе как по DHCP). Вопреки распространенному мнению, DHCP позволяет конфигурить гораздо более широкий спектр параметров, чем просто IP-адрес и шлюз по умолчанию: DNS-серверы, WINS-серверы, серверы X-Window по умолчанию, имя хоста и прочее и прочее. Всего и не счесть! Но как же работает основная часть DHCP — та, которая выдает устройству адрес при подключении к сети?

Работа DHCP происходит в несколько этапов:

1 Устройство подключается к сети и отправляет запрос DHCP DISCOVER на широковещательный адрес 255.255.255.255. Этот пакет доставляется всем компьютерам, находящимся в данном сегменте сети, но интерпретируют его только DHCP-серверы.

2 Все DHCP-серверы сети принимают этот запрос и выдают на него ответ DHCP OFFER, который уже адресуется MAC-адресу устройства, отправившего DHCP DISCOVER. В этом пакете серверы предлагают клиенту возможные варианты IP-адресов.

3 Клиент выбирает наилучший, по его мнению, IP-адрес и посылает запрос DHCP REQUEST в сторону сервера, который предоставил ему такой вариант IP-адреса.

4 На этот запрос сервер выдает ответ DHCP ACK, сообщая о том, что отныне этот адрес закрепляется за клиентом на все «время аренды» (lease time).

5 Отныне клиент имеет право использовать выданный IP-адрес ровно до тех пор, пока не придет время сообщить серверу о «продлении аренды» адреса. Происходит повторная посылка запроса DHCP REQUEST серверу, на этот запрос сервер вправе ответить как согласием (DHCP ACK), так и отказом (DHCP NACK). В случае отказа клиент теряет свой адрес и вынужден проходить процедуру заново. Такое «продление аренды» обычно происходит в тот момент, когда половина срока аренды уже истекла.

Если клиент хочет освободить адрес (например при выключении), он посылает серверу запрос DHCP RELEASE. С данного момента адрес становится доступным другим клиентам сети.

Протокол BOOTP — это предшественник DHCP, на данный момент он используется в основном бездисковыми клиентами, которые загружаются полностью удаленно. Предпочтение этому протоколу отдают потому, что в нем есть штатная возможность указывать адрес в сети TFTP-сервера, с которого необходимо скачать первоначальный образ диска для загрузки ОС. Естественно, BOOTP предварительно выдает клиенту IP-адрес, и в этом плане он схож с DHCP.

Содержание  Вперед на стр. 063-106-2