Установка и настройка DHCP сервера на Windows Server 2019/2016
13.10.2022
itpro
PowerShell, Windows Server 2016, Windows Server 2019
комментариев 20
Данная статья описывает процедуру установки и настройки DHCP сервера на базе Windows Server 2019. В статье описаны особенности установки и настройки DHCP роли, создания областей DHCP, настройки их параметров и резервации статических адресов. Мы рассмотрим как привычный способ настройки параметров DHCP сервера через графическую консоль, так и настройку DHCP из командной строки PowerShell.
Установка роли DHCP сервера в Windows Server 2019/2016
В этом примере мы установим DHCP сервер на хосте с Windows Server 2019 и IP адресом 192.168.13.4. Вы можете использовать как Server Core версию, так и Full GUI. В маленькой инфраструктуре допустимо устанавливать DHCP сервер на сервер с ролью контроллера домена Active Directory.
Установить роль DHCP Server можно из консоли Server Manager (Add Roles and Features -> Server Roles).

После установки роли DHCP роли нужно выполнить Post-Deployment Configuration. Для этого в консоли Server Manager щелкните по уведомлению и выберите Complete DHCP configuration.

Вам будет предложено аутентифицировать новый DHCP сервер в Active Directory (экран Authorization). Для авторизации DHCP сервера в AD учетная запись должна состоять в доменной группе Enterprise Admins.
Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Services\DHCPServer\Parameters» -Name DisableRogueDetection -Value 1 -Force

Также вы можете установить и настроить DHCP роль в Windows Server из консоли PowerShell.
Установка роли DHCP:
Install-WindowsFeature DHCP –IncludeManagementTools
Проверьте, что роль и инструменты управления RSAT-DHCP установлены:
Get-WindowsFeature -Name *DHCP*| Where Installed

Авторизуйте DHCP сервер в Active Directory (укажите DNS имя сервера и IP адрес, который будет использоваться DHCP клиентами):
Add-DhcpServerInDC -DnsName hq-dc01.contoso.com -IPAddress 192.168.13.4
Создайте локальные группы безопасности DHCP сервера:
Чтобы Server Manager перестал показывать уведомление о том, что DHCP роль требует настройки, выполните команду:
Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\ServerManager\Roles\12 -Name ConfigurationState -Value 2
Restart-Service -Name DHCPServer -Force
База данных и логи DHCP сервера находятся в каталоге %systemroot%\system32\dhcp .
- dhcp.mdb — файл базы данных сервера DHCP’;
- j50.log – транзакционный журнал (используется при восстановлении конфигурации DHCP);
- j50.chk — файл контрольной точки;
- tmp.edb — временный рабочий файл DHCP-сервера.
Настройка DHCP областей в Windows Server
После установки роли DHCP вам нужно создать DHCP области (Scopes), которые описывают диапазоны IP адресов и другие настройки, выдающиеся сервером клиентам.
Для управления сервером DHCP используется консоль dhcpmgmt.msc (вы можете управлять DHCP сервером локально или с удаленного компьютера с установленным RSAT). Запустите консоль DHCP, разверните ваш сервер -> IPv4.
Чтобы создать новую область выберите New Scope.

Укажите название DHCP области.

Укажите диапазон IP адресов, который будет выдаваться этой областью и маску сети. В этом примере я хочу использовать эту DHCP область для обслуживания подсети 192.168.100.0/24. В рамках этой сети DHCP сервером будет назначаться динамические IP адреса из диапазона 192.168.100.50 — 192.168.100.250. В следующем окне можно добавить исключения в этот диапазон (Add Exclusions and Delay).

Далее нужно указать длительность аренды (Lease Duration) IP адреса DHCP клиентом (по умолчанию 8 дней, менять без особой необходимости не нужно).

Укажите, что вы хотите настроить дополнительный параметры DHCP области.

.
Укажите IP адрес шлюза в подсети, который должен назначаться клиентам (в нашем примере это 192.168.100.1).

