Настройка dhcp windows 2000 server

Обновлено: 01.07.2024

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

DHCP – это один пример из набора служб (можно также назвать Active Directory и WINS), которые используются в каждой системе Windows 2000, Windows NT, в смешанных сетевых средах - для обеспечения нормальной работы сетевых пользователей и приложений. Знание уязвимых мест DHCP и ясное представление о работе утилит восстановления и технике восстановления поможет быстро реанимировать DHCP в случае сбоя. Во многих ситуациях успешное восстановление зависит от профилактических мер.

DHCP: и во благо, и во вред

Начиная с NT 3.5, разработчики Microsoft ввели в систему новый протокол назначения IP-адресов, получивший название DHCP (Internet Engineering Task Force, IETF - описывает DHCP в RFC 1531). DHCP существенно облегчает процесс конфигурации TCP/IP на рабочих станциях. Кроме того, DHCP позволяет автоматически назначать клиентам IP-адреса и настраивать дополнительные свойства IP-стека клиента, например, шлюз по умолчанию, серверы DNS и WINS, тип узла WINS.

Несмотря на очевидные плюсы, здесь есть и свои сложности. Одна из проблем состоит в том, что DHCP не обеспечивает приемлемой отказоустойчивости. Реализация Microsoft DHCP такова, что в каждой подсети только один DHCP-сервер обслуживает клиентов данной подсети. Сетевые администраторы должны специально настраивать сетевые маршрутизаторы, чтобы запросы BOOTP или DHCP от одного клиента подсети поступали на DHCP-сервер другой подсети (IETF описывает пересылку BOOTP в RFC 1542). В этом сценарии сервер DHCP может ответить на удаленный запрос клиента DHCP, только если сервер настроен на обслуживание адресов удаленных клиентов.

Такой подход для большинства организаций неудобен, поскольку это означает, что каждый сервер должен хранить непересекающийся диапазон адресов для множества подсетей. Эти адреса фактически "простаивают", так как сервер зарезервировал их для удаленных клиентов. Для частных подсетей (маска подсети 10.x.x.x, 192.168.x.x или 172.16.x.x) эта ситуация не создает больших проблем, так как самих адресов много. И все-таки решение Microsoft не идеально, особенно это очевидно, когда используются маршрутизируемые IP-адреса, назначенные провайдером, ISP. У вас нет достаточного количества адресов для распространения по нескольким DHCP-серверам. Приходится создавать сложную сеть, содержащую большое число подсетей.

В процессе создания Windows 2000 разработчики Microsoft пообещали предоставить новые отказоустойчивые службы Windows 2000 DHCP. Однако компания обеспечила обещанную функциональность только для серверов DHCP в кластерной конфигурации, что требует значительно больших затрат на приобретение Windows 2000 Advanced Server или Windows 2000 Datacenter Server, а также кластерного оборудования. В результате в сетях Windows, в которых нет Windows 2000 Advanced Server или Windows 2000 Datacenter Server, каждая подсеть целиком зависит от работоспособности только одного сервера DHCP.

Восстановление служб DHCP

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

Для функционирующего сервера желательно привести в работоспособное состояние службы DHCP на оригинальном сервере, когда причина сбоя DHCP кроется в поврежденной базе данных. Эта база, файл dhcp.mdb, представляет собой Jet-базу, в которой хранится конфигурационная информация о диапазонах адресов и арендах активных клиентов. На серверах Windows 2000 и NT DHCP основные данные настроек базы дублируются в реестре в разделе LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \DHCPServer\Configuration.

Восстановление базы данных с надежной копии – самое простое решение, конечно, если такая копия создана недавно и доступна. По умолчанию, службы DHCP Windows 2000 и NT 4.0 автоматически создают резервную копию базы данных DHCP один раз в час в каталоге DHCP-сервера \%systemroot%\system32\dhcp\backup\jet\new. Для изменения частоты автоматического резервирования измените значение параметра BackupInterval в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\DHCPServer\Parameters с принятых по умолчанию 60 минут на нужное значение.

