В прошлой статье я описал процесс создания леса и домена, добавления samba 4 server в режиме domain controller к существующему windows домену.
В этой статье будет описан механизм миграции домена, включающий передачу ролей FSMO от windows server к samba 4 server domain controller.
Прежде, чем начать какие-то действия сделайте резервную копию active directory. Это позволит вам «откатиться» в исходное состояние, если что-то пойдет не так.
Все контроллеры домена в сети по умолчанию равноправны, за исключением 5 ролей, которые устанавливаются на 1-ый контроллер при создании леса. Эти роли называются FSMO (Flexible single-master operations).
Роли и их значение:
1. Schema Master (Хозяин схемы) – отвечает за изменение (обычно расширение схемы). Эта роль необходима для развертывания, например, microsoft exchange и isa. Недоступность владельца роли не даст возможности изменения схемы.
2. Domain Naming Master (Хозяин операции именования доменов) – данная роль необходима для работы (создание, удаление) с доменами и поддоменами в существующем лесу.
3. Relative ID Master (RID) (Хозяин относительных идентификаторов) – отвечает за уникальность ID для каждого объекта в AD.
4. Primary Domain Controller Emulator (Эмулятор основного контроллера домена) – отвечает за работу с учётными записями пользователей и политику безопасности. Если владелец роли недоступен, то недоступна, например, возможность смены пароля. Однако, под старым паролем пользователь будет благополучно получать доступ.
5. Infrastructure Master (Хозяин Инфраструктуры) – осуществляет координацию передачи информации об объектах AD контроллерам домена в лесу.
Так же важным компонентом функционирования AD является Global Catalog (GC) – (Глобальный Каталог). Он может быть установлен на любой (или на все) контроллер(ы) домена. Если в сети нет ни одного доступного глобального каталога, то пользователи не смогут получить доступ в домен.
Определение хозяина ролей FSMO.
Если в сети несколько контроллеров домена, то требуется определить владельцев ролей FSMO. Это можно сделать следующим образом.
Команды для windows server:
Schema Master (Хозяин схемы):
dsquery server -hasfsmo schema
Domain Naming Master (Хозяин операции именования доменов):
dsquery server -hasfsmo name
Relative ID Master (Хозяин относительных идентификаторов):
dsquery server -hasfsmo rid
Primary Domain Controller Emulator (Эмулятор основного контроллера домена):
dsquery server -hasfsmo pdc
Infrastructure Master (Хозяин Инфраструктуры):
dsquery server -hasfsmo infr
Global Catalog (GC) – (Глобальный Каталог):
dsquery server -forest -isgc
"CN=WIN-2008,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=loc"
"CN=ALARMPI,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=loc"
Команды Для samba4:
# samba-tool fsmo show
InfrastructureMasterRole owner: CN=NTDS Settings,CN=WIN-2008,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=loc
RidAllocationMasterRole owner: CN=NTDS Settings,CN=WIN-2008,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=loc
PdcEmulationMasterRole owner: CN=NTDS Settings,CN=WIN-2008,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=loc
DomainNamingMasterRole owner: CN=NTDS Settings,CN=WIN-2008,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=loc
SchemaMasterRole owner: CN=NTDS Settings,CN=WIN-2008,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=loc
В нашем случае все роли принадлежат контроллеру домена win-2008, а глобальный каталог существует на обоих контроллерах.
Передача ролей.
Передача ролей должна осуществляться под пользователем, членом групп «Администраторы домена», «Администраторы схемы» и «Администраторы предприятия». Передать роли можно 2-умя способами с PDC передать (добровольно) роль BDC. Или с BDC забрать (принудительно) роль у PDC. Опишу оба способа, хотя добровольный способ передачи мне кажется более надежным.
Передачу роли можно осуществлять графическими средствами windows server. Я опишу только консольный способ.
Для подключения к серверу выполним последовательность команд:
ntdsutil
roles
connections
connect to server alarmpi
q
Где alarmpi – название нашего samba 4 domain controller server, которому мы планируем передать роли.
По описаниям в интернете последовательность передачи ролей имеет значение.
Корректная последовательность передачи ролей следующая:
— хозяин идентификаторов;
— хозяин схемы;
— хозяин именования;
— хозяин инфраструктуры;
— контроллер домена;
После успешного подключения к серверу мы получаем приглашение к управлению ролями (fsmo maintenance), и можем начать передавать роли :
transfer naming master
transfer infrastructure master
transfer rid master
transfer schema master
transfer pdc
Примечание: в windows 2003 возможно отличается синтаксис transfer domain naming master и transfer pdc master для 1-ой и 5-ой роли соответственно.
Если ошибок не произошло проверяем:
# samba-tool fsmo show
InfrastructureMasterRole owner: CN=NTDS Settings,CN=ALARMPI,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=loc
RidAllocationMasterRole owner: CN=NTDS Settings,CN=ALARMPI,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=loc
PdcEmulationMasterRole owner: CN=NTDS Settings,CN=ALARMPI,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=loc
DomainNamingMasterRole owner: CN=NTDS Settings,CN=ALARMPI,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=loc
SchemaMasterRole owner: CN=NTDS Settings,CN=ALARMPI,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=loc
Все роли переданы успешно!
Принудительное принятие роли на samba 4 domain controller server (не рекомендуется):
# samba-tool fsmo seize --role=ROLE
rid=RidAllocationMasterRole
schema=SchemaMasterRole
pdc=PdcEmulationMasterRole
naming=DomainNamingMasterRole
infrastructure=InfrastructureMasterRole
all=all
Если вы хотите передать роли с samba 4 domain controller другому домен контроллеру, то это можно сделать так:
# samba-tool fsmo transfer --role=ROLE
rid=RidAllocationMasterRole
schema=SchemaMasterRole
pdc=PdcEmulationMasterRole
naming=DomainNamingMasterRole
infrastructure=InfrastructureMasterRole
all=all
Если после передачи ролей планируется выключить старый PDC, то перед этим не забудьте проверить сетевые настройки DNS, DHCP, NTP и прочее.