Затем укажите имя домена и адреса DNS серверов, которые будут назначены клиентам DHCP.

Осталось активировать DHCP область (разрешить ей обслуживать клиентов).

DHCP сервер может выдавать клиентам различный настройки (кроме IP адреса). Для этого используются Scope Options.
В Windows Server DHCP можно настроить глобальные настройки области или Scope Options для каждой области.

Ранее мы уже настроили три опции области:
- 003 Router
- 006 DNS Server
- 015 DNS Domain Name
Можно добавить и другие опции (NTP сервера, PXE и т.д.).
В разделе Server Options DHCP сервера можно настроить глобальные опции, которые будут наследуются всеми областями. Но вы можете переопределить глобальные настройки в настройках каждой области (опции области имеют приоритет над опциями сервера).

Один DHCP сервер может обслуживать сотни удаленных подсетей и VLAN. Поэтому вы можете создать на нем несколько областей. Главное, чтобы в каждой из подсетей был настроен ретранслятор (DHCP relay agent), который пересылает широковещательные DHCP-запросы на указанный DHCP сервер. В терминах Cisco DHCP ретранслятор называется ip helper. Вы можете настроить DHCP Relay даже на Windows Server.
Резервация IP адресов на DHCP сервере
По умолчанию DCHP сервер выдает клиентам динамические адреса. Это означает что IP адрес у любого клиента может меняться. Если вы хотите, чтобы определенные устройства всегда получали от DHCP сервера один и тот же адрес, вы можете его зарезервировать (например, для сетевых принтеров, которые настроены у пользователей).
Для DHCP резервации выберите область и перейдите в секции Reservation. В меню выберите New Reservation.

При создании резервации нужно указать IP адрес, который нужно сохранить за клиентом и его MAC адрес (уникальное значение). MAC адрес в Windows можно получить из результатов команды ipconfig /all или с помощью PowerShell get-netadapter|select name,macaddress ). Опционально можно указать имя и описание устройства.

Также вы можете зарезервировать текущий динамический адрес за устройством, найдя его в разделе Address Leases. Щелкните по устройству и выберите Add to Reservation.

Настройка и управление DHCP сервером с помощью PowerShell
Все операции по настройке и управлению DHCP сервером на Windows Server 2019/2016 можно выполнять из консоли PowerShell. Рассмотрим основные команды управления DHCP. Для этого используется модуль DHCPServer. Импортируйте модуль в сессию:
Вывести полный список командлетов в моделе DHCP можно так:
Get-Command -Module DHCPServer

Следующая команда выведет список авторизованных DHCP серверов в Active Directory:

Вывести список DHCP областей на указанном сервере:
Get-DhcpServerv4Scope –ComputerName msk-dhcp1
Если нужно показать все параметры области (Delay, Description, Name и т.д.):
Get-DhcpServerv4Scope –ComputerName msk-dhcp1| FL *

Если нужно отобразить данные о IPv6 областях:
Получить настройки для конкретной области:
Get-DhcpServerv4Scope –ComputerName msk-dhcp1 –ScopeID 10.10.1.0
Создадим новую (неактивную) область с диапазоном адресов с 192.168.113.50 до 192.168.113.250:
Add-DhcpServerv4Scope -Name “Brahch1 192.168.113.0” -StartRange 192.168.113.50 -EndRange 192.168.113.250 -SubnetMask 255.255.255.0 -State InActive
Настроить следующие параметры DHCP сервера: DNS сервер, домен и адрес шлюза по-умолчанию:
Set-DhcpServerv4OptionValue -ScopeID 192.168.113.0 -DnsDomain contoso.com -DnsServer 192.168.13.4 -Router 192.168.113.1
Добавить исключения в DHCP область:
Add-DhcpServerv4ExclusionRange -ScopeID 192.168.113.0 -StartRange 192.168.113.90 -EndRange 192.168.113.100
Активировать DHCP область:
Set-DhcpServerv4Scope -ScopeID 192.168.113.0 -State Active