После того как копия базы данных для восстановления базы DHCP выбрана, можно приступать собственно к восстановлению поврежденной базы:

  1. остановите службу DHCP (Administrative Tools\Services в Windows 2000 или Services в Control Panel в NT 4.0). Или же выполните команду:
  1. для сохранения содержимого каталога базы данных DHCP создайте резервную копию этого каталога (\%systemroot%\system32\dhcp).
  2. воспользуйтесь программой DHCP Export Import (DhcpExim), чтобы импортировать копию базы данных DHCP, или скопируйте резервную копию dhcp.mdb из каталога \%systemroot%\system32\dhcp\backup\jet\new в основной каталог (\%systemroot%\system32\dhcp). Восстановить резервную копию также можно из альтернативного источника (с ленты или другого записывающего устройства, с сервера репликаций). Однако метод прямого копирования файлов используйте только в том случае, когда оба сервера работают под управлением одной и той же операционной системы. Подробнее об использовании программы DhcpExim читайте во врезке "DhcpExim в действии".
  3. служба DHCP остановлена, поэтому можно воспользоваться утилитой Jetpack для сжатия и верификации восстановленной базы данных. Откройте окно командной строки, перейдите в каталог \%systemroot%\system32\dhcp и наберите:

Подробнее об использовании программы Jetpack рассказано во врезке "Использование Jetpack для профилактического сжатия".

В статье Microsoft "How to Move a DHCP Database to Another Windows NT Server" рекомендуется использовать метод копирования файлов вместо программы DhcpExim при перемещении базы данных с NT 4.0 на Windows 2000. Не следует этому верить. Для обслуживания DHCP в случае разных платформ и задач миграции лучше всего использовать утилиту DhcpExim.

Восстановление методом регенерации

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

  1. остановите службу DHCP с помощью Administrative Tools\Services в Windows 2000 или Services в Control Panel в NT 4.0. Или с командной строки:
  1. переместите все файлы из каталога базы данных DHCP (\%systemroot%\system32\dhcp) в другое место - оригинальный каталог должен остаться пустым.
  2. перезапустите службу DHCP.

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

  1. запустите regedt32.exe и перейдите в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
    Services\DHCPServer\Configuration
  2. укажите раздел Configuration и выберите в меню Restore
  3. когда появится окошко с подсказкой «указать имя файла восстановления», укажите файл \%systemroot%\system32\dhcp\backup\dhcpcfg
  4. подтвердите начало операции восстановления раздела реестра, щелкнув Yes

После завершения регенерации базы данных DHCP в консоли Windows 2000 Microsoft Management Console (MMC) DHCP или NT 4.0 DHCP Manager диапазон адресов появится, но будут отсутствовать сведения об аренде адресов активными клиентами. Это связано с тем, что процедура проверяет аренду у клиентов, присутствующих в настоящее время в базе данных (а их нет!) на основе записей в реестре. Вам предстоит выполнить соответствующие действия для каждого диапазона адресов в DHCP.

Чтобы привести в соответствие аренду выбранного адресного диапазона для NT 4.0 DHCP Server, выберите нужный диапазон, затем в меню выберите Scope\Active Leases. В результирующем диалоговом окне щелкните Reconcile, затем OK. Для сервера Windows 2000 в левой части оснастки DHCP откройте контекстное меню для адресного диапазона и выберите Reconcile (см. Рисунок 1). Описанная процедура должна быть повторена для каждого адресного диапазона сервера.

Избегайте конфликтов

Независимо от того, какие именно процедуры используются для восстановления базы данных и служб DHCP, желательно включить функцию обнаружения конфликтов адресов IP, предоставляемых DHCP. Начиная с NT 4.0 Service Pack 2 (SP2) (а также для Windows 2000) в системе имеется такая функция. С помощью ping-теста выполняется верификация IP-адресов до того, как DHCP назначит клиенту очередной адрес. После процедуры восстановления сервер DHCP может оказаться в состоянии, когда выдаваемые адреса уже кем-то используются, поэтому очень полезно, чтобы к моменту начала работы восстановленного сервера DHCP названная функция была активизирована.

Чтобы проверить состояние функции обнаружения конфликтов для серверов Windows 2000 DHCP, откройте контекстное меню сервера в левой панели оснастки DHCP, выберите Properties и перейдите на вкладку Advanced. Присвойте параметру Conflict Detections Attempt любое целое значение больше нуля. Установленное число означает, сколько раз будет выполняться ping-тест, прежде чем клиенту будет выделен IP-адрес. Для NT DHCP выберите Properties в меню Server утилиты DHCP Manager. Параметр Conflict Detection Attempts устанавливается на вкладке General.

Подготовьтесь к сбоям DHCP

