Конфигурирование DHCP

WINDOWS 2000 MAGAZINE #01/99

Пусть IP-адреса присваивает DHCP

Настроить сервис Windows NT под названием Dynamic Host Configuration Protocol (DHCP) не так уж сложно, как это может показаться. Если вы назначаете IP-адреса вручную, потому что освоение DHCP вам кажется делом слишком трудным, то поверьте, что потратив всего пару часов на изучение этого сервиса, вы сумеете сэкономить массу своего рабочего времени.

Что такое DHCP?

DHCP - это протокол TCP/IP, автоматизирующий присвоение IP-адресов. (Название "автоматическое присвоение IP-адресов", Automatic IP Address Assignment, может, и лучше отражает суть, но AIAA больше похоже не на сокращение, а на вопль, издаваемый сетевым администратором от безысходности). Для использования протокола TCP/IP в сети администратор должен задать для каждого из компьютеров по меньшей мере три параметра - IP-адрес, маску подсети и адрес используемого по умолчанию шлюза. При этом каждый компьютер должен иметь уникальный IP-адрес. Кроме того, присвоенный адрес должен находиться в диапазоне подсети, к которой подключено устройство. В большой сети иногда бывает трудно определить, к какой же из подсетей подключен тот или иной компьютер. Однако DHCP "знает", из какой подсети приходит запрос на получение IP-адреса, и сделает за вас все как надо. Если в сети используются Windows Internet Naming Service (WINS) и Domain Name Service (DNS), то на каждом из клиентских компьютеров администратору необходимо также указать IP-адреса WINS и DNS-серверов.

Администратор может сконфигурировать каждую из систем вручную или попросить сделать это пользователей, предоставив им необходимые данные. Однако последний подход слишком рискован. Самый простой и безопасный способ - сконфигурировать один или несколько DHCP-серверов так, чтобы они автоматически присваивали IP-адреса каждому компьютеру в сети. Для этого вам достаточно сконфигурировать сервер, ввести диапазоны адресов, настроить несколько дополнительных параметров и периодически осуществлять мониторинг.

Установка сервиса DHCP

Как и другие сервисы NT, DHCP работает в фоновом режиме. DHCP надо устанавливать на сервер, но администрировать можно и с рабочей станции. Серверы DHCP должны иметь фиксированные (статические) IP-адреса, потому что они не могут присваивать адреса сами себе. На роль DHCP-сервера хорошо подойдет, например, запасной контроллер доменов (Backup Domain Controller). Чтобы установить сервис DHCP, дважды щелкните на пиктограмму Network в Control Panel. (Можно также щелкнуть правой клавишей мыши на пиктограмму Network Neighborhood и выбрать Properties). Выберите ярлык Services, нажмите Add. Из списка Network Services выберите Microsoft DHCP Server и нажмите Ok. Затем перезагрузите сервер.

Конфигурирование DHCP-сервера

После установки необходимо сконфигурировать сервер. Запустите DHCP Manager, находящийся в группе Administrative Tools. На экране 1 показан открывающийся при этом диалог.

Экран1:Диалог DHCP Manager

Главный компонент настройки DHCP - диапазон IP-адресов (scope). Каждой подсети соответствует один диапазон. Допустим, вам доступны адреса с 10.0.0.2 по 10.0.0.100. Однако компоненты вашей сети (принтеры, маршрутизаторы, DHCP-сервер) разбросаны внутри этого диапазона; к примеру, адрес принтера - 10.0.0.57. Указывать в качестве одного из диапазонов 10.0.02-10.0.0.56, а в качестве второго - 10.0.0.58-10.0.0.100 не нужно. Вместо этого DHCP позволяет указать IP-адреса или диапазоны адресов, которые DHCP-сервер присваивать не должен.

Экран 2: Задание и настройка диапазона адресов DHCP-сервера

В меню DHCP Manager выберите Scope, Create. На рис. 2 показан открывающийся при этом диалог Create Scope. Вам необходимо ввести первый и последний адреса диапазона и маску подсети. Затем введите адреса, которые следует исключить из диапазона. При этом можно вводить как одиночные адреса (например, принтеров и других компонентов сети, не поддерживающих DHCP), так и их диапазоны. Наконец, укажите срок аренды (lease). О нем я расскажу позже. Можно также присвоить диапазону имя и ввести комментарий. Эти возможности предусмотрены для случаев, когда подсетей достаточной много.

После нажатия Ok и закрытия диалога Create Scope необходимо указать, желаете ли вы немедленно активизировать диапазон. Как правило, это можно сделать сразу. Но если количество диапазонов велико, их все можно сначала задать, а потом одновременно активизировать.

