воскресенье, октября 28, 2012

Настройка DHCP сервера в Windows Server 2003

Неделю назад, мы познакомились с протоколом DHCP и узнали об основных принципах его функционирования. Теперь настало время попрактиковаться в его использовании, и начнем мы данную практику с настройки DHCP сервера в ОС Windows Server 2003.

Хотя ОС Windows Server 2003 уже сильно устарела, она продолжает использоваться на многих серверах в самых различных компаниях. Поэтому настройку DHCP серверов мы начнем разбирать именно с данной ОС, а позже перейдем к ее приемникам Windows Server 2008 и Windows Server 2012.

Для отработки навыков работы с DHCP сервером в данной статье будет использоваться следующая сетевая топология:
Вот так будет выглядеть наша тестовая сеть
В качестве DHCP сервера будет использоваться компьютер под управлением Windows Server 2003, в качестве компьютера пользователя компьютер под управлением Windows XP.  DHCP сервер имеет статически заданный IP адрес192.168.1.1, компьютер пользователя автоматически получает настройки от DHCP сервера. Данная сетевая топология может быть создана как на базе реального оборудования, так и с использованием виртуальных машин. В данной статье будет рассматриваться вариант с использованием виртуальных машин созданных при помощи Windows Virtual PC, настройки сети обоих виртуальных машин заданы в соответствии с рисунком.
Параметры сети виртуальных машин
После того, как мы обговорили некоторые нюансы реализации тестовой площадки для создания DHCP сервера, перейдем  к непосредственной его настройке. Для этого на сервера с  Windows Server 2003  в меню «Пуск» выберите пункт «Управление данным сервером».
Открываем оснастку "Управление данным сервером"
После данного действия откроется оснастка управления вашим сервером, в данной панели отображаются все роли, которые в данный момент выполняет ваши сервер (так как мы пока еще не настраивали роли, то ничего не отображается). Для добавления новой роли серверу нажмите на кнопку «Добавить или удалить роль».
Добавляем роль в Windows Server 2003
Откроется окно, которое предупреждает вас о том, что для выполнения дальнейших действий необходимо иметь сетевое подключение, сконфигурированное в соответствии с вашими потребностями (в данном случае необходимо лишь убедиться, что на нашем сервере функционирует сеть  и что он имеет статический адрес 192.168.1.1). Нажимаем на кнопку «Далее»
Предупреждение перед добавлением роли


В следующем окне нам предлагается выбрать роль, которую мы хотим установить на данном сервере, так как мы хотим настроить DHCP сервер, то соответственно выбираем роль DHCP сервера.
Выбор роли для установки в Windows Server 2003
В следующем окне отображаются действия, выбранные для выполнения, просто нажмите «Далее».
Действия которые будут выполняться
Начнется процесс установки DHCP сервера.
Наблюдаем за установкой роли DHCP сервера
После завершения установки основных файлов DHCP сервера, откроется окно мастера, предлагающее сконфигурировать DHCP сервер в соответствии с вашими потребностями. Нажмите «Далее».
Мастер настройки DHCP сервера
Введите имя области IP адресов, которые вы будете раздавать клиентам. Можно ввести что угодно, главное чтобы это было понятно именно вам.
Задаем имя и описание области
Укажите в каком диапазоне выдавать IP адреса клиентам, и какую маску подсети им задавать. В данном случае будут раздаваться IP адреса из диапазона 192.168.1.100-200 c маской подсети 255.255.255.0.
Диапазон IP адресов, раздаваемый DHCP сервером