В дополнение к известным способам восстановления после сбоев в работе DHCP, можно заранее предпринять некоторые шаги для облегчения процедуры восстановления. Во-первых, периодически запускайте Jetpack для компрессии базы данных DHCP и проверки ее целостности. Во-вторых, регулярно используйте программу DhcpExim для получения экспортных файлов текущей конфигурации каждого из имеющихся серверов DHCP и храните эти файлы отдельно (не на тех же самых серверах). В-третьих, если это необходимо, отредактируйте реестр с целью увеличения частоты автоматически выполняемых процедур резервирования конфигурации DHCP. В-четвертых, рассмотрите возможность привлечения имеющихся в Windows 2000 и NT способов реплицирования данных или программных продуктов независимых разработчиков для реплицирования базы данных DHCP в другое место в сети. И, наконец, если работа выполняется в кластерной среде, изучите вопрос реализации DHCP как кластерной службы.

Перечисленные шаги, в дополнение к известным способам восстановления DHCP, позволят существенно упростить процесс восстановления в случае сбоя.

DhcpExim в действии

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

Чтобы выполнить экспорт конфигурации DHCP, запустите dhcpexim.exe и на первом шаге мастера выберите Export configuration of the local service to a file. Затем присвойте конфигурационному файлу имя и сохраните его. Наконец, выберите диапазон для экспорта (см. Рисунок А) и щелкните Export. Для импорта сохраненной конфигурации выберите Import configuration to the local service from a file и укажите файл, созданный на этапе экспорта.

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

Использование Jetpack для профилактического сжатия

В DHCP и WINS используется технология базы данных Microsoft Jet и, как большинство им подобных, размер файлов баз данных DHCP и WINS растет по мере добавления и удаления записей. Microsoft поставляет программный продукт Jetpack, инструмент для сжатия файлов баз данных (есть как для Windows 2000, так и для Windows NT). Очень рекомендуется регулярно использовать Jetpack как для базы данных DHCP (файл dhcp.mdb), так и для базы данных WINS (файл wins.mdb).

Формат команды Jetpack:

Например, чтобы сжать базу данных DHCP, сделайте каталог базы DHCP текущим и остановите службу DHCP. Затем в командной строке наберите

Если DHCP и WINS функционируют в кластерной среде, придется использовать иные процедуры для запуска Jetpack. Специалисты Microsoft посвятили этой проблеме отдельную статью "How to Use the Jetpack Utility on a Clustered WINS/DHCP Database".

Когда клиент Windows 2000/XP или предыдущих версий Windows конфигурируется для использования DHCP, чтобы получить свои настройки конфигурации TCP/IP, он проходит через процесс согласования с сервером DHCP, который заканчивается предоставлением аренды. Обмен информацией с этим сервером выполняется с помощью протокола, определенного в документе DHCP Request for Comment, который опубликован группой IETF (Internet Engineering Task Force).

Согласование аренды

Получив пакет DHCPACK, клиент выполняет окончательную проверку предложенного IP-адреса, используя протокол Address Resolution Protocol (Протокол разрешения адресов), чтобы выяснить, нет ли дублирования этого адреса в сети. Если такой адрес найден, то клиент отправляет серверу пакет DHCPDECLINE, отменяя всю транзакцию. Если нет, то эти настройки используются для конфигурирования стека TCP/IP, после чего можно начать вход в сеть.

Обновление аренды

Запуск сервера Microsoft DHCP

Сервер Microsoft DHCP – это приложение, которое используется для управления, отслеживания и назначения настроек конфигурации TCP/IP, а также протокола для передачи этих настроек клиентам DHCP. Сервер DHCP, который поставляется вместе с Windows 2000 Server, запускается как служба после его установки со страницы Local Area Connections Properties (Свойства соединений локальной сети) или с помощью аплета Add/Remove Programs (Установка и удаление программ) из панели управления (Control Panel). Кроме того, имеется оснастка DHCP, которая может использоваться сетевыми администраторами для определения настроек конфигурации, предоставляемых клиентам DHCP.

Как уже говорилось в предыдущих лекциях, администраторы Windows Server 2003 получили новое средство – Manage Your Server Wizard (Мастер управления сервером). Мы расскажем, как устанавливать DHCP с помощью мастера Manage Your Server Wizard, а также с помощью окна Add/Remove Windows Components (Установка и удаление компонентов Windows), вызываемого из панели управления.

Чтобы установить DHCP Server с помощью мастера Manage Your Server Wizard, выполните следующие шаги.

  1. Откройте мастер Manage Your Server Wizard (который автоматически запускается при загрузке) из меню Administrative Tools (Администрирование).
  2. Выберите вариант Add or remove a role (Добавление или удаление роли). Мастер проверит, что ваше сетевое соединение работает должным образом; щелкните на кнопке Next (Далее).
  3. Выберите сервер DHCP в меню ролей серверов (Server Role Menu).