Для удобства можно использовать такую команду PowerShell при создании новой области:
$HashArgs = @<
‘Name’ = ‘EKB Office Scope’;
‘Description’ = ‘workstations’;
‘StartRange’ = ‘192.168.140.10’;
‘EndRange’ = ‘192.168.140.200’;
‘SubnetMask’ = ‘255.255.255.0’;
‘State’ = ‘Active’;
‘LeaseDuration’ = ‘1.00:00:00’;
>
Add-DhcpServerv4Scope @HashArgs
Опции для DHCP сервера добавляется так (к примеру, WPAD):
Add-DhcpServerv4OptionDefinition -ComputerName msk-dhcp1 -Name WPAD -OptionId 252 -Type String
Вывести список настроенных опций DHCP сервера можно так:
Get-DHCPServerv4OptionValue -ComputerName msk-dhcp1 | Format-List
Выведем список настроенных параметров зоны:
Get-DHCPServerv4OptionValue -ComputerName msk-dhcp1 -ScopeId 10.10.1.0 | Format-List
Показать текущий список арендованных адресов для области 10.10.1.0:
Get-DHCPServerv4Lease -ScopeId 10.10.1.0 -ComputerName msk-dhcp1

Создать DHCP резервацию для клиента, которому назначен динамический IP адрес 10.10.1.88 (конвертировать выданный адрес в зарезервированный):
Get-DhcpServerv4Lease -ComputerName msk-dhcp1 -IPAddress 10.10.1.88| Add-DhcpServerv4Reservation -ComputerName msk-dhcp1
Можно массово зарезервировать IP адреса для компьютеров по списку из csv файла. Для этого создайте текстовый файл в формате:
Сохраните файл с именем c:\dhcp\DHCPReservations.csv и запустите следующую команду, которая импортирует данные из csv файла и создаст DHCP резервации для клиентов:
Import-Csv –Path c:\dhcp\DHCPReservations.csv | Add-DhcpServerv4Reservation -ComputerName msk-dhcp1
Отключить область на DHCP сервере:
Set-DhcpServerv4Scope -ComputerName msk-dhcp1-ScopeId 10.10.1.0-State InActive
Удалить область с DHCP сервера:
Remove-DHCPServerv4Scope -ComputerName msk-dhcp1-ScopeId 10.10.1.0 -Force
Возможно получить статистику DHCP сервера (количество областей, резерваций, процент использования адресов и пр.).
Get-DhcpServerv4Statistics -ComputerName msk-dhcp1