Если необходимо добавить какие либо исключения для выбранной области, то указываем их в следующем окне. В данном случае ничего не меняем и нажимаем кнопку «Далее».
Добавляем исключение
В следующем окне указываем время аренды IP адреса DHCP клиентом у сервера. По умолчанию данное время равно 8 часам, это означает что клиент, получивший IP адрес у DHCP сервера, будет обращаться к нему каждые 8 часов для получения разрешения на дальнейшие использование данного IP адреса, или же для его смены.
Задаем время аренды IP адреса
Как мы знаем с помощью DHCP сервера можно раздавать компьютерам не только IP адреса, но и еще ряд параметров, таких как адрес основного шлюза, адрес DNS сервера и д.р. Если мы хотим чтобы наш сервер раздавал данные параметры своим клиентам выбираем пункт «Да, настроить эти параметры сейчас» и последовательно задаем их в следующих трех окнах.
Настройка дополнительны параметров раздаваемых DHCP сервером
Задаем основной шлюз
Задаем адрес DNS сервера
Задаем адрес WINS севера
После задания всех настрое вас спросят хотите ли вы активировать данную область IP адресов на данном DHCP сервере – соглашаемся и нажимаем далее.
Хотите ли вы активировать данную область?
После этого вас порадуют сообщениями о том, что ваш DHCP сервер сконфигурирован и готов к работе.
Завершение работы мастера настройки DHCP сервера
Роль успешно добавлена
После этого включите виртуальную машину, на которой установлена Windows XP. Выполните в командной строке ipconfig. Если DHCP сервер настроен правильно, компьютер должен получить IP адрес из диапазона 192.168.1.100-200.

Компьютер пользователя получил IP адрес
В данном случае DHCP сервер последовательно раздает IP адреса заданного диапазона запрашивающим клиентам. Но иногда бывает нужно сделать так, чтобы определенный компьютер получал строго заданный IP адрес. Как же это сделать? Для этого снова вернемся на наш сервер,  и перейдем в оснастку «Управление данным сервером». Как вы можете заметить, в ней теперь отображается только что созданная роль DHCP сервера. Для настройки DHCP сервера кликните по надписи «Управление этим DHCP сервером».
Оснастка управление сервером с одной ролью
В созданной области выберите пункт резервирование. Щелкните по нему правой кнопкой мыши и создайте правило, с помощью которого компьютер с определенным MAC адресом будет получать определенный IP адрес. В данном случае в качестве MAC адреса указываем MAC виртуальной машины с Windows XP.
Резервирование IP адресов DHCP сервером
Привязка IP адреса к заданному MAC адресу
Перейдем на виртуальную машину с Windows XP. Отключим и снова включим сетевое подключение на ней. После чего в командной строке снова выполним команду ipconfig. Если все сделано верно, клиентский компьютер получит IP адрес 192.168.1.177.
Компьютер получил IP привязанный к его MAC адресу
Ну вот так, довольно несложно настраиваются основные возможности DHCP сервера в ОС Windows Server 2003.

P.S. Лично у меня при использовании DHCP сервера на виртуальных машинах, созданных в Windows Virtual PC, возникла следующая проблема – клиентские компьютеры не в какую не хотели получать IP адреса от DHCP сервера. Что я делал для решения данной проблемы:
  • Выключил все виртуальные машины.
  • Открыл файл %localappdata%\microsoft\Windows Virtual PC\Options.xml
  • Нашел в нем фрагмент:  
    <dhcp>
      <enabled type="boolean">false</enabled>
      <ending_ip_address type="integer">2851998462</ending_ip_address>
      <network type="integer">2851995648</network>
      <network_mask type="integer">4294901760</network_mask>
      <starting_ip_address type="integer">2851995664</starting_ip_address>
    </dhcp>
  • Заменил в нем строку <enabled type="boolean">true</enabled> на <enabled type="boolean">false</enabled>
После этого все стало прекрасно работать =)  Удачи вам! Если у вас что то не получается, то не стесняйтесь спрашивать. 

20 коммент.:

Классная статья, хотелось бы еще в таком же тоне про роль контроллера домена почитать

Интересная идея =) Возможно попробую написать в ближайшее время.

а можно вместо "192.168.1.1" задавать другой адрес ?
например "192.168.1.101"

Если вы имеете иду адрес интерфейса DHCP сервера, то он может быть любым другим в соответствии с требованиями вашей сети. 192.168.1.1 приведено только в качестве примера.

Поскажите, а если мне нужно расширить свою сеть с 192.168.0.0\24 до 192.168.0.0\23 и так же расширить область DHCP c 192.168.0.100-254 до области 192.168.0-1.100-254, то в настройках DHCP необходимо указать диапазон 192.168.0.100 - 192.168.1.254 с маской 255.255.254.0 и затем исключить адреса 192.168.0.255-192.168.1.99?
Я правильно понимаю ?