После этого мастер запускает New Scope Wizard (Мастер новой области).

Для установки сервера DHCP из панели управления выполните следующие шаги.

  1. Дважды щелкните на аплете Add/Remove Programs в панели управления (Control Panel).
  2. Выберите Add/Remove Windows Components в окне Add/Remove Programs, см. рис. 2.2.

Окно Add/Remove Windows Components

Конфигурирование клиента для использования DHCP

Если вы решили сделать машину Windows XP/2000 клиентом DHCP, то вам нужно щелкнуть на кнопке выбора страницы свойств Internet Protocol (TCP/IP) Properties, чтобы все необходимые настройки конфигурации TCP/IP были автоматически назначены для вашей машины (см. рис. 2.4). Кроме того, все эти настройки хранятся в одном централизованном месте – на сервере DHCP, – что избавляет вас от необходимости ручного ведения записей о назначениях IP-адресов.

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

Выбор DHCP

Конфигурирование DHCP на клиентском компьютере


Рис. 2.4. Конфигурирование DHCP на клиентском компьютере
Конфигурирование сервера DHCP

Конфигурирование настроек TCP/IP выполняется в DHCP Manager и заключается в создании областей и последующем назначении для них свойств. Область – это набор IP-адресов, которые могут динамически или автоматически выделяться клиентам DHCP по мере необходимости. Для создания области нужно определить диапазон последовательных IP-адресов в диалоговом окне New Scope Wizard ( рис. 2.5) и задать маску подсети, которая будет предоставляться вместе с ними. При необходимости вы можете исключать некоторые адреса из этого диапазона. Вы можете также изменять длительность аренды, которая будет согласовываться между клиентами и сервером.

Конфигурирование новой области (scope)

Примечание. Вы можете конфигурировать сервер DHCP, но он не будет обслуживать клиентов, пока вы не авторизуете его.

После создания области вы определяете дополнительные настройки (из списка, представленного выше в разделе "Другие возможности DHCP"), которые вы хотите передавать вместе с областями, или указываете только те опции, которые будут передаваться вместе с адресами из определенной области. Причиной задания этих опций является то, что изолированные области обычно должны определяться для каждой подсети вашей сети, поскольку определенные настройки (такие как шлюзы по умолчанию) будут обязательно отличаться.

Например, типичная сеть среднего масштаба может состоять из нескольких подсетей, и для каждой из них вы будете создавать отдельную область. Такие настройки, как имя домена, серверы DNS и узел WINS/NBT, видимо, будут одинаковыми для всех клиентов во всем предприятии, поэтому их лучше всего определить как глобальные опции. Маршрутизаторы и серверы WINS/NBNS будут, скорее всего, определятся как опции на уровне области, поскольку они могут быть различными для различных областей. На рис. 2.6 показан пример опций, которые могут быть определены в рамках определенной области.

Именно администратор должен задать подходящие значения для всех обязательных параметров конфигурации TCP/IP. Обычно целью является обеспечение клиентов полной конфигурацией TCP/IP, но любые параметры, которые пропущены или неверно сконфигурированы, могут вызвать ошибки обмена TCP/IP на стороне клиента без предупреждения.

Конфигурирование опций на уровне области


Рис. 2.6. Конфигурирование опций на уровне области

Сервер DHCP не может сам использовать DHCP для получения своей собственной конфигурации TCP/IP (даже от другого сервера DHCP). Его настройки должны быть сконфигурированы вручную в диалоговом окне Internet Protocol (TCP/IP) Properties.

DHCP и разрешение имен

Как вы узнаете из следующих разделов, еще одной важной задачей при использовании TCP/IP в интерсети предприятия является разрешение имен. Аналогично тому, как DHCP поддерживает список MAC-адресов своих клиентов и соответствующих IP-адресов, должны также существовать средства, позволяющие устанавливать соответствие между IP-адресами и хост-именами, которые назначаются всем компьютерам в сетевой среде Windows 2003. Столь же важно устанавливать соответствие между IP-адресами и именами NetBIOS для клиентов более ранних версий Windows.

DHCP и DNS