Аналогичная информация для конкретной области может быть получена с помощью командлета Get-DhcpServerv4ScopeStatistics.
Конфигурацию DHCP сервера можно экспортировать в указанный XML файл с помощью команды:
Export-DHCPServer -ComputerName msk-dhcp1 -File C:\dhcp\dhcp-export.xml
В дальнейшем эти настройки DHCP сервера можно импортировать (перенести) на другой DHCP сервер:
Import-DHCPServer -ComputerName msk-dhcp2 -File C:\dhcp\dhcp-export.xml -BackupPath C:\dhcpbackup\
Предыдущая статья Следующая статья
[edit] Введение
Статический DHCP (или резервирование DHCP, англ. Static DHCP, DHCP reservation) — это полезная функция, которая позволяет DHCP-серверу на маршрутизаторе всегда назначать один и тот же IP-адрес определенному компьютеру в локальной сети. DHCP-сервер назначает статический IP-адрес в зависимости от уникального MAC-адреса сетевого интерфейса компьютера. Компьютер запускается и запрашивает свой IP-адрес с DHCP-сервера маршрутизатора. DHCP-сервер распознает MAC-адрес сетевой карты компьютера и назначает ему статический IP-адрес. (Отметим также, что в настоящее время каждый зарезервированный IP-адрес должен быть уникальным. Поэтому, например, нельзя зарезервировать один и тот же IP-адрес как для проводного, так и для беспроводного интерфейсов устройства, даже если устройство может быть настроено так, чтобы одновременно был активен только один интерфейс.)
Статический DHCP понадобится, если нужно, чтобы интерфейс всегда имел одинаковый IP-адрес. Иногда это требуется для определенных программ. Полезно, если нужно, чтобы другие люди в локальной сети знали IP-адрес определенного компьютера (например, с общими файлами) и получали к нему доступ по этому адресу. В сочетании с переадресацией портов должно использоваться и резервирование DHCP. Если вы перенаправляете внешний порт со стороны глобавльной сети WAN на порт на сервере внутри локальной сети, вы должны присвоить этому серверу статический IP-адрес.
[edit] Конфигурация
- Войдите в веб-интерфейс DD-WRT.
- Перейти на вкладку Administration → Services.
- DHCP-сервер в группе параметров DHCP Server должен быть включен.
- Если в разделе списке статической аренды «Static Leases» нет пустых строк, нажмите Add.
- Введите MAC-адрес сетевого интерфейса, доменное имя и IP-адрес для компьютера, которому хотите назначить статический IP-адрес. Обратите внимание, что нельзя зарезервировать один и тот же IP-адрес для двух разных MAC-адресов (например, как проводного, так и беспроводного интерфейсов компьютера).
- Сохраните изменения.
Примечание. Вы должны либо сохранять (кнопка Save), либо применять (кнопка Apply) настройки каждый раз, когда добавляете и заполняете строку с новым статическим адресом. При нажатии на кнопку Add страница обновляется без сохранения введенных ранее данных. Если вы попытаетесь добавить несколько пустых строк и заполнить их все сразу, то столкнетесь с ошибкой, из-за которой веб-интерфейс посчитает их дубликатами и не позволит сохранить.

