Міграція DHCP сервера на Windows Server 2012

Сьогодні поговоримо про такий актуальному питанні, викликаної переходом на нову версію серверної ОС від Microsoft, як міграція старого dhcp сервера на нову платформу Windows Server 2012.

Зазвичай у продуктивній службі DHCP налаштована безліч параметрів, в тому числі величезні списки dhcp резервацій для клієнтів (це всілякі принтера, Сендер, комп'ютери), тому про ручному перенесенні DHCP на новий Windows Server 2012 думати навіть не хочеться. На щастя існує можливість експорту / імпорту конфігурації DHCP сервера.

Нас цікавлять два сценарії перенесення DHCP зі старого сервера на Windows Server 2012:

1) Міграція DHCP сервера з Windows 2008/2008 R2

2) Міграція DHCP сервера з Windows 2003/2003 R2

Розберемо обидва ці сценарії більш детально.

Міграція DHCP сервера з Windows 2008 на Windows Server 2012

Припустимо, у нас є старий сервер з розгорнутою роллю DHCP, що працює під управлінням Windows Server 2008/2008 R2 (нехай його ім'я srv-dhcp2008) і новий сервер з Windows 2012 (srv-dhcp2012), на який планується здійснити перенесення служби DHCP з усіма настройками.

На новому сервері з Windows Server 2012 встановимо роль DHCP за допомогою команд Powershell:

Import-Module ServerManager
Add-WindowsFeature -IncludeManagementTools dhcp

Зверніть увагу на параметр «IncludeManagementTools«, Без якого роль DHCP буде встановлена, але без відповідної консолі управління.
Наступний крок - авторизація нового DHCP сервера в Active Directory. Цю операцію також виконаємо за допомогою Powershell:

Add-DhcpServerInDC -DnsName srv-dhcp2012.winitpro.ru -IPAddress 192.168.10.22

У Windows Server 2012 з'явилися спеціальні PowerShell командлети, що дозволяють здійснити імпорт / експорт будь-яких параметрів DHCP сервера. Відзначимо, що Microsoft максимально спростив всю процедуру, і нам необхідно буде виконати лише дві команди PowerShell: Export-DhcpServer і Import-Dhcpserver, які можуть працювати і в віддаленому режимі.

Отже, для експорту налаштувань DHCP сервера, всіх зон і резервацій з сервера під управління Windows Server 2008 / R2, в консолі powershell на новому сервері (srv-dhcp2012) виконайте наступну команду:

Export-DhcpServer -ComputerName srv-dhcp2008.winitpro.ru -File C: \ DHCP \ w2008dhcpconfig.xml -verbose

Конфігурація старого сервера експортується в XML форматі в файл w2008dhcpconfig.xml. Вимкніть службу DHCP на сервері srv-dhcp2008:

Stop-Service DHCPserver

Потім запускаємо команду імпорту:

Import-Dhcpserver -ComputerName srv-dhcp2012.winitpro.ru -File C: \ DHCP \ w2008dhcpconfig.xml -BackupPath C: \ DHCP \ backup \ -verbose

Переконався, що все dhcp зони, резервації і мігрувати на новий сервер.

Якщо потрібно імпортувати тільки частина dhcp-зон, команда імпорту буде виглядати так:

Import-Dhcpserver -ComputerName srv-dhcp2012.winitpro.ru -File C: \ DHCP \ w2008dhcpconfig.xml -BackupPath C: \ DHCP \ backup \ -verbose -ScopeId 10.1.1.0, 10.1.2.0

Перенесення DHCP з Windows Server 2003 на Windows 2012

На жаль, пряме перенесення налаштувань бази DHCP з Windows 2003 в Windows Server 2012 неможливий, тому Powershell-модуль експорту не сумісний зі старими версіями Windows Server, а команда netsh dhcp не підтримуються в Windows 2012 (функціонал netsh dhcp був перенесений в PoSh), так що в цьому випадку доведеться спочатку перенести базу DHCP на Windows 2008, а потім вже за допомогою Powershell мігрувати її в Windows Server 2012. Як мігрувати базу з Windows 2003 в Windows 2008 R2 описано нижче.

Перенесення бази DHCP з Windows Server 2003 в Windows 2008

Припустимо, у нас є DHCP сервер, що працює під управлінням ОС Microsoft Windows Server 2003. Експортуємо базу даних DHCP в бінарний файл командою:

netsh dhcp server export C: \ dhcp_conf2003.dat all

В результаті, в корені диска C: \ з'явиться бінарний файл dhcp_conf2003.dat, що містить всі настройки старого DHCP сервера. Для запобігання dhcp конфліктів в мережі, зупинимо службу DHCP на старому сервері:

net stop "dhcp server"

Потім зайдемо на сервер з Windows Server 2008 (на якому попередньо розгорнуться роль DHCP сервера, авторизована в домені) і імпортуємо конфігурацію зі старого сервера:

netsh dhcp server import \\ win2003dhcp \ c $ \ dhcp_conf2003.dat all

Після цього потрібно перезапустити службу DHCP на новому сервері з Windows 2008:

restart-service dhcp