DHCP имеет довольно интересную связь с DNS, поскольку DHCP может отвечать не только за передачу IP-адреса клиенту. DHCP может также использоваться для регистрации клиентов, если активизированы динамическая DNS ( Dynamic DNS – DDNS ) и дополнительный код 81 DHCP. Дополнительный код 81 DHCP позволяет клиентам DHCP возвращать их полностью уточненное доменное имя ( FQDN ) серверу DHCP. В свою очередь, сервер DHCP может регистрировать клиентов с помощью DDNS , или клиенты могут регистрироваться с помощью службы разрешения имен. Этот дополнительный код дает серверу DHCP три варианта обработки информации DDNS для клиента DHCP.

  • Он всегда регистрирует ресурсные A-запись и PTR-запись клиента DHCP с помощью DDNS .
  • Он никогда не регистрирует ресурсную A-запись клиента DHCP.
  • Он регистрирует ресурсные A-запись и PTR-запись клиента DHCP с помощью DDNS только по запросу клиента.

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

Примечание. Вы должны в обязательном порядке тестировать взаимодействие между DHCP и DDNS для клиентов более ранних Windows.

Более подробную информацию по взаимодействию DHCP с DNS, а также другую информацию по DNS см. в "Управление пользователями и данными входа" .

DHCP и WINS

Разрешая проблему администрирования IP-адресов, DHCP влияет также на проблему разрешения имен NetBIOS. Если IP-адреса автоматически или динамически выделяются сетевым клиентам, то сетевому администратору практически невозможно следить за этими постоянно изменяющимися назначениями. Поэтому служба WINS (Windows Internet Naming System) работает совместно с DHCP для поддержки автоматического сервера имен NetBIOS, который обновляется каждый раз, как DHCP назначает новый IP-адрес. В сети Windows 2003 с DHCP служба WINS необходима только в тех случаях, когда все еще используется NetBIOS (то есть присутствуют клиенты более ранних версий Windows).

Если вы когда либо переносили DHCP службу с одного сервера на другой, вы наверное знаете что это процесс не слишком веселый и интуитивно понятный, если сервер работает на базе Windows Server 2003. Когда Microsoft создавал Windows Server 2008 он переработал административный интерфейс сервера и в том числе намного облегчил процесс переноса DHCP службы. В этой статье я расскажу о том, как перенести DHCP службу на серверах на базе Windows Server 2000/2003 и Windows Server 2008 и между ними.

Перенос службы DHCP на базе Windows Server 2000

Сохрарение данных на исходном сервере

Для того, чтобы перенести службу DHCP с одного сервера Windows Server 2000 на другой сервер под управлением Windows Server 2000, прежде всего вам надо остановить сервис DHCP, а затем и отключить его на имеющемся сервере. Конечно это означает что DHCP будет недоступен и пользователи не смогут получить IP адреса пока служба не будет перенесена на новый сервер. После этого вы должны скопировать каталог \%systemroot%\system32\DHCP с исходного сервера в безопасное место, откуда вы его потом сможете скопировать на новый сервер. После этого удалите этот каталог с исходного сервера.

Теперь мы должны открыть редактор реестра (regedit). Помните, что неправильные действия в редакторе реестра могут привести к краху Windows, поэтому будьте осторожны и сделайте бекап. Выгрузите следующую ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DHCPServer\Configuration в файл и сохраните его там же где и ранее сохраненный каталог. Как сделаете это, можете удалять службу DHCP через Установку/Удаление компонентов Windows (Add / Remove Windows Components).

Восстановление данных на новом сервере

Прежде всего установите службу DHCP на новойм сервере, после этого остановите и отключите сервис DHCP. Теперь зайдите в каталог куда вы сохраняли файлы из \%systemroot%\system32\DHCP исходного сервера, найдите там файл system.mdb, если он присутствует, переименуйте его в system.src. Теперь можно скопировать все содержимое нашей архивного каталога в \%systemroot%\system32\DHCP на новом сервере.

Далее нам надо импортировать ветку реестра, которую мы выгружали на исходном сервере. На новом сервере открываем редактор реестра, переходим в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DHCPServer\Configuration и делаем импорт reg файла который у нас получился при экспорте. Теперь надо изменить тип запуска у сервиса DHCP на автоматический и перезагрузить новый сервер.

Перенос службы DHCP с сервера Windows Server 2000 на сервер Windows Server 2003

Внимание! Для переноса базы данных с сервера под управлением Windows 2000 или Windows NT 4.0 на сервер под управлением Windows Server 2003 необходима программа Dhcpexim.exe. Команды Netsh для DHCP недоступны в Windows NT 4.0.

Экспорт базы данных DHCP с сервера под управлением Windows NT Server 4.0 или Windows 2000

Импорт базы данных DHCP с сервера под управлением Windows NT Server 4.0 или Windows 2000 на Windows 2003