Примечание. Пустой срок аренды в поле Client Lease Time означает бесконечный срок аренды (никогда не истекает). Задание определенного значения продолжительности аренды позволит позже изменить статическую информацию об аренде, и компьютер автоматически получит новую информацию без необходимости вручную обновлять состояние аренды на компьютере.
[edit] Параметры DHCP
Система DHCP назначает IP-адреса вашим локальным устройствам. Её основные настройки находятся в разделе веб-интерфейса Setup → Basic Setup. А в разделе Administration → Services можно задать несколько специальных параметров:
DHCP Daemon: отключение этого параметра отключит DHCP-сервер на маршрутизаторе независимо от настроек в разделе Setup.
Used domain: здесь можно выбрать, какой имя домена клиенты DHCP должны получать в качестве локального домена. Это может быть домен WAN, заданный в разделе Setup, или домен LAN, который можно установить здесь.
LAN Domain: здесь можно указать локальный домен для DNSmasq и службы DHCP, если выбран выше.
Static Leases: присвойте определенным компьютерам статические адреса здесь. Это также способ добавить компьютер в службу DNS маршрутизатора (DNSmasq).
Примечание. Не обязательно, но рекомендуется выбирать статические адреса за пределами диапазона, автоматически присваемого DHCP. По умолчанию это диапазон 192.168.1.100-192.168.1.149, и его можно настроить в разделе Setup → Basic Setup → Network Address Server Settings (DHCP).
[edit] Пример
Чтобы назначить IP-адрес 192.168.1.12 и доменное имя «mypc» компьютеру с сетевой картой, имеющей MAC-адрес 00:AE:0D:FF:BE:56, нажмите Add и введите 00:AE:0D:FF:BE:56 в поле MAC Address, mypc в поле Host Name и 192.168.1.12 в поле IP Address.
Помните: если вы нажмете кнопку ‘Add’ перед сохранением введенных записей, они будут удалены. Это нормальное поведение.
[edit] Добавление статического адреса из командной строки
Если адресов больше двух, просто продолжайте добавлять их в переменную static_leases разделяя пробелами.
Не забывайте двойные кавычки, если в значении переменной есть пробелы (если указываете более одного адреса).
Пользователь redhawk пишет:
ПРИМЕЧАНИЕ. Начиная со сборки 13832, формат команды был изменен на следующий:
Отредактировано для работы с ревизией 21676 (автор Jackykoning). Текущая сборка требует переноса строки между адресами, вместо пробела:
Обратите внимание на знак «=» в конце каждого адреса. Если вы хотите установить время аренды, то после последнего знака «=» укажите число — время в минутах (1440 = 24 часа). В противном случае пусто место после знака «=» означает бессрочную аренду.
Если вы успешно задали пару записей, но не можете установить множество записей, возможно, вы столкнулись с ограничением длины строки для этого метода и конкретной версии прошивки. Обходным путем будет подключение по SSH или Telnet к маршрутизатору и ввод команд там. Если вы по-прежнему сталкиваетесь с проблемой ограничения длины, можно использовать текстовый редактор vi (или другой), чтобы ввести команды в файл сценария и запустить его. Вот что я сохранил в файл и успешно запустил (в моём случае были нужны одинарные кавычки вместо двойных):
Затем я запустил сценарий (который называется myiplist.sh) примерно так:
Также рассмотрите такие инструменты, как «nvram show | grep static» и «nvram commit».
[edit] Устранение неполадок
Если вы не можете проверить связь комадной ping по доменному имени компьютера, добавьте точку в конец команды. Т.е. вместо «ping server» попробуйте «ping server.».
Если статические адреса заданы, но компьютеры продолжают получать обычный IP-адрес DHCP, попробуйте перейти на страницу Setup веб-интерфейса. Нажмите Save и затем Apply settings. DHCP-сервер должен перезапуститься, и ненадолго возможна потеря соединения. Попробуйте обновить аренду DHCP, и в этот момент вы получите правильный IP-адрес.
Настройка резервирования DHCP
Резервирование DHCP (DHCP Reservation) — это функция, которая позволяет закреплять IP-адрес за определённым MAC-адресом. Проще говоря, с помощью резервирования DHCP можно создавать пары «IP-адрес — MAC-адрес», чтобы нужным устройствам при каждом подключении к сети выдавался один и тот же заданный IP, а не разные.
Для чего пользоваться резервированием DHCP
Функция полезна для того, чтобы упорядочить компьютеры в сети. Например, чтобы разнести адреса офисных компьютеров и устройств посетителей по разным диапазонам.
Как пример, можно настроить пул DHCP на диапазон 192.168.1.30-192.168.1.50, а резервирование настроить на адреса от 192.168.1.10 до 192.168.1.20. Таким образом, мы будем легко различать, к какой из групп принадлежит IP-адрес, и сможем применять разные политики к этим двум группам адресов.
Также, резервирование просто незаменимо для таких устройств, как сетевые принтеры, потому что доступ к ним настраивается на компьютерах через IP-адреса.
Как настроить резервирование DHCP
Настройка резервирования в устройствах D-Link
На примере D-Link DIR-300.
Войдите в раздел SETUP. Выберите подраздел LAN Setup:

В области DHCP RESERVATION заполните поля Computer Name, IP Address и MAC Address (можно вставлять автоматически из существующих клиентов DHCP из списка с помощью кнопки << ) :

И сохраните настройки.
На примере D-Link DIR-615:
Зайдите в раздел SETUP. Нажмите на ссылку NETWORK SETTINGS :

В области ADD DHCP RESERVATION установите галку Enable, а также, заполните поля Computer Name, IP Address и MAC Address. Нажмите кнопку Save :

Настройка резервирования в устройствах TP-Link
На примере TP-Link TL-WR941ND
Зайдите в раздел DHCP, выберите подраздел -Address Reservation, с помощью кнопки Add New… добавьте строку, содержащую имя компьютера, IP-адрес и MAC-адрес :
Резервирование DHCP-адресов в Windows Server

Протокол DHCP позволяет назначать постоянные адреса клиентам несколькими способами. В частности, с помощью переключателя Без ограничений (Unlimited) в диалоговом окне свойств области можно назначить постоянный адрес всем клиентам, использующим данную область. Кроме того, можно зарезервировать DHCP-адрес для конкретного клиента. В результате резервирования сервер DHCP всегда назначает клиенту один и тот же ІР-адрес, сохраняя возможность централизованного управления, в чем и состоит преимущество DHCP.
Чтобы зарезервировать ІР-адрес для клиента, выполните следующие действия:
1. В консоли DHCP разверните нужную область и щелкните правой кнопкой папку Резервирование (Reservations). В контекстном меню выберите команду Создать резервирование (New Reservation).
2. В поле Имя клиента (Reservation Name) введите короткое, но понятное имя резервирования. Это поле служит только для идентификации.
3. В поле ІР-адрес (IP Address) введите IPv4-адрес, который хотите зарезервировать для клиента.
4. Поле МАС-адрес (MAC Address) содержит аппаратный адрес сетевого адаптера клиентского компьютера. Чтобы узнать МАС-адрес, введите команду ipconfig/all в командной строке клиентского компьютера. В пункте Физический адрес (Physical Address) содержится МАС-адрес клиента. Вы должны ввести это значение без ошибок, иначе резервирование не будет работать.
5. В поле Описание (Description) введите комментарий, если сочтете нужным.
6. По умолчанию поддерживаются как DHCP-клиенты, так и ВООТР-клиенты. Это очень удобно, а отказываться от этой возможности следует, только если вы хотите исключить клиентов определенного типа.
7. Щелкните Добавить (Add), чтобы создать резервирование. Повторите этот шаг, чтобы добавить другие резервирования.
8. Завершив настройку, щелкните Закрыть (Close).
Чтобы зарезервировать IPv6-адрес для клиента, выполните следующие действия:
1. В консоли DHCP разверните нужную область и щелкните правой кнопкой папку Резервирование (Reservations). В контекстном меню выберите Создать резервирование (New Reservation).
2. В поле Имя клиента (Reservation) введите короткое, но понятное имя. Это поле служит только для идентификации.
3. В поле IPv6-адрес (IPv6 Address) введите IPv6-адрес, который хотите закрепить за клиентом.
4. В поле уникального идентификатора устройства DUID (Device Unique Identifier) нужно ввести МАС-адрес сетевого адаптера клиентского компьютера. Чтобы узнать МАС-адрес, введите команду ipconfig /all в командной строк клиентского компьютера. В пункте Физический адрес (Physical Address) содержится МАС-адрес клиента. Вы должны ввести это значение без ошибок, иначе резервирование не будет работать.
5. Идентификатор IAID устанавливает уникальный префикс идентификатора клиента. Как правило, это значение состоит из 9 цифр.
6. В поле Описание (Description) введите комментарий, если сочтете нужным.
7. Щелкните Добавить (Add), чтобы создать резервирование. Повторите этот шаг, чтобы добавить другие резервирования.
8. Завершив настройку, щелкните Закрыть (Close).
Освобождение адресов и аренды
Работая с зарезервированными адресами, помните о двух нюансах:
• Зарезервированные адреса не переназначаются автоматически. Чтобы передать используемый адрес другому клиенту, адрес придется освободить. Чтобы освободить адрес, аннулируйте аренду или введите на клиентском компьютере команду ipconfig /release.
• Клиенты не переходят на зарезервированные адреса автоматически. Если клиент уже использует другой ІР-адрес, вам нужно заставить его освободить текущую аренду и запросить новую. Чтобы освободить адрес, аннулируйте аренду или введите на клиентском компьютере команду ipconfig /release.