При выходе из диалога Create Scope возможно появление сообщения об ошибке No more data is available. Его можно проигнорировать. Созданный диапазон появится в окне DHCP Manager. Если вы его активизировали, изображенная справа от него лампочка будет гореть желтым цветом. Не волнуйтесь, если вы ввели диапазон 131.107.2.100-131.107.2.199, а в окне DHCP Manager появилось 131.107.2.0. Просто DHCP показывает последние восемь адресов, как ноль.

Казалось бы, для избыточности неплохо было бы иметь несколько серверов, обслуживающих одни и те же диапазоны адресов. Однако в NT 4.0 DHCP-серверы не взаимодействуют друг с другом. Другими словами, создать несколько серверов для одного и того же диапазона нельзя, поскольку они будут назначать одни и те же адреса. Надеюсь, в будущих версиях этот недостаток будет устранен. Иногда администратор сети с двумя серверами, каждый из которых обслуживает ее часть, может поделить между ними доступные IP-адреса. Таким образом, в случае сбоя одного из серверов по крайней мере у части пользователей сохранится возможность получения IP-адресов.

Конфигурирование клиентов TCP/IP

Сконфигурировать клиенты очень просто. После установки TCP/IP на клиентскую машину необходимо ввести способ задания IP-адресов. Вам нужно поставить метку в окошке напротив надписи, указывающей, что назначением IP-адресов должен заниматься DHCP-сервер. Если вы хотите узнать, какой адрес был получен клиентом, наберите в командной строке NT ipconfig /all. В ответ будет выведен IP-адрес клиента, IP-адрес DHCP-сервера, а также адреса серверов WINS и DNS. Если вам нужен только IP-адрес клиента, наберите ipconfig. В Windows 95 и 98 можно запустить программу winipcfg.exe, которая выведет информацию об IP-адресах в графическом окне.

Когда клиент DHCP впервые входит в сеть, он отправляет широковещательное сообщение о поиске DHCP-сервера. Широковещательное потому, что клиент еще не имеет IP-адреса и не знает доступных адресов. DHCP-сервер отвечает широковещательным сообщением (также потому, что у клиента еще нет адреса) с предложением IP-адреса. Клиент принимает адрес, о чем вновь отвечает широковещательным сообщением. В принципе клиент, получивший адрес и знающий адрес сервера, мог бы общаться с ним напрямую. Но широковещательное сообщение информирует остальные DHCP-серверы о том, что один из них выполнил клиентский запрос. DHCP-сервер отправляет подтверждение присвоения IP-адреса.

Настройка дополнительных параметров

Экран 3: Настройка параметров WINS и DNS

При необходимости настроить WINS и DNS нужно ввести IP-адреса соответствующих серверов. В диалоге DHCP Manager выберите DHCP Options. Можно настраивать параметры отдельно для каждого диапазона, но, как правило, они задаются глобально. При наличии в сети нескольких подсетей обычно используется один-два сервера WINS и DNS. Как показано на экране 3, значения каждого параметра по умолчанию можно изменить. Выберите параметр в списке слева, нажмите Add. Во многих случаях, например для присвоения адреса WINS-сервера, придется воспользоваться функцией Edit Array. После ее активизации DHCP предоставляет необходимую информацию клиентским компьютерам. Экран 3 показывает, как настроаиваются наиболее часто используемые параметры (с использованием Add для выбора и Values для модификации). Параметр 003 - это адрес маршрутизатора или используемого по умолчанию шлюза, 006 - адрес DNS-сервера, а 044 - адрес WINS-сервера. При выборе 044 необходимо также выбрать 046 - тип узла WINS.

Срок аренды

DHCP присваивает IP-адреса на определенный срок, "сдает в аренду". По истечение половины этого срока клиент отправляет DHCP-серверу прямое сообщение с запросом о возобновлении аренды. Если сервер доступен, он ее продлевает. В противном случае клиент снова посылает запрос по истечение половины остатка интервала, и так далее. Если срок аренды 3 дня (72 часа), то клиент пытается возобновить его через 36 ч, 54 ч и 63 ч. Наконец, клиент отправляет широковещательный запрос ко всем DHCP-серверам. Если до окончания срока аренды клиент не находит сервер, компьютер утрачивает соединение с TCP/IP-сетью.

Оставаясь подключенным или возобновляя подключение, клиент сохраняет свой IP-адрес. Однако, если клиент допускает истечение срока аренды, DHCP восстанавливает этот адрес и делает его доступным для других клиентов. Длительность процесса восстановления может быть в несколько раз большей, чем срок аренды. В относительно стабильных средах его можно устанавливать в 3-4 суток. Такой интервал дает пользователям возможность выключать свои компьютеры более чем на два выходных без потери IP-адресов, и позволяет DHCP восстанавливать IP-адрес в течение нескольких дней после того, как один из компьютеров был удален из сети. Однако если к примеру сотрудники находящегося в вашем ведении отдела сбыта пользуются своими офисными компьютерами лишь по нескольку часов раз в неделю, срок аренды стоить сократить до 4-6 часов. Таким образом DHCP будет высвобождать IP-адреса уже на следующий день после использования. Казалось бы, если компьютеры не перемещаются постоянно с места на место, имеет смысл назначить неограниченный срок аренды. Однако, если один из компьютеров с неограниченным сроком аренды IP-адреса удалить из сети, DHCP не восстановит его для дальнейшего использования.