An error occurred. An attempt was made to load a program with a incorrect format.

В случае возникновения этой ошибки экспортируйте данные из Windows 2000 с помощью команды dhcpexim, а затем импортируйте эти данные в среду Windows Server 2003 с помощью команды netsh DHCP server import xyz.txt .

Перенос службы DHCP на базе Windows Server 2003

Сохрарение данных на исходном сервере

Примечание. Для экспорта данных необходимо иметь права локального администратора.

Восстановление данных на новом сервере

Примечание. Для импорта данных необходимо иметь права локального администратора.

Для решения этой проблемы добавьте компьютер с DHCP-сервером Windows Server 2003 в группу администраторов DHCP на уровне предприятия.

Примечание. Если команды DHCP IMPORT или EXPORT не работают у пользователей, входящих в группу локальных администраторов, требуется установить на компьютере под управлением Windows Server 2003 следующее исправление:

Перенос службы DHCP на базе Windows Server 2008

Как видите перенос службы DHCP на Windows Server 2003 достаточно трудоемкий процесс. Но в Windows Server 2008 этот процесс намного проще. Вам только лишь надо запустить консоль управления DHCP (DHCP Manager) на исходном сервере, нажать правой кнопкой мыши на имени сервера и выбрать Backup, как показано на рисунке ниже.

Как вы нажмете Backup, система у вас спросит путь, для сохранения архива. Укажите путь и нажмите ОК, для создания бекапа.

Перенос службы DHCP с сервера на базе Windows Server 2003 на сервер на базе Windows Server 2008

Перенос службы DHCP с использованием инструментов Backup и Restore между серверами с разными версиями системы, например Windows Server 2003 и Windows Server 2008, невозможен из-за смены формата базы.

Для миграции в таком случает рекомендуется использовать import/export утилиты netsh.

Вот так должна выглядеть эта процедура:

Сохрарение данных на исходном сервере Windows Server 2003

Примечание. Пока идет процедура экспорта DHCP сервис не отвечает на запросы пользователей о продлении аренды адреса и получении нового.

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

Восстановление данных на новом сервере Windows Server 2008

Импортируем базу DHCP

Авторизация сервера DHCP

Примечание. Необходимо войти на сервер с учетной записью члена группы «Администраторы». В домене Active Directory необходимо войти на сервер с учетной записью члена группы «Администраторы».

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

DHCP – это один пример из набора служб (можно также назвать Active Directory и WINS), которые используются в каждой системе Windows 2000, Windows NT, в смешанных сетевых средах - для обеспечения нормальной работы сетевых пользователей и приложений. Знание уязвимых мест DHCP и ясное представление о работе утилит восстановления и технике восстановления поможет быстро реанимировать DHCP в случае сбоя. Во многих ситуациях успешное восстановление зависит от профилактических мер.

DHCP: и во благо, и во вред

Начиная с NT 3.5, разработчики Microsoft ввели в систему новый протокол назначения IP-адресов, получивший название DHCP (Internet Engineering Task Force, IETF - описывает DHCP в RFC 1531). DHCP существенно облегчает процесс конфигурации TCP/IP на рабочих станциях. Кроме того, DHCP позволяет автоматически назначать клиентам IP-адреса и настраивать дополнительные свойства IP-стека клиента, например, шлюз по умолчанию, серверы DNS и WINS, тип узла WINS.

Несмотря на очевидные плюсы, здесь есть и свои сложности. Одна из проблем состоит в том, что DHCP не обеспечивает приемлемой отказоустойчивости. Реализация Microsoft DHCP такова, что в каждой подсети только один DHCP-сервер обслуживает клиентов данной подсети. Сетевые администраторы должны специально настраивать сетевые маршрутизаторы, чтобы запросы BOOTP или DHCP от одного клиента подсети поступали на DHCP-сервер другой подсети (IETF описывает пересылку BOOTP в RFC 1542). В этом сценарии сервер DHCP может ответить на удаленный запрос клиента DHCP, только если сервер настроен на обслуживание адресов удаленных клиентов.

Такой подход для большинства организаций неудобен, поскольку это означает, что каждый сервер должен хранить непересекающийся диапазон адресов для множества подсетей. Эти адреса фактически "простаивают", так как сервер зарезервировал их для удаленных клиентов. Для частных подсетей (маска подсети 10.x.x.x, 192.168.x.x или 172.16.x.x) эта ситуация не создает больших проблем, так как самих адресов много. И все-таки решение Microsoft не идеально, особенно это очевидно, когда используются маршрутизируемые IP-адреса, назначенные провайдером, ISP. У вас нет достаточного количества адресов для распространения по нескольким DHCP-серверам. Приходится создавать сложную сеть, содержащую большое число подсетей.

