Skip to content

Document Header

Передача ролей FSMO с windows server (PDC) на samba 4 server (BDC)

Передача ролей FSMO с windows server (PDC) на samba 4 server (BDC) published on 4 комментария к записи Передача ролей FSMO с windows server (PDC) на samba 4 server (BDC)

В прошлой статье я описал процесс создания леса и домена, добавления 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 и прочее.

4 комментария

Статьи отличные, но будет ли продолжение?
Хотелось бы, например, услышать про настройку DDNS вместе с самбой (про DNS уже есть, а вот про интеграцию с DHCP — пока нет)

Не забудьте перед захватом роли попробовать передать роль с помощью команды transfer и только в случае неудачи применяйте seize.

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