Поскольку запросы на возобновление срока аренды делаются при помощи широковещательных сообщений, которые не проходят через маршрутизаторы, вы, возможно, зададитесь вопросом - обязательно ли вообще держать по DHCP-серверу (а следовательно, и NT-серверу) в каждой подсети. К счастью, ответ - да. Рабочая станция с NT может выполнять роль агента-ретранслятора DHCP. Приняв DHCP-запрос, агент пересылает его напрямую серверу. Таким образом агент исполняет для клиента посредническую функцию, и тот получает IP-адрес. DHCP-сервер знает, из какой подсети пришел запрос, и назначает адрес из соответствующего ей диапазона.

Экран 4: Просмотр сроков аренды

DHCP позволяет легко определить, какой машине какой адрес назначен. В диалоге DHCP Manager (показанном на экране 1), выберите Scope, затем Active Leases. Для получения подробной информации о сроке аренды адреса для каждой из машин, выберите ее и нажмите Properties (или два раза щелкните на имени машины). На экране 4 показан список компьютеров моей офисной сети. Уникальный идентификатор (например, 004005000001) - это MAC-адрес сетевой платы. При необходимости отключить компьютер от сети, или после того как одна из машин была из нее удалена, соответствующий срок аренды можно аннулировать.

Преимущества DHCP

DHCP-сервер дает администратору ряд преимуществ. Главное - экономия времени, возникающая за счет отказа от ручного конфигурирования каждой машины. Новые компьютеры зачастую поставляются с предустановленной ОС. Если такой компьютер уже сконфигурирован в качестве DHCP-клиента, вы можете подключить его к сети, и ему сразу же будет автоматически присвоен IP-адрес. Если нет, то программа инсталляции NT при получении положительного ответа на соответствующий вопрос сама сконфигурирует систему, как DHCP-клиент. Если вы присваиваете IP-адреса вручную, вам необходимо хранить список уже выданных адресов. Администраторы нередко носят такие списки с собой, потому что они могут понадобиться им при конфигурировании новых компьютеров. Если на предприятии несколько администраторов, им приходится еще и координировать друг с другом присвоение адресов. DHCP знает, каким компьютерам какие адреса присвоены. Администраторам больше не придется опасаться опечаток при вводе адресов и случайного назначения одного и того же адреса нескольким компьютерам.

Первичное присвоение IP-адреса - не единственное, на чем экономится время. DHCP упрощает и другие административные задачи. В частности, вы с легкостью сможете перемещать компьютер из одной подсети в другую. При необходимости передать кому-либо компьютер с него можно будет предварительно скопировать конфигурационные файлы на другой. Если не пользоваться DHCP, то оба компьютера имели бы в результате один и тот же IP-адрес. DHCP устраняет эту проблему и сокращает количество обращений в службу поддержки.

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

Кроме того, DHCP позволяет осуществлять совместное использование IP-адресов. Допустим, у вас имеется 50 свободных адресов и отдел сбыта со штатом в 100 человек. Сотрудники отдела проводят в офисе всего 1-2 дня в неделю; таким образом, одновременно к сети всегда подключены только 30-40 компьютеров. Каждый раз при подключении к сети сотрудник получает IP-адрес. После отключения система восстанавливает адрес, чтобы выдать его следующему пользователю.

Если ряд мобильных пользователей делят между собой несколько IP-адресов, некоторое их количество можно зарезервировать для тех, кому они больше всего нужны. Откройте диалог DHCP Manager, выберите Scope, Add Reservations. Таким образом вы сможете зарезервировать адрес для компьютера с определенным сетевым адаптером. Это может создать трудности, если пользователи поменяются адаптерами. Резервирование имеет свои отличия от присвоения фиксированного IP-адреса. Резервирование так же дает пользователю возможность подключаться к сети в различных отделах, но адрес в зависимости от местоположения может изменяться.

Засучите рукава

Настройка DHCP может показаться сложной, но за счет упрощения процесса администрирования вы сэкономите гораздо больше времени, чем потратите на изучение. В комплекте Service Pack 4 поддержка этого сервиса значительно улучшена.

Я знаю одну компанию, которая после внедрения DHCP перевела человека, занимавшегося исключительно управлением IP-адресами, на другую работу. Лучше тратить время на настройку ПО, чем на конфигурирование компьютеров и присвоение им IP-адресов.