В процессе создания Windows 2000 разработчики Microsoft пообещали предоставить новые отказоустойчивые службы Windows 2000 DHCP. Однако компания обеспечила обещанную функциональность только для серверов DHCP в кластерной конфигурации, что требует значительно больших затрат на приобретение Windows 2000 Advanced Server или Windows 2000 Datacenter Server, а также кластерного оборудования. В результате в сетях Windows, в которых нет Windows 2000 Advanced Server или Windows 2000 Datacenter Server, каждая подсеть целиком зависит от работоспособности только одного сервера DHCP.

Восстановление служб DHCP

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

Для функционирующего сервера желательно привести в работоспособное состояние службы DHCP на оригинальном сервере, когда причина сбоя DHCP кроется в поврежденной базе данных. Эта база, файл dhcp.mdb, представляет собой Jet-базу, в которой хранится конфигурационная информация о диапазонах адресов и арендах активных клиентов. На серверах Windows 2000 и NT DHCP основные данные настроек базы дублируются в реестре в разделе LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \DHCPServer\Configuration.

Восстановление базы данных с надежной копии – самое простое решение, конечно, если такая копия создана недавно и доступна. По умолчанию, службы DHCP Windows 2000 и NT 4.0 автоматически создают резервную копию базы данных DHCP один раз в час в каталоге DHCP-сервера \%systemroot%\system32\dhcp\backup\jet\new. Для изменения частоты автоматического резервирования измените значение параметра BackupInterval в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\DHCPServer\Parameters с принятых по умолчанию 60 минут на нужное значение.

После того как копия базы данных для восстановления базы DHCP выбрана, можно приступать собственно к восстановлению поврежденной базы:

  1. остановите службу DHCP (Administrative Tools\Services в Windows 2000 или Services в Control Panel в NT 4.0). Или же выполните команду:
  1. для сохранения содержимого каталога базы данных DHCP создайте резервную копию этого каталога (\%systemroot%\system32\dhcp).
  2. воспользуйтесь программой DHCP Export Import (DhcpExim), чтобы импортировать копию базы данных DHCP, или скопируйте резервную копию dhcp.mdb из каталога \%systemroot%\system32\dhcp\backup\jet\new в основной каталог (\%systemroot%\system32\dhcp). Восстановить резервную копию также можно из альтернативного источника (с ленты или другого записывающего устройства, с сервера репликаций). Однако метод прямого копирования файлов используйте только в том случае, когда оба сервера работают под управлением одной и той же операционной системы. Подробнее об использовании программы DhcpExim читайте во врезке "DhcpExim в действии".
  3. служба DHCP остановлена, поэтому можно воспользоваться утилитой Jetpack для сжатия и верификации восстановленной базы данных. Откройте окно командной строки, перейдите в каталог \%systemroot%\system32\dhcp и наберите:

Подробнее об использовании программы Jetpack рассказано во врезке "Использование Jetpack для профилактического сжатия".

В статье Microsoft "How to Move a DHCP Database to Another Windows NT Server" рекомендуется использовать метод копирования файлов вместо программы DhcpExim при перемещении базы данных с NT 4.0 на Windows 2000. Не следует этому верить. Для обслуживания DHCP в случае разных платформ и задач миграции лучше всего использовать утилиту DhcpExim.

Восстановление методом регенерации

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

  1. остановите службу DHCP с помощью Administrative Tools\Services в Windows 2000 или Services в Control Panel в NT 4.0. Или с командной строки:
  1. переместите все файлы из каталога базы данных DHCP (\%systemroot%\system32\dhcp) в другое место - оригинальный каталог должен остаться пустым.
  2. перезапустите службу DHCP.

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

  1. запустите regedt32.exe и перейдите в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
    Services\DHCPServer\Configuration
  2. укажите раздел Configuration и выберите в меню Restore
  3. когда появится окошко с подсказкой «указать имя файла восстановления», укажите файл \%systemroot%\system32\dhcp\backup\dhcpcfg
  4. подтвердите начало операции восстановления раздела реестра, щелкнув Yes

