Для зарегистрированных пользователей |
|
DHCP под Windwos XP: полет нормальный
Арсений Чеботарёв
Слово DHCP обозначает 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.
|