Очень извиняюсь, но немного не вьехал в то что вы написали= (
1. И так, у вас была подсеть 192.168.0.0\24 , но вас стало мало и вы решили перейти на 192.168.0.0\23.
2. В подсети 192.168.0.0\24 DHCP сервер раздавал адреса из пула с диапазоном 192.168.0.100-254.
3. В новой подсети 192.168.0.0\23 вы хотите чтобы DHCP сервера раздавал адреса из двух диапазонов 192.168.0.100-254 и 192.168.1.100-254.
Все верно?
Если да, то вроде все верно, только тогда можно исключить не адреса 192.168.0.255-192.168.1.99 , а 192.168.1.1-192.168.1.99, адреса 192.168.1.0 и 192.168.0.255 по идее не должны раздавать DHCP сервером так как это адрес сети и широковещательный адрес.

Так же наверное можно было бы попробовать поиграть с двумя отдельными пулами (192.168.0.100-254 и 192.168.1.100-254)в одной сети, но если честно я так не пробовал. Если у вас был такой опыт то пожалуйста отпишитесь, было бы интересно послушать.

Сори, обманул вас. Все же вы были правы, 192.168.1.0 и 192.168.0.255 надо тоже исключать. Так как они не адрес сети и широковещательный адрес для /23, попутал с /24. Еще раз прошу прощение.

Этот комментарий был удален автором.

Да, я уже размышлял об этом. В случае маски \23 адреса 192.168.0.255 и 192.168.1.0 теряют свое значение при маске \24 и становятся просто адресами. Скорее всего я сделаю следующую картину:
Общий пул DHCP:
192.168.0.100-192.168.1.240
и поставлю исключение:
192.168.0.240-192.168.1.99
Оставив начала и концы диапазонов для технических нужд.

Вот и хорошо, буду рад если вы отпишитесь о ваших успехах.

Приступил к изменениям, а там ... настройка изменения маски не активна, и способа в существующий пул добавить исключение нет. Удалить и заново создать? Но у меня масса резервов прописана.
Что делать?

Этот комментарий был удален автором.
Этот комментарий был удален автором.

Хотя вроде справился:
c:\>netsh dhcp server \\имя_сервера scope dump > c:\dump.txt

После редактирования полученного файла выполняем
c:\>netsh exec c:\dump.txt

Чтобы не вдаваться в документацию и узнать как пишется команда на добавление исключения в области создавал маленькие тестовые подсети.
К слову, работает и на windows server 2008, он и был моим подопытным кроликом.

Сори что так поздно заметил. Я бы честно говоря наверное просто удалил пул и заново бы его создал. Рад за вас. Если честно сам пользовался возможностями netsh-а только пару раз, и то только в целях самообразования.

Все верно, изменить настройки существующего пула можно только методом Resubneting - удалить и создать заново, но вот сохранить сотню резервов мне помогли именно команды выше. Т.е. делаем дамп, удаляем пул, восстанавливаем пул из отредактированного дампа. Все счастливы, массовые ликования, праздник итд =)

Подскажите пожалуйста? у меня в DHCP шесть областей. как сделать что бы все машины с разных областей видели друг друга .? спасибо.)

Если все области в одной подсети, то они поидее и так должны видеть друг друга.

Здравствуйте! Переустановил dhcp сервер на контролере домена...А как сделать чтобы dhcp сервер обновлял DNS записи на контролере домена. А то он новые адреса раздал а в Dns старые привязки и не обновляются.

Добрый день.
Скажите, вот есть настройка dhcp на самих маршрутизаторах, а есть настройка на операционной системе. Выходит, если встанет задача настроить новую сеть, то я должен выбрать, как это делать? На уровне железа или на программном уровне?

При этом, если я хочу на программном уровне и у меня есть вланы на аппаратном, то я должен строго соблюдать соответствие подсетей вланов и областей dhcp, которые я настрою в винсервере?

Отправить комментарий