После завершения регенерации базы данных DHCP в консоли Windows 2000 Microsoft Management Console (MMC) DHCP или NT 4.0 DHCP Manager диапазон адресов появится, но будут отсутствовать сведения об аренде адресов активными клиентами. Это связано с тем, что процедура проверяет аренду у клиентов, присутствующих в настоящее время в базе данных (а их нет!) на основе записей в реестре. Вам предстоит выполнить соответствующие действия для каждого диапазона адресов в DHCP.

Чтобы привести в соответствие аренду выбранного адресного диапазона для NT 4.0 DHCP Server, выберите нужный диапазон, затем в меню выберите Scope\Active Leases. В результирующем диалоговом окне щелкните Reconcile, затем OK. Для сервера Windows 2000 в левой части оснастки DHCP откройте контекстное меню для адресного диапазона и выберите Reconcile (см. Рисунок 1). Описанная процедура должна быть повторена для каждого адресного диапазона сервера.

Избегайте конфликтов

Независимо от того, какие именно процедуры используются для восстановления базы данных и служб DHCP, желательно включить функцию обнаружения конфликтов адресов IP, предоставляемых DHCP. Начиная с NT 4.0 Service Pack 2 (SP2) (а также для Windows 2000) в системе имеется такая функция. С помощью ping-теста выполняется верификация IP-адресов до того, как DHCP назначит клиенту очередной адрес. После процедуры восстановления сервер DHCP может оказаться в состоянии, когда выдаваемые адреса уже кем-то используются, поэтому очень полезно, чтобы к моменту начала работы восстановленного сервера DHCP названная функция была активизирована.

Чтобы проверить состояние функции обнаружения конфликтов для серверов Windows 2000 DHCP, откройте контекстное меню сервера в левой панели оснастки DHCP, выберите Properties и перейдите на вкладку Advanced. Присвойте параметру Conflict Detections Attempt любое целое значение больше нуля. Установленное число означает, сколько раз будет выполняться ping-тест, прежде чем клиенту будет выделен IP-адрес. Для NT DHCP выберите Properties в меню Server утилиты DHCP Manager. Параметр Conflict Detection Attempts устанавливается на вкладке General.

Подготовьтесь к сбоям DHCP

В дополнение к известным способам восстановления после сбоев в работе DHCP, можно заранее предпринять некоторые шаги для облегчения процедуры восстановления. Во-первых, периодически запускайте Jetpack для компрессии базы данных DHCP и проверки ее целостности. Во-вторых, регулярно используйте программу DhcpExim для получения экспортных файлов текущей конфигурации каждого из имеющихся серверов DHCP и храните эти файлы отдельно (не на тех же самых серверах). В-третьих, если это необходимо, отредактируйте реестр с целью увеличения частоты автоматически выполняемых процедур резервирования конфигурации DHCP. В-четвертых, рассмотрите возможность привлечения имеющихся в Windows 2000 и NT способов реплицирования данных или программных продуктов независимых разработчиков для реплицирования базы данных DHCP в другое место в сети. И, наконец, если работа выполняется в кластерной среде, изучите вопрос реализации DHCP как кластерной службы.

Перечисленные шаги, в дополнение к известным способам восстановления DHCP, позволят существенно упростить процесс восстановления в случае сбоя.

DhcpExim в действии

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

Чтобы выполнить экспорт конфигурации DHCP, запустите dhcpexim.exe и на первом шаге мастера выберите Export configuration of the local service to a file. Затем присвойте конфигурационному файлу имя и сохраните его. Наконец, выберите диапазон для экспорта (см. Рисунок А) и щелкните Export. Для импорта сохраненной конфигурации выберите Import configuration to the local service from a file и укажите файл, созданный на этапе экспорта.

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

Использование Jetpack для профилактического сжатия

В DHCP и WINS используется технология базы данных Microsoft Jet и, как большинство им подобных, размер файлов баз данных DHCP и WINS растет по мере добавления и удаления записей. Microsoft поставляет программный продукт Jetpack, инструмент для сжатия файлов баз данных (есть как для Windows 2000, так и для Windows NT). Очень рекомендуется регулярно использовать Jetpack как для базы данных DHCP (файл dhcp.mdb), так и для базы данных WINS (файл wins.mdb).

Формат команды Jetpack:

Например, чтобы сжать базу данных DHCP, сделайте каталог базы DHCP текущим и остановите службу DHCP. Затем в командной строке наберите

Если DHCP и WINS функционируют в кластерной среде, придется использовать иные процедуры для запуска Jetpack. Специалисты Microsoft посвятили этой проблеме отдельную статью "How to Use the Jetpack Utility on a Clustered WINS/DHCP Database".

Читайте также: