По долгу своей службы иногда приходится устанавливать и настраивать сервера на базе Windows Server 2012 R2 в небольших организациях, где как правило не более 50 рабочих ПК, а основная роль сервера на базе Windows Server 2012 R2 — это AD, FS, DHCP, DNS. Именно поэтому в большинстве случаев я провожу типовую первоначальную настройку сервера с помощью PowerShell, а не GUI, т.к. с PowerShell — это в разы быстрее.
Ниже в статье я опишу как с помощью PowerShell без GUI:
1. Настроить часовой пояс и параметры сети для нового сервера.
2. Включить RDP, установить имя сервера.
3. Развернуть контроллер домена Active Directory.
4. Настроить службы DNS и DHCP.
Исходные данные:
ОС: Windows Server 2012 R2
Подсеть нашей организации: 192.168.100.0/24
IP-адрес первого контроллера домена: 192.168.100.2
IP-адрес шлюза в Интернет: 192.168.100.1
Имя первого контроллера домена: DC1
Имя домена: corp.myorg.ru
Netbios имя домена: DC
FQDN первого контроллера домена: DC1.corp.myorg.ru
DHCP-сервер, диапазон выдаваемых адресов: 192.168.100.10 — 192.168.100.254
Пароль Администратор: P@ssw0rd
Итак приступим:
1. Устанавливаем Windows Server 2012R2 с графическим интерфейсом.
2. Настраиваем часовой пояс на Ekaterinburg Standard Time:
%windir%\system32\tzutil.exe /s "Ekaterinburg Standard Time"
2. После установки первым делом меняем IP-адрес на сетевой карте, можно через GUI, а можно из командной строки cmd так:
2.1 Смотрим имя интерфейса:
netsh interface ip show config
или
ipconfig
2.2 Меняем IP-адрес:
netsh interface ipv4 set address name=Ethernet source=static address=192.168.100.2/24 gateway=192.168.100.1 store=persistent netsh dns set dnsservers name=Ethernet source=static address=127.0.0.1 netsh interface ip delete arpcache
здесь указаны:
name=Ethernet — имя сетевого интерфейса на сервере, его мы узнали в пункте 2.1
192.168.100.2 — IP-адрес нашего сервера
255.255.255.0 — маска подсети нашего сервера
192.168.100.1 — шлюз по-умолчанию в сети, у меня 192.168.100.1 это linux сервер с прозрачным прокси squid, у вас это может быть отдельный роутер
ВНИМАНИЕ! В процессе установки IP-адреса DNS сервера у нас будет выдано предупреждение:
Заданный DNS-сервер работает некорректно или не существует.
Это вполне логично, ведь мы задали в качестве DNS адрес 127.0.0.1, а самого DNS-сервера там еще нет, но он появиться после развертывания Active Directory.
2.3 Если Вы не планируете использовать в своей сети IPv6, то я настоятельно рекомендую его отключить.
В отличие от других протоколов, IPv6 нельзя отключить просто убрав галку в свойствах сетевого интерфейса.
Если поступить таким образом, то можно получить определенные проблемы с приложениями, которые используют loopback и интерфейсное туннелирование. Правильным способом отключения протокола IPv6 является его деактивация через системный реестр или с помощью MicrosoftEasyFix.
Мы скачаем MicrosoftEasyFix с сайта Microsoft.
Качаем файл «Отключение IPv6» (MicrosoftEasyFix20160.mini.diagcab) и запускаем на сервере.
Для любителей сделать все вручную через реестр, для отключения IPv6 в раздел реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters
создаем параметр DWORD (32-бита) с именем DisabledComponents и значением FF в шестнадцатеричной
системе (255 в десятичной) и перезагружаем сервер shutdown /r /t 00
или
Запускаем PowerShell от имени Администратора и вводим:
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\services\TCPIP6\Parameters' -name "DisabledComponents" -Value 255; Restart-Computer -Force
2.3 Включаем RDP, т.к. по умолчанию он выключен на сервере.
Запускаем PowerShell от имени Администратора и вводим:
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -name "fDenyTSConnections" -Value 0; Enable-NetFirewallRule -DisplayGroup "Дистанционное управление рабочим столом"; Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "UserAuthentication" -Value 1;
3. Задаем имя нашего будущего контроллера домена.
Запускаем PowerShell от имени Администратора и вводим:
Rename-Computer -NewName DC1 -Restart -Force
4. Развертываем Active Directory.
Традиционно для автоматической установки контроллера домена средствами командной строки использовалась команда Dcpromo, но в WindowsServer 2012 она признана устаревшей и рекомендуется использовать PowerShell, что мы и сделаем.
Как бы это выглядело через dcpromo:
Dcpromo /unattend /InstallDNS:Yes /dnsOnNetwork:No /ReplicaOrNewDomain:Domain /NewDomain:Forest /NewDomainDNSName:corp.myorg.ru /DomainNetBiosName:DC /DatabasePath:"C:\Windows\NTDS" /LogPath:"C:\Windows\NTDS" /SysvolPath:"C:\Windows\SYSVOL" /safeModeAdminPassword:P@ssw0rd /ForestLevel:4 /DomainLevel:4 /RebootOnCompletion:Yes
Но нас интересует PowerShell, поэтому открываем консоль PowerShell от имени Администратор и выполняем пункты 4.1 и 4.2
4.1 Для установки роли доменных служб введем команду:
Import-Module ServerManager Add-WindowsFeature –Name AD-Domain-Services –IncludeAllSubFeature –IncludeManagementTools
Параметр –IncludeAllSubFeature задает установку всех зависимых служб и компонентов вместе с родительской ролью, службой роли или компонентом, заданным параметром -Name
Параметр –IncludeManagementTools задает установку средств администрирования и управления.
На заметку: Средства Администрирования можно установить и отдельно командой:
Add-WindowsFeature –Name RSAT-ADDS,RSAT-ADDS-Tools,RSAT-AD-AdminCenter
4.2 Для создания нового домена в новом лесу введите команду:
Import-Module ADDSDeployment Install-ADDSForest -CreateDnsDelegation:$false -DatabasePath "C:\Windows\NTDS" -DomainMode "Win2012" -DomainName "corp.myorg.ru" -DomainNetbiosName "DC" -ForestMode "Win2012" -InstallDns:$true -LogPath "C:\Windows\NTDS" -NoRebootOnCompletion:$false -SysvolPath "C:\Windows\SYSVOL" -Force:$true -SafeModeAdministratorPassword (convertto-securestring "P@ssw0rd" -asplaintext -force)
После установки сервер будет автоматически перезагружен.
В модуле ADDSDeployment есть еще несколько полезных командлетов, перечислю их:
Add-ADDSReadOnlyDomainControllerAccount — Установка контроллера только для чтения
Install-ADDSDomain — Установить первый контроллер домена в дочернем или дереве домена
Install-ADDSDomainController — Установить дополнительный контроллер домена
Install-ADDSForest — Установить первый контроллер в новом лесу
Test-ADDSDomainControllerInstallation Verify — необходимые условия для установки дополнительного контроллера домена (проверка)
Test-ADDSDomainControllerUninstallation — удаление сервиса AD c сервера (проверка)
Test-ADDSDomainInstallation — Проверка необходимых условий для установки первого контроллера домена в дочернем или дереве домена.
Test-ADDSForestInstallation Установка первого контроллера в новом лесу (проверка)
Test-ADDSReadOnlyDomainControllerAccountCreation — Проверка необходимых условий для установки контроллера только для чтения
Uninstall-ADDSDomainController — Удаление контроллера домена с сервера
5. Приступить к дальнейшей настройке сервера, и первое, что нам нужно сделать — это создать обратную зону (reverse lookup zone) для нашей подсети 192.168.100.0/24 и добавить в неё PTR запись dc1.corp.myorg.ru с IP-адресом 192.168.100.2
Тут возможно 2 подхода: создать обратную зону из оболочки cmd с помощью dnscmd или на PowerShell.
5.1 Вариант с cmd
Запускаем командную строку cmd от имени Администратора и вводим:
dnscmd DC1 /zoneadd 100.168.192.in-addr.arpa /DSprimary dnscmd DC1 /config 100.168.192.in-addr.arpa /allowupdate 1 dnscmd DC1 /recordadd 100.168.192.in-addr.arpa 2 PTR dc1.corp.myorg.ru
5.2 Вариант с PowerShell
Запускаем PowerShell от имени Администратора и вводим:
Add-DnsServerPrimaryZone -DynamicUpdate NonsecureAndSecure -NetworkId '192.168.100.0/24' -ReplicationScope Domain Add-DnsServerResourceRecordPtr -Name "2" -ZoneName "100.168.192.in-addr.arpa" -AgeRecord -PtrDomainName "$env:COMPUTERNAME.corp.myorg.ru"
Теперь если мы сделаем: nslookup 192.168.100.2 то у нас произойдет нормальное обратное преобразование.
6. Теперь нам необходимо установить и настроить DHCP-сервер:
Запускаем PowerShell от имени Администратора и вводим:
Import-Module ServerManager Add-WindowsFeature –Name DHCP –IncludeManagementTools
Добавим на сервер группы Пользователи DHCP и Администраторы DHCP:
Add-DHCPServerSecurityGroup -ComputerName $env:COMPUTERNAME Restart-Service dhcpserver
Авторизируем наш новый DHCP сервера в домене Active Directory:
Add-DhcpServerInDC -DnsName $env:COMPUTERNAME -IPAddress 192.168.100.2
Зарегистрируем сервер DHCP для обновления зон в DNS:
$User = "$env:USERDOMAIN\$env:USERNAME" $PWord = ConvertTo-SecureString -String "P@ssw0rd" -AsPlainText -Force $Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $PWord Set-DHCPServerDnsCredential -ComputerName $env:COMPUTERNAME -Credential $Credential
Теперь выведем список авторизованных DHCP серверов в Active Directory:
Get-DhcpServerInDC
Добавляем область и диапазон выдаваемых адресов для неё:
Add-DHCPServerv4Scope -Name Office -StartRange 192.168.100.10 -EndRange 192.168.100.254 -SubnetMask 255.255.255.0 -State Active
Устанавливаем параметры DHCP-сервера:
Set-DHCPServerv4OptionValue -ComputerName $env:COMPUTERNAME -DnsServer 192.168.100.2 -DnsDomain corp.myorg.ru -Router 192.168.100.1
Посмотрим результат конфигурации:
Get-DHCPServerv4OptionValue -ComputerName $env:COMPUTERNAME | Format-List
Установим параметры для области 192.168.100.0:
Set-DHCPServerv4OptionValue -ComputerName $env:COMPUTERNAME -ScopeId 192.168.100.0 -DnsServer 192.168.100.2 -DnsDomain corp.myorg.ru -Router 192.168.100.1
На заметку: Если после конфигурации DHCP выходит сообщение, что конфигурация не настроена, то выполняем:
Set-ItemProperty -Path registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ServerManager\Roles\12 -Name ConfigurationState -Value 2
Теперь можно перезагрузить сервер:
Restart-Computer -Force
На этом настройка сервера завершена, после перезагрузки у нас будет работоспособный домен Active Directory со службами DNS и DHCP.
На этом все, до скорых встреч. Если у Вас возникли вопросы или Вы хотите чтобы я помог Вам, то Вы всегда можете связаться со мной разными доступными способами.
Профессионально занимаюсь системным администрированием Linux -серверов и баз данных (MySQL, PostgreSQL) на протяжении последних 24 лет.
Благодарю за мануал. Подскажите как добавить диапазон исключаемых для раздачи по DHCP адресов?
Используйте Add-DhcpServerv4ExclusionRange
Например:
Подскажите, пожалуйста, можно ли все объединить в один сценарий, чтобы сервер разом раз вернулся?
Да, такое возможно. Не вижу особых проблем, большинство команд — это powershell