Данная статья описывает процедуру установки и настройки 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.
Configure at least one static IP address on your computer before installing DHCP. WARNING: The following recommended condition is not met for DHCP: No static IP addresses were found on this computer. If the IP address changes, clients might not be able to contact this server. Please configure a static IP address before installing DHCP Server.
Установить роль 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 сервера:
Add-DhcpServerSecurityGroup
Чтобы Server Manager перестал показывать уведомление о том, что DHCP роль требует настройки, выполните команду:
Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\ServerManager\Roles\12 -Name ConfigurationState -Value 2
Перезапустите службу DHCPServer:
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. Импортируйте модуль в сессию:
Import-Module DHCPServer
Вывести полный список командлетов в моделе DHCP можно так:
Get-Command -Module DHCPServer
Следующая команда выведет список авторизованных DHCP серверов в Active Directory:
Get-DhcpServerInDC
Вывести список DHCP областей на указанном сервере:
Get-DhcpServerv4Scope –ComputerName msk-dhcp1
Если нужно показать все параметры области (Delay, Description, Name и т.д.):
Get-DhcpServerv4Scope –ComputerName msk-dhcp1| FL *
Если нужно отобразить данные о IPv6 областях:
Get-DHCPServerv6Scope
Получить настройки для конкретной области:
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 файла. Для этого создайте текстовый файл в формате:
ScopeId,IPAddress,Name,ClientId,Description 10.10.1.0,10.10.1.88,Client1,ba-ab-5c-3d-4e-6f,Reservation PC-msk-s1 10.10.1.0,10.10.1.89,Client2,ba-ab-5c-5d-2e-3f,Reservation PC-msk-s2
Сохраните файл с именем
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\