Для построение отказоустойчивой инфраструктуры Active Directory и распределения нагрузки необходимо иметь как минимум два контроллера домена. Также рекомендуется создавать дополнительные контроллеры домена на удаленных площадках. В этой статье мы рассмотрим, как развернуть дополнительный контроллер домена в существующем домене AD.
Содержание:
- Подготовка Windows Server перед развертыванием DC
- Установка роли Active Directory Domain Services (ADDS)
- Повышение сервера до контроллера домена Active Directory
- Проверка состояние нового контроллера домена
Подготовка Windows Server перед развертыванием DC
Разверните новый сервер (физический или виртуальный) с Windows Server. Рекомендуется использовать одинаковые версии Windows Server на всех DC. В нашем примере это Windows Server 2019.
Не рекомендуется устанавливать дополнительные службы или приложения на контроллер домена. На нем должны быть запущены только роли DNS и ADDS (допускается размещение DHCP сервера), а также мониторинга и агенты систем резервного копирования контроллера домена (если используются). Можно использовать режим Server Core для развертывания DC. Это уменьшит использование ресурсов и увеличит безопасность.
Выполните первоначальную настройку нового Windows Server
Задайте имя контроллера домена, соответствующее вашей инфраструктуре через Server Manager или с помощью команды PowerShell. Например, spb-dc02:
Rename-Computer -NewName spb-dc02
Задайте статический IP адрес серверу, укажите настройки DNS. В качестве предпочитаемого DNS сервера укажите IP адрес
127.0.0.1
(для более быстрого выполнения DNS запросов), а в качестве альтернативного – IP адрес ближайшего контроллера домена в этом же сайте AD. Можно задать настройки IP и DNS с помощью PowerShell:
Get-NetAdapter
New-NetIPAddress -IPAddress 192.168.13.14 -DefaultGateway 192.168.13.1 -PrefixLength 24 -InterfaceIndex 6
Set-DNSClientServerAddress -InterfaceIndex 6 -ServerAddresses ("127.0.0.1","192.168.10.14")
Задайте часовой пояс, проверьте что на сервере задано корректное время.
Установите обновления Windows (можно установить обновления с локального WSUS сервера или через Windows Update). Для установки обновления Windows можно использовать PowerShell модуль PSWindowsUpdate.
Включите RDP доступ, добавьте ваш Windows Server в домен Active Directory и перезагрузите Windows:
Add-Computer -DomainName winitpro.loc
Restart-Computer -force
Если вы разворачиваете DC для новой удаленной площадки, откройте консоль Active Directory Sites & Services (
dssite.msc
), создайте новый сайт и привяжите к нему IP подсети клеиентов, которые будет обслуживать ваш DC.
Установка роли Active Directory Domain Services (ADDS)
После предварительной подготовки Windows Server, вы можете установить на нем роль ADDS. Откройте Server Manager, выберет Manage -> Add Roles and Features -> Server Roles -> отметьте Active Directory Domain Services.
Можно установить роль ADDS с помощью PowerShell:
Install-WindowsFeature AD-Domain-Services –IncludeManagementTools -Verbose
Проверьте, что что роль AD-Domain-Services установлена:
Get-WindowsFeature -Name *AD-Domain
Повышение сервера до контроллера домена Active Directory
После установки роли ADDS, вы можете повысить ваш Windows Server от рядового члена до контроллера домена.
В консоли Server Manager щелкните по ссылке Promote this server to a domain controller.
Укажите, что вы хотите добавить дополнительный контроллер домена в существующий домен: Add a domain controller to an existing domain.
Выберите что на этом сервере нужно установить DNS сервер и активировать роль Global Catalog.
Затем задайте пароль восстановления Directory Services Restore Mode (DRSM).
Если вы планируете развернуть контроллер домена для чтения, отметьте опцию RODC (read-only domain controller). В данном случае мы не используем этот режим, и разворачиваем обычный RW DC.
Выберите сайт AD, в который нужно поместить новый DC (в нашем примере мы выбрали сайт SPB, который создали ранее).
Пропустите шаг с делегацией DNS сервера.
Далее вы можете выбрать ближайший контроллер домена, с которого нужно выполнить репликацию на ваш новый DC. Если все DC находятся близко и не подключены через WAN каналы, выберите Any domain controller. Первоначальная репликация каталога и SYSVOL на новый DC может вызвать повышенную нагрузку на WAN каналы.
Для развертывания нового DC на площадке с плохим или нестабильным каналом связи можно использовать режим IFM (Install from media). В этом случае вам нужно сформировать снимок раздела домена и SYSVOL на любом DC, скопировать его на физический носитель и передать носить в филиал для развертывания нового DC.
Затем укажите пути к каталогам базы данных ADDS (ntds.dit) и sysvol. В большинстве случаев можно оставить пути по умолчанию:
-
C:\Windows\NTDS
-
C:\Windows\SYSVOL
Запустится проверка. Если все предварительные требования выполнены, появится надпись:
All prerequisite checks passed successfully.
Нажмите Install чтобы повысить сервер до DC.
Можно использовать PowerShell для развертывания нового контроллера домена. Все описанные выше настройки можно задать следующей командой:
Import-Module ADDSDeployment
Install-ADDSDomainController -NoGlobalCatalog:$false -CreateDnsDelegation:$false -CriticalReplicationOnly:$false -DatabasePath "C:\Windows\NTDS" -DomainName "winitpro.loc" -InstallDns:$true -LogPath "C:\Windows\NTDS" -NoRebootOnCompletion:$false -SiteName "SPB" -SysvolPath "C:\Windows\SYSVOL" -Force:$true
После завершения установки, сервер будет автоматически перезагружен.
Проверка состояние нового контроллера домена
После установки нового DC нужно проверить его состояние и корректность репликации в Active Directory.
В первую очередь проверьте, что новый контроллер домена появится в разделе Domain Controllers консоли ADUC.
Также можно получить информацию о вашем новом DC с помощью командлета из модуля AD PowerShell:
Get-ADDomainController -Identity "SPB-DC02"
Проверьте состояние репликации между контроллерами домена домене с помощью команд:
repadmin /showrepl *
repadmin /replsummary
Можно получить информацию о партнерах по репликации для конкретного DC:
repadmin /replsummary spb-dc02
В моем случае в значении largest delta было указано unknown. Обычно это связано с тем, что репликация еще не завершена. Вы можете подтолкнуть репликацию с помощью консоли Active Directory Sites and Services. Разверните ваш сайт, выберите ваш DC, разверните NTDS Settings, щелкните по связи и выберите Replicate All.
Либо вы можете инициировать полную репликацию командой:
repadmin /syncall
Проверьте что ошибок репликации нет.
Теперь ваш новый DC может обслуживать клиентов и использоваться в качестве logonserver для компьютеров из привязанных IP подсетей/сайта.
В завершении оставлю еще несколько ссылок на статье, которые должны быть полезны для администраторов AD:
- Перенос FSMO ролей
- Корректное удаление контроллера домена
- Управление групповыми политиками (GPO) в Active Directory
- Как переименовать домен AD?
- Сброс пароля администратора домена
Having one Domain Controller is not recommended because it creates a single point of failure. If the only Domain Controller goes down in the organization, big outages will occur resulting in a loss of operations. To avoid this single point of failure you need to have a secondary Domain Controller. A second DC will load balance the services and minimize the risk of critical services going down. In this article, I will walk through the steps to add a second Domain Controller to an existing domain.
If you are using Windows Server 2012, 2016, or 2019 the steps to add a secondary domain controller is the same.
Step 1. Configure Basic Server Settings
Before promoting the server to a secondary domain controller you need to make sure you have these settings configured.
- Computer name – You want to set the computer name before promoting it to a domain controller.
- IP settings – Set a static IP address on the server and make sure the DNS is pointing to an existing domain controller or DNS server. You will not be able to join the server to the domain if this is not set.
- Date and Time – Make sure the time zone is correct. Your domain can have weird issues if the date and time are off.
Step 2. Open Server Manager & Install AD DS Role
1. Click on Add roles and features
2. Click “Next” on the Before you begin page.
3. Select “Role-based or featured-based installation and click next.
4. Select a server from the server pool. Select your server and click next.
5. Select Active Directory Domain Services, you will get a popup to add features that are required for Active Directory Domain Services, click Add features. Click Next.
6. Click next on the features page. Nothing additional needs to be selected on this page.
7. Click next on the AD DS page. This page is just informational.
8. Click Install on the confirmation page.
When the installation is complete it will say “Configuration required. Installation succeeded on”. When you see this move to step 3.
Step 3. Promote this server to a domain controller
1. In the server manager click the yellow icon at the top and click “Promote this server to a domain controller”.
2. Select “Add a domain controller to an existing domain”. Next, enter or select the existing domain you want to add the secondary domain controller to. You will need to click the change button to enter in administrator credentials. Click Next.
3. On the Domain Controller Options page, Domain Name System (DNS) server and Global Catalog (GC) should be checked. The Default First Site name should be selected for the site name unless you have created a new one. I would recommend leaving it as the default. Enter a password for the Directory Services Restore mode and click “Next”.
NOTE: Directory Services Restore MODE (DSRM) allows an administrator to repair or recover an Active Directory Database.
4. DNS Options
You will most likely receive the error below that says “A delegation for this DNS server cannot be created….” This is common. The wizard is trying to contact the nameservers for the domain I entered winadpro.com and is unable to create a delegation for the sub-domain ad.winadpro.com. This message can be ignored if you don’t need computers from outside of the network to be able to resolve names within your domain. More info on this error https://technet.microsoft.com/en-us/library/cc754463(WS.10).aspx
5. On the Additional Options page, select where you want this server to replicate from. In my environment, I want it to be able to replicate from any domain controller. The replication depends on how you installed the first DC and where it is located. If the DC’s are all in the same site, then replicate from any will work. If you have multiple sites, then you would have a different replication strategy. For my organization, we have 4 domain controllers all in the same site, so I have set them up to replicate from any.
6. For the paths I always leave them the defaults.
7. Click next on the Review options page.
8. On the Prerequisites Check page you may see two warnings (cryptography algorithm and the delegation for DNS) this is typical. If the prerequisite passed click install.
The server will automatically reboot when it is finished.
Step 4. Verify Secondary Domain Controller
At this point, you have completed the steps for adding a secondary domain controller to an existing domain. Now log into the DC and let’s verify a few things.
1, Open Active Directory Users and Computers (ADUC) and spot check some user and computer accounts. Make sure ADUC is connected to your new DC. During the installation everything should have replicated to your secondary DC.
2. It’s also a good idea to check ad replication to make sure there are no replication errors. From another domain controller open the command prompt and enter repadmin /replsummary computername. In this example, I’m using DC3. You can see there are no fails or errors.
3. You can also run an Active Directory health check on your domain controller using the dcdiag command. From the command prompt run the command dcdiag /v. This will display a lot of details but is one of the best ways to check the health of a domain controller.
Summary
In this article, we walked through how to add an additional domain controller to an existing domain. It is highly recommended to have multiple DCs in your organization. The benefit to this is it will load balance the services and minimize the risk of a complete network outage. Feel free to leave your comments or questions in the comment section.
This tutorial explains how to install an additional domain controller in an existing active directory domain. Additional AD domain controller is used to balance the load among existing domain controllers. It also provides fault-tolerance that in case primary AD DC is down, additional AD DC can be used for authentications without any business discontinuity.
The article is categorized into following two parts:
- Installing active directory domain service role on a server
- Promoting that server to act as an additional active directory domain controller
Prerequisites
Along with AD domain controller, following six prerequisites should be met:
- Administrator account has strong password
- Static IP is configured
- Latest windows updates are installed
- Firewall is turned off
- Active directory domain controller is configured and up
- DNS settings of server are pointing towards correct AD domain controller
Installing Active Directory Domain Services
Step 1: Open Server Manager dashboard from task bar and click Add roles and features
Step 2: Cross check the important notes and click Next
Step 3: Choose Role-based or feature-based installation and click Next
Step 4: Choose a desired destination server from server pool you want to configure it as additional domain controller and click Next
Step 5: Choose Active Directory Domain Services from roles. As soon as you check the box, a small window will pop up prompting you to install other necessary features along with Active Directory Domain Services. Click Add Features
Step 6: Click Next
Step 7: Click Next
Step 8: Read related Active Directory Domain Services note and click Next
Step 9: Confirm your installation selections and click Install
Step 10: It takes a while before an installation completes, click Close
Configuring Additional Domain Controller
Step 11: Open Server Manager from task bar and click notifications icon located at the top left corner of window
Step 12: Click Promote this server to a domain controller
Step 13: Choose Add a domain controller to an existing domain. Provide a domain name and click Select. A security window will pop up, provide user name in the format <domain>\<username> and password. When done, click OK. Choose the domain from forest and click OK. Click Next
Step 14: Click Next
Step 15: Provide Directory Service Restore Mode (DSRM) password and click Next
Step 16: Ignore warning and click Next
Step 17: Click Next and keep default selections
Step 18: Note down the AD DS database, log files, and SYSVOL paths and click Next
Step 19: Review an options and click Next
Step 20: Click Install after prerequisites check
Installation will begin and take few minutes to complete. After a successful configuration, click Close and server will be rebooted.
Conclusion
Great, your additional domain controller is now ready. You can also add more backup DC’s by following these steps.
С установкой MS Windows 2012R2 всё просто и более менее понятно. В интернете есть 1001 мануал по развертыванию домена на Windows как с помощью GUI так и средствами Powershell, поэтому повторять лишний раз не буду, оставлю только ссылку на офф. документацию, для любопытствующих и тех кто захочет освежить память.
Однако один важный момент в данном пункте всё таки есть. На сегодняшний день Samba не умеет работать со схемами каталога выше 2008R2.
Заголовок спойлера
Вернее разработчиками данная поддержка заявлена в качестве экспериментальной. Но на практике попытка ввода самбы в качестве второго DC в существующий домен Windows со схемой 69 — встретит вас следующей ошибкой
DsAddEntry failed with status WERR_ACCESS_DENIED info (8567, ‘WERR_DS_INCOMPATIBLE_VERSION’)
Проблема в том, что Windows 2012 и 2012R2 используют инструменты WMI для работы с доменами и лесами, стабильная поддержка которых анонсирована только к версии Samba 4.11, которая должна выйти до конца этого года.
Из этого следует, что единственным вариантом для введения самбы в домен AD, развернутый на 2012R2 сервере, является понижение схемы с 69 до 47. Разумеется на рабочей инфраструктуре без веских причин этого делать не надо, но у нас тут тестовый стенд, так что почему бы собственно и нет.
Ставим Альт Сервер 8.2. Во время установки выбираем профиль «Сервер Samba-DC (контроллер AD)». На развернутом сервере производим полное обновление системы, и устанавливаем пакет task-samba-dc, который потянет за собой всё необходимое
# apt-get install task-samba-dc
Если вдруг task-samba-dc, вопреки заверениям документации Альта откажется ставить всё необходимое сам.
# apt-get install python-module-samba-DC samba-DC-common samba-DC-winbind-clients samba-DC-winbind samba-DC-common-libs libpytalloc-devel
Далее переходим к настройке Kerberos и получению тикета. Открываем файл krb5.conf, переходим в раздел [libdefaults], и приводим к следующему виду:
# vim /etc/krb5.conf
dns_lookup_kdc = true
dns_lookup_realm = true
default_realm = TEST.LOCAL
Запрашиваем билет
# kinit administrator
Password for administrator@TEST.LOCAL:
Проверяем список полученых тикетов Kerberos
# klist
Ticket cache: KEYRING:persistent:0:0
Default principal: administrator@TEST.LOCAL
Valid starting Expires Service principal
16.05.2019 11:51:38 16.05.2019 21:51:38 krbtgt/TEST.LOCAL@TEST.LOCAL
renew until 23.05.2019 11:51:35
Теперь удаляем или переименовываем существующий конфиг самбы.
# mv smb.conf smb.conf.bak1
И наконец вводим в домен AD вторым контроллером:
# samba-tool domain join test.local DC -U"TEST\administrator"
Успешный ввод будет сопровождаться следующим логом
Finding a writeable DC for domain 'test.local'
Found DC DC1.TEST.LOCAL
Password for [TEST\administrator]:
Reconnecting to naming master e31d7da6-8f56-4420-8473-80f2b3a31338._msdcs.TEST. LOCAL
DNS name of new naming master is DC1.TEST.LOCAL
workgroup is TEST
realm is TEST.LOCAL
Adding CN=DC2,OU=Domain Controllers,DC=TEST,DC=LOCAL
Adding CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC =TEST,DC=LOCAL
Adding CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN =Configuration,DC=TEST,DC=LOCAL
Adding SPNs to CN=DC2,OU=Domain Controllers,DC=TEST,DC=LOCAL
Setting account password for DC2$
Enabling account
Calling bare provision
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
A Kerberos configuration suitable for Samba AD has been generated at /var/lib/sa mba/private/krb5.conf
Provision OK for domain DN DC=TEST,DC=LOCAL
Starting replication
Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objects[402/1426] linked _values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objects[804/1426] linked _values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objects[1206/1426] linke d_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objects[1608/1426] linke d_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objects[1743/1426] linke d_values[0/0]
Analyze and apply schema objects
Partition[CN=Configuration,DC=TEST,DC=LOCAL] objects[402/2240] linked_values[0/ 24]
Partition[CN=Configuration,DC=TEST,DC=LOCAL] objects[804/2240] linked_values[0/ 24]
Partition[CN=Configuration,DC=TEST,DC=LOCAL] objects[1206/2240] linked_values[0 /24]
Partition[CN=Configuration,DC=TEST,DC=LOCAL] objects[1608/2240] linked_values[0 /24]
Partition[CN=Configuration,DC=TEST,DC=LOCAL] objects[1772/2240] linked_values[2 4/24]
Replicating critical objects from the base DN of the domain
Partition[DC=TEST,DC=LOCAL] objects[109/110] linked_values[26/29]
Partition[DC=TEST,DC=LOCAL] objects[394/5008] linked_values[29/29]
Done with always replicated NC (base, config, schema)
Replicating DC=DomainDnsZones,DC=TEST,DC=LOCAL
Partition[DC=DomainDnsZones,DC=TEST,DC=LOCAL] objects[42/42] linked_values[0/0]
Replicating DC=ForestDnsZones,DC=TEST,DC=LOCAL
Partition[DC=ForestDnsZones,DC=TEST,DC=LOCAL] objects[20/20] linked_values[0/0]
Exop on[CN=RID Manager$,CN=System,DC=TEST,DC=LOCAL] objects[3] linked_values[0]
Committing SAM database
Adding 1 remote DNS records for DC2.TEST.LOCAL
Adding DNS A record DC2.TEST.LOCAL for IPv4 IP: 192.168.90.201
Adding DNS CNAME record 6ff1df40-cbb5-41f0-b7b3-53a27dde8edf._msdcs.TEST.LOCAL for DC2.TEST.LOCAL
All other DNS records (like _ldap SRV records) will be created samba_dnsupdate o n first startup
Replicating new DNS records in DC=DomainDnsZones,DC=TEST,DC=LOCAL
Partition[DC=DomainDnsZones,DC=TEST,DC=LOCAL] objects[1/42] linked_values[0/0]
Replicating new DNS records in DC=ForestDnsZones,DC=TEST,DC=LOCAL
Partition[DC=ForestDnsZones,DC=TEST,DC=LOCAL] objects[1/20] linked_values[0/0]
Sending DsReplicaUpdateRefs for all the replicated partitions
Setting isSynchronized and dsServiceName
Setting up secrets database
Joined domain TEST (SID S-1-5-21-3959064270-1572045903-2556826204) as a DC
В оснастке ADUC должна появиться запись о новом DC в домене TEST.LOCAL, а в диспетчере DNS — новая А запись, соответствующая DC2.
Для начала проверим работу службы репликации каталогов (DRS)
# samba-tool drs showrepl
Все попытки репликации в выводе должны быть успешными. В списке объектов KCC, в течение 15 минут после ввода, должен появится наш DC1 на Windows
Default-First-Site-Name\DC2
DSA Options: 0x00000001
DSA object GUID: 0e9f5bce-ff59-401e-bdbd-fc69df3fc6bf
DSA invocationId: 017997b5-d718-41d7-a3f3-e57ab5151b5c
==== INBOUND NEIGHBORS ====
DC=ForestDnsZones,DC=test,DC=local
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
Last attempt @ Mon May 27 12:56:31 2019 MSK was successful
0 consecutive failure(s).
Last success @ Mon May 27 12:56:31 2019 MSK
DC=DomainDnsZones,DC=test,DC=local
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
Last attempt @ Mon May 27 12:56:32 2019 MSK was successful
0 consecutive failure(s).
Last success @ Mon May 27 12:56:32 2019 MSK
CN=Schema,CN=Configuration,DC=test,DC=local
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
Last attempt @ Mon May 27 12:56:32 2019 MSK was successful
0 consecutive failure(s).
Last success @ Mon May 27 12:56:32 2019 MSK
DC=test,DC=local
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
Last attempt @ Mon May 27 12:56:32 2019 MSK was successful
0 consecutive failure(s).
Last success @ Mon May 27 12:56:32 2019 MSK
CN=Configuration,DC=test,DC=local
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
Last attempt @ Mon May 27 12:56:33 2019 MSK was successful
0 consecutive failure(s).
Last success @ Mon May 27 12:56:33 2019 MSK
==== OUTBOUND NEIGHBORS ====
DC=ForestDnsZones,DC=test,DC=local
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
Last attempt @ Thu May 23 16:40:03 2019 MSK was successful
0 consecutive failure(s).
Last success @ Thu May 23 16:40:03 2019 MSK
DC=DomainDnsZones,DC=test,DC=local
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
Last attempt @ Thu May 23 16:40:03 2019 MSK was successful
0 consecutive failure(s).
Last success @ Thu May 23 16:40:03 2019 MSK
CN=Schema,CN=Configuration,DC=test,DC=local
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
Last attempt @ Thu May 23 16:40:08 2019 MSK was successful
0 consecutive failure(s).
Last success @ Thu May 23 16:40:08 2019 MSK
DC=test,DC=local
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
Last attempt @ Thu May 23 16:40:08 2019 MSK was successful
0 consecutive failure(s).
Last success @ Thu May 23 16:40:08 2019 MSK
CN=Configuration,DC=test,DC=local
Default-First-Site-Name\DC1 via RPC
DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
Last attempt @ Mon May 27 12:12:17 2019 MSK was successful
0 consecutive failure(s).
Last success @ Mon May 27 12:12:17 2019 MSK
==== KCC CONNECTION OBJECTS ====
Connection --
Connection name: 6d2652b3-e723-4af7-a19f-1ee48915753c
Enabled : TRUE
Server DNS name : DC1.test.local
Server DN name : CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=local
TransportType: RPC
options: 0x00000001
Warning: No NC replicated for Connection!
Предупреждение «No NC replicated for Connection!» можно смело игнорировать. Оно появляется из за того, что при регистрации нового DC самба неверно устанавливает некоторые флаги репликации.
Так же неплохо будет проверить репликацию LDAP.
# samba-tool ldapcmp ldap://dc1.test.local ldap://dc2.test.local -Uadministrator
Указанная выше команда сравнит значения атрибутов объектов всего каталога на DC1 и DC2.
Пример успешной репликации
* Comparing [DOMAIN] context...
* Objects to be compared: 249
* Result for [DOMAIN]: SUCCESS
* Comparing [CONFIGURATION] context...
* Objects to be compared: 1750
* Result for [CONFIGURATION]: SUCCESS
* Comparing [SCHEMA] context...
* Objects to be compared: 1739
* Result for [SCHEMA]: SUCCESS
* Comparing [DNSDOMAIN] context...
* Objects to be compared: 42
* Result for [DNSDOMAIN]: SUCCESS
* Comparing [DNSFOREST] context...
* Objects to be compared: 20
* Result for [DNSFOREST]: SUCCESS
В ряде случаев атрибуты объектов на разных контроллерах могут отличаться, и вывод команды даст об этом знать. Но далеко не во всех случаях это будет признаком проблемы с репликацией.
Следующим этапом необходимо вручную настроить стабильную репликацию каталога SysVol.
Дело в том, что самба пока не поддерживает DFS-R, впрочем как не поддерживала более раннюю FRS. Поэтому для репликации между DC Samba и Windows единственным на сегодняшний день рабочим решением является односторонняя репликация средствами утилиты Robocopy из комплекта Windows Server 2003 Resource Kit Tools.
Разработчики самбы, во избежание проблем с совместимостью, рекомендуют сначала установить комплект утилит на обычную рабочую станцию, и после этого скопировать Robocopy на контроллер в папку «C:\Program Files (x86)\Windows Resource Kits\Tools\»
После установки, в планировщике задач на контроллере с Windows создаём задание на выполнение репликации со следующими параметрами:
— Выполнять для всех пользователей
— Триггер на выполнение Ежедневно каждые 5 минут в течение дня
— В действиях прописываем путь к утилите robocopy, в качестве аргументов указываем:
\\DC1\SYSVOL\test.local\ \\DC2\SYSVOL\test.local\ /mir /sec
В конкретном случае копируем содержимое каталога SysVol с DC1 на DC2.
Шаг 3: Установка второго контроллера домена. Настройка служб AD DS, DNS, DHCP.
В предыдущей заметке, мы развернули первый контроллер домена на предприятии а так же настроили службу DNS, DHCP. Второй и последующий контроллеры будут у нас без GUI в core-варианте.
Предварительно настроим сервер при помощи sconfig, назначим имя: dc2, настроим сеть (8), установим последние обновления (6), включим удаленное управление (4).
В качестве DNS-сервера необходимо указать явно IP-адрес текущей машины, т.е. в данном случае: 192.168.0.4, т.е. аналогично первому контроллеру. Делается это для того что бы dns-сервер слушал трафик, только на одном, явно объявленном интерфейсе, а не на всех, т.к. например на реальном сервере может быть несколько интерфейсов. В качестве второго DNS-сервера указываем адрес первого контроллера. Соответственно на первом контроллере в качестве альтернативного dns, указываем адрес второго контроллера, т.е. 192.168.0.4. Т.е. должно получится как на картинке ниже:
Теперь добавим роль AD DS. Рассмотрим два варианта развертывания служб AD DS на сервере c Windows core.
Первый вариант это добавить наш сервер в Server Manager первого сервера, и поднять роль при помощи графического интерфейса как мы делали это в самом начале. Для этого необходимо выполнить ряд условий:
1) На сервере с Windows Core активировать удаленное управление. Например при помощи 4-го пункта меню в sconfig (Configure Remote Management) или аналогично выполнив следующие команды в консоле:
и нажать yes. В powershell:
Configure-SMRemoting.exe -enable
2) Разрешить ряд правил на файрволе для обнаружения сервера по dns:
Enable-NetFirewallRule -DisplayGroup “File and Printer Sharing”
3) Добавить сервер в домен. Во время выполнения команды, потребуются ввести учетные данные доменного админа. Перезагрузить сервер.
Add-Computer -DomainName test.ru
4) На управляющем сервере в Server Manager нажать Manage и выбрать Add Servers. В появившемся окне Add Servers перейти на вкладку DNS и найти там наш сервер. Нажать ОК.
Если видим, что в поле Manageability запись изменилась на ‘Online — Performance counters not started’ то все в порядке и можно приступать к процессу развертывания служб AD DS при помощи мастера добавления ролей и компонентов.
После чего можно будет стандартным образом отметь роли для установки и сконфигурировать роль AD DS. Необходимо только выбрать, что домен будет вторым в существующем домене (Add a domain controller to an existing domain). И затем нажимая кнопку далее дойти до завершающего этапа установки.
После перезагрузки, снова зайдем в диспетчер сервера, запустим пиктограмму треугольника с восклицательным знаком и завершим конфигурацию DHCP-сервера выбором Complete DHCP Configuration.
Второй способ развертывания служб AD на сервере с windows core, традиционно выполняется при помощи ‘dcpromo’, но на мой взгляд удобнее и быстрее для этих целей использовать команды powershell. К тому же с началом выхода 2012 сервера, инструмент ‘dcpromo’ считается устаревшим и не рекомендуемым к использованию. Например, в полном варианте 2012/2012R2 сервера ‘dcpromo’ уже не работает, предлагая воспользоваться диспетчером сервера, хотя в core-варианте возможность запуска до сих пор присутствует. Итак приступим к установке:
Сначала добавим роль служб и компонентов Active Directory, DNS и заодно DHCP:
Install-windowsfeature -name AD-Domain-Services,DNS,DHCP -IncludeManagementTools
либо вариант команды с использованием xml-скрипта, который мы могли сохранить ранее на этапе добавления ролей и компонентов в графическом варианте:
Install-windowsfeature –ConfigurationFilePath С:\DeploymentConfigTemplate.xml
Импорт модулей и команд AD выполним при помощи команды:
Import-Module ADDSDeployment
Теперь что бы повысить роль сервера до контроллера домена набираем:
Install-ADDSDomainController -DomainName "test.ru" -Credential (get-credential ITME\Administrator)
где,
Install-ADDSDomainController — установить дополнительный контроллер домена,
DomainName «test.ru» — имя домена,
Credential (get-credential) — учетные данные для авторизации в домене, можно задать комбинацию домен\логин как в примере выше.
После, скрипт запросит пароль администратора домена, указанный в параметре Credential. Затем, необходимо будет указать пароль для режима восстановления (Directory Services Restore Mode — DSRM) — SafeModeAdministratorPassword, либо указать его как параметр выше в команде. Нажимаем Yes и дожидаемся окончания процесса установки, после чего сервер будет перезагружен. На выходе получим дополнительный (Replica) контроллер в домене test.ru.
Ту же самую операцию можно выполнить при помощи powershell скрипта, который можно подсмотреть на этапе установки Review Options мастера развертывания Active Directory Domain Services Configuration Wizard, если нажать кнопку Review Script.
Для установки второго контроллера домена в существующем домене содержимое скрипта будет следующим:
Import-Module ADDSDeployment Install-ADDSDomainController ` -NoGlobalCatalog:$false ` -CreateDnsDelegation:$false ` -Credential (Get-Credential) ` -CriticalReplicationOnly:$false ` -DatabasePath "C:\Windows\NTDS" ` -DomainName "test.ru" ` -InstallDns:$true ` -LogPath "C:\Windows\NTDS" ` -NoRebootOnCompletion:$false ` -ReplicationSourceDC "DC1.test.ru" ` -SiteName "Default-First-Site-Name" ` -SysvolPath "C:\Windows\SYSVOL" ` -Force:$true
Текстовый файл необходимо сохранить с расширением .ps1 и в консоли powershell выполнить:
Потребуется указать пароль администратора домена и пароль для режима восстановления каталогов (DSRM).
Подробнее о возможных параметрах командлета Install-ADDSDomainController читаем здесь.
Что бы перечислить все возможные командлеты по настройке ролей Active Directory набираем:
Get-command -module ADDSDeployment
В результате отобразится следующий список:
Add-ADDSReadOnlyDomainControllerAccount — Создание учетной записи контроллера домена только для чтения.
Install-ADDSDomain — Установить первый контроллер домена в дочернем или дереве домена.
Install-ADDSDomainController — Установить дополнительный контроллер домена.
Install-ADDSForest — Установить первый контроллер в новом лесу.
Test-ADDSDomainControllerInstallation — Проверка предварительных требований для установки контроллера домена в Active Directory.
Test-ADDSDomainControllerUninstallation — Проверка удаления сервиса AD c сервера.
Test-ADDSDomainInstallation — Проверка предварительных требований для установки нового домена в Active Directory.
Test-ADDSForestInstallation — Проверка предварительных требований для установки нового леса Active Directory.
Test-ADDSReadOnlyDomainControllerAccountCreation — Проверка предварительных требований для добавления учетной записи контроллера домена только для чтения (RODC).
Uninstall-ADDSDomainController — Удаление контроллера домена с сервера.
После перезагрузки завершим конфигурацию DHCP-сервера при помощи команд:
Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\ServerManager\Roles\12 -Name ConfigurationState -Value 2;
Restart-Service DHCPServer
Шаг4: Установка второго контроллера домена. Настройка резервирования службы DHCP.
Поскольку в нашей сети уже есть один авторизованный DHCP-сервер с настроенной областью, то теперь необходимо решить как будет работать служба DHCP на дополнительном контроллере server core. Возможны два варианта:
1) Использование распределенных областей (Split Scope) — Распределение адресного пространства между двумя серверами. Например одному серверу назначаются 70 или 80% адресов области, а оставшиеся 20 или 30% — дополнительному серверу. Если клиентам не удается получить IP-адрес от основного сервера, то они могут получить его у дополнительного сервера.
Для создания разделенной области, на основном сервере, открываем оснастку DHCP, щелкаем правой кнопкой по имени области и выбираем Advanced -> Split-Scope.
Нажимаем Далее, затем добавляем сервер нажатием Add Server и в поле This authorized DHCP server выбираем второй сервер.
Жмем ОК и Далее.
Затем двигая ползунок, отмечаем процентное соотношение распределения адресов в области. Жмем Далее.
На следующем экране укажем задержку ответа серверов в мс. Укажем для второго сервера задержку в 10 мс, что позволит выдавать все адреса первым сервером, а второй только при отказе первого или заполнении его пула адресов.
Жмем Next и наконец нажимаем Finish.
Затем нажимаем refresh на втором DHCP сервере, после чего увидим созданную область, где помимо основного диапазона с начальным и конечным адресом, будет диапазон адресов первого сервера исключенных для выдачи на втором сервере. Теперь, если видим что серверы обслуживают не пересекающиеся области, то можем активировать область на втором сервере.
2) DHCP с отработкой на отказ (DHCP Failover). Новый механизм, появившийся в Windows Server 2012/R2. Второй DHCP сервер принимает нагрузку в случае отказа основного. Работает в двух режимах.
- С балансировкой нагрузки (Load Balance Active-Active). При использовании этого режима два сервера одновременно предоставляют IP-адреса и сетевые параметры клиентам подсети. Запросы клиентов распределяются между двумя серверами согласно процентному соотношению заданному в Load Balance Percentage (по умолчанию 50 на 50).
- Режим горячей замены (Hot Standby Active-Passive). В этом режиме, один сервер (активный), отвечает за предоставление IP-адресов и параметров конфигурации всем клиентам в области или подсети, а дополнительный сервер (пассивный) принимает эту ответственность на себя в случае, если основной сервер становится недоступным. Сервер является основным или дополнительным в контексте подсети.
Для создания отношений отработки отказа между двумя DHCP-серверами, необходимо в оснастке DHCP щелкнуться правой кнопкой по имени области и выбрать Configure Failover.
Затем нажимаем Next и следуем указаниям мастера. В поле Partner Server выберем второй сервер.
Галочка Reuse existing failover relationships configured with this server (if any exist) (Использовать существующие отношения отработки отказа с этим сервером (если доступно)) будет активна в том случае, если ранее мы уже создавали отношение отработки отказа, и мастер предложит воспользоваться существующей конфигурацией. Жмем Далее.
На следующем экране зададим параметры отношения отработки отказа:
Relationship Name — уникальное имя конфигурации отношения отказа;
Maximum Client Lead Time — Максимальное время упреждения клиента (MCLT) — дополнительное время аренды IP-адреса выдаваемого доступным сервером для клиентов, которые должны быть обслужены тем сервером, который в данный момент недоступен;/p>
Mode: Режим Load Balance (с балансировкой нагрузки) или Hot Standby (горячей замены).
В режиме Hot Standby (горячей замены) необходимо выбрать состояние работы сервера: Активный или Резервный и количество адресов в процентом отношении, которое резервируется для сервера горячей замены.
Load Balance Percentage — процентное отношение нагрузки между серверами участниками. По умолчанию 50 на 50.
State Switchover Interval — интервал времени, по истечении которого сервер DHCP автоматически переводит участника отработки отказа к партнеру после потери связи.
Enable Message Authentication / Shared Secret — используется для взаимной, безопасной аутентификации серверов.
Выбираем режим по умолчанию Load Balance. Зададим пароль Shared Secret, остальные параметры оставим по умолчанию. Жмем Далее. Завершим настройку нажатием Finish и Close.
На этом установку второго контроллера домена (replica) и сопутствующих служб в существующем домене ‘test.ru’ можно считать завершенной. В следующей заметке будем поднимать филиальный домен только для чтения (RODC).