Увеличение маски сети и пула адресов для области DHCP в Windows Server 2016

Increasing the netmask and address pool for a DHCP scope in Windows Server 2016По мере роста некоторых структурных подразделений, со временем, может возникать потребность в расширении пула динамической адресации, выдаваемой клиентским компьютерам с сервера DHCP. Например, изначально в DHCP Server на базе Windows Server 2016 для некоторой группы клиентов была выделена подсеть в 254 хоста с маской сети 255.255.255.0. Но со временем количество машин в этой подсети увеличилось и пула выдаваемых адресов стало не хватать. Было принято решение о расширении подсети до 510 хостов с маской 255.255.254.0.

Графическая консоль управления сервером DHCP (dhcpmgmt.msc) с легкостью позволяет нам, при необходимости, расширять пул адресов в рамках маски сети, которая была задана на этапе создания какой-либо области DHCP Scope. Однако, если в свойствах существующей работающей области мы попытаемся указать пул адресов, выходящий за рамки маски сети, то получим сообщение о недопустимости такой операции: "The specified range either overlaps an existing range or is not valid".

image

В документации MS для решения задачи расширения маски предлагается заново пересоздавать область DHCP : "Microsoft Learn : Increase the number of IP addresses on a subnet - Windows Server". Однако, такой вариант не очень интересен, так как в этом случае мы потеряем данные о текущей аренде адресов и нам повторно придётся настраивать специфичные для области параметры и необходимые резервирования.

Чтобы решить задачу расширения маски сети с наименьшими телодвижениями, воспользуемся возможностями экспорта/импорта областей DCHP с помощью PowerShell.

Создаём на DHCP сервере пару временных каталогов:

  • C:\Temp\DHCP-Export\
  • C:\Temp\DHCP-Backup\

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

Export-DhcpServer -ComputerName "NPS01" -Leases -File "C:\Temp\DHCP-Export\Scope.xml" -Verbose -ScopeId "10.3.8.0"

Export-DhcpServer in Windows PowerShell

При экспорте области будут сохранены данные об арендованных адресах, специфичные для области параметры и информация о настроенных резервированиях адресов.

После завершения экспорта, переходим в каталог \DHCP-Export\ и открываем на редактирование файл Scope.xml. Найдём в этом файле секцию описания области и внесём корректировки в параметры SubnetMask и EndRange, указав желаемые значения более широкой маски сети и большего конечного адреса пула выдаваемых адресов, соответственно.

Export DHCP Sope to XML file

Далее нам нужно удалить из консоли управления DHCP соответствующую область, а затем импортировать её из отредактированного файла Scope.xml.

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

Deconfigure DHCP Failover

 

Теперь удаляем область DHCP и закрываем графическую консоль.

Delete DHCP Sope

Следующим этапом, с помощью PowerShell, импортируем область из ранее отредактированного файла Scope.xml

Import-DhcpServer -ComputerName "NPS01" -File "C:\Temp\DHCP-Export\Scope.xml" -Verbose -ScopeId "10.3.8.0" -Lease -BackupPath "C:\Temp\DHCP-Backup"

image

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

Extend subnet mask in DHCP Scope on Windows Server 2016

Заключительным шагом можем восстановить репликацию области с включением в механизм DHCP Failover.

Если из расширенной области клиенты не берут новую адресацию, то можно попробовать выполнить перезапуск службы DHCP Server.

Всего комментариев: 2 Комментировать

  1. Алексея /

    А из за изменение маски устройства не отвалятся разве сами?

    1. Алексей Максимов / Автор записи

      В рассмотренном примере мы расширяем сеть. Ничего отваливаться не должно. Описанное использовалось на практике и проблем замечено не было.

Добавить комментарий