Администрирование ролей FSMO

Во избежание конфликтов и дублирования некоторые операции по изменению данных в Active Directory сначала выполняются на одном специально выделенном для этого контроллере домена, а затем реплицируются на все остальные контроллеры в рамках домена или леса.

Для управления выполнением таких операций в Active Directory используется механизм ролей, назначаемых контроллерам домена.

Каждая роль соответствует определенной операции, для успешного выполнения которой требуется обеспечить уникальность исполнителя (Flexible Single Master Operation, FSMO).

Для администрирования ролей FSMO в домене Samba AD с помощью утилиты samba-tool используется группа подкоманд fsmo.

При выполнении операций с помощью подкоманды fsmo всегда указывается набор ключей -H (URI LDAP-сервера) и --use-kerberos=required. По умолчанию в качестве значения ключа -H передается текущий хост в формате ldap://<имя хоста>.

Роли FSMO

В Active Directory существуют следующие роли FSMO:

Эмулятор первичного (основного) контроллера домена (PDC Emulator)

Контроллер домена с ролью PDC Emulator выполняет следующие функции:

  • сервер точного времени;

    Для аутентификации по протоколу Kerberos требуется точная синхронизация времени. Все клиенты в домене синхронизируют свое время с временем контроллера домена с ролью PDC Emulator.

    При наличии нескольких доменов сервер с ролью PDC Emulator каждого домена синхронизирует свое время с временем сервера с ролью PDC Emulator в корневом домене леса AD, который в свою очередь настраивается для получения времени из внешнего источника.

  • приоритетная репликация результатов операций по смене пароля, выполняемых на других контроллерах в домене;

    Если сервер с ролью PDC Emulator недоступен, данные о смене паролей реплицируются на все контроллеры в домене, но для этого требуется больше времени.

  • обработка блокировок учетных записей;

    На сервер с ролью PDC Emulator передается информация о неудачных попытках аутентификации со всех контроллеров в домене перед отображением соответствующих сообщений пользователям. Сервер выполняет блокировку учетных записей в соответствии с настроенными в домене политиками.

  • внесение изменений в групповые политики в домене.

Если контроллер домена с данной ролью используется клиентами для синхронизации времени, его доступность является обязательным условием корректной работы Kerberos. Если для синхронизации времени клиенты используют другой источник, временное отсутствие сервера с ролью PDC Emulator в домене не является критическим.

Для определения в домене сервера с ролью PDC Emulator используйте следующую команду:

host -t SRV _ldap._tcp.pdc._msdcs.<domain>

Хозяин относительных идентификаторов (RID Master)

Владелец роли RID Master выполняет следующие функции:

  • выделяет пулы относительных идентификаторов (RID) в ответ на запросы контроллеров домена;

  • обеспечивает перемещение объектов в домен и из него.

Всем объектам безопасности (например, учетным записям компьютеров и пользователей, группам) присваиваются идентификаторы безопасности (SID), состоящие из двух частей:

  • идентификатор безопасности (SID) домена, который является одинаковым для всех объектов внутри домена;

  • относительный идентификатор (RID), который является уникальным внутри домена.

В следующем примере цифры 1121 — это относительный идентификатор (RID) объекта внутри домена:

  • SID домена: S-1-5-21-3134998938-619743855-3616620706;

  • SID объекта (учетной записи пользователя или компьютера, группы и т. п.) внутри домена: S-1-5-21-3134998938-619743855-3616620706-1121.

За каждым контроллером домена закрепляется определенный пул относительных идентификаторов (RID), которые могут присваиваться объектам безопасности при их создании внутри домена. Пул составляет 500 уникальных относительных идентификаторов.

При использовании пула на 50% контроллер домена обращается к владельцу роли RID Master с запросом на выделение нового диапазона относительных идентификаторов.

Контроллер домена с ролью RID Master должен быть доступен в следующих случаях:

  • добавление нового контроллера домена для выделения ему пула относительных идентификаторов (RID);

  • обновление пулов на существующих контроллерах домена.

При недоступности сервера с ролью RID Master новые объекты безопасности создаются до момента исчерпания существующих локальных пулов RID. При полном исчерпании пулов создание новых объектов становится невозможным.

Также в этом случае в домен не могут добавляться новые контроллеры.

Хозяин схемы (Schema Master)

Контроллер домена с ролью Schema Master обрабатывает изменения, вносимые в схему каталога (раздел «Контекст именования схемы», путь — LDAP://CN=schema,CN=configuration,DC=<domain>) на уровне леса. Изменения могут вноситься только на этом контроллере, после чего они реплицируются на остальные контроллеры домена.

Таким образом, контроллер домена с ролью Schema Master должен быть доступен при внесении изменений в схему каталога.

Хозяин доменных имен (Domain Naming Master)

Контроллер домена с ролью Domain Naming Master обрабатывает изменения, вносимые в пространство доменных имен на уровне леса каталога (раздел «Контекст именования конфигурации», путь — LDAP://CN=Partitions,CN=Configuration,DC=<domain>), включая добавление в лес и удаление из него доменов, установление доверия с внешними каталогами, добавление в каталог и удаление из него разделов приложений. Изменения могут вноситься только на этом контроллере, после чего они реплицируются на остальные контроллеры домена.

Таким образом, контроллер домена с ролью Domain Naming Master должен быть доступен при установлении доверительных отношений с внешними каталогами, а также добавлении в лес и удалении из него доменов и разделов приложений.

Хозяин инфраструктуры домена (Infrastructure Master)

Контроллер домена с ролью Infrastructure Master обрабатывает изменения, вносимые в идентификаторы безопасности (SID) объектов и DN-имена в междоменных ссылках на объекты (например, когда пользователь из одного домена добавляется в группу безопасности в другом домене).

Данная роль существует даже в лесу с одним доменом.

Контроллер домена с ролью Infrastructure Master должен быть доступен при внесении изменений в междоменные ссылки на объекты.

Хозяин зон DNS домена (Domain DNS Zone Master)

Контроллер домена с ролью Domain DNS Zone Master координирует выполнение операций по добавлению и удалению зон DNS на контроллерах домена, выполняющих функции DNS-серверов на уровне домена.

Хозяин зон DNS леса (Forest DNS Zone Master)

Контроллер домена с ролью Forest DNS Zone Master координирует выполнение операций по добавлению и удалению записей уровня леса на DNS-серверах, обеспечивающих работу зоны DNS верхнего уровня. Данные записи содержат имена серверов глобального каталога.

Просмотр списка текущих владельцев ролей FSMO

Для просмотра списка владельцев ролей FSMO с помощью утилиты samba-tool выполните следующую команду на любом контроллере домена:

samba-tool fsmo show
InfrastructureMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=samdom,DC=example,DC=com
RidAllocationMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=samdom,DC=example,DC=com
PdcEmulationMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=samdom,DC=example,DC=com
DomainNamingMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=samdom,DC=example,DC=com
SchemaMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=samdom,DC=example,DC=com
DomainDnsZonesMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=samdom,DC=example,DC=com
ForestDnsZonesMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=samdom,DC=example,DC=com

Передача роли FSMO

Для передачи роли FSMO от одного контроллера домена другому выполните следующие действия:

  1. Выполните вход на контроллер домена, которому должна быть передана роль.

  2. Выполните передачу роли с помощью следующей команды:

    samba-tool fsmo transfer --role=<role>
    FSMO transfer of '<role>' role successful

    Параметр --role может принимать следующие значения:

  3. Убедитесь, что роль передана с помощью следующей команды:

    samba-tool fsmo show

Захват роли FSMO

Для передачи роли FSMO с возможностью принудительного ее захвата выполните следующие действия:

  1. Выполните вход на контроллер домена, которому должна быть принудительно передана роль.

  2. Выполните передачу роли с помощью следующей команды:

    samba-tool fsmo seize --role=<role>
    Attempting transfer...
    Transfer unsuccessful, seizing...
    FSMO seize of '<role>' role successful

    Подкоманда может принимать следующие параметры:

  3. Убедитесь, что роль передана с помощью следующей команды:

    samba-tool fsmo show
  4. Обеспечьте невозможность подключения прежнего владельца роли к сети.

Обязательным условием успешного выполнения команды передачи или захвата ролей domaindns и forestdns является прохождение аутентификации.

Рекомендации по передаче и захвату ролей FSMO

Рекомендуется во всех случаях передавать роли FSMO без использования операции принудительного захвата.

Однако для такой передачи требуется, чтобы передающий контроллер домена продолжал работу и был подключен к сети.

В случае выхода из строя контроллера домена, являющегося владельцем роли FSMO, может использоваться операция принудительного захвата с целью передачи роли одному из работающих контроллеров.

После выполнения захвата следует исключить подключение прежнего владельца роли к сети, так как это неизбежно приведет к конфликтам и неконсистентности данных в Active Directory.

Рекомендации по обработке ситуаций потери соединения с контроллером домена с ролью FSMO

Контроллер домена с ролью FSMO может быть недоступен по следующим причинам:

  1. Требуется выполнить плановые работы по обслуживанию, после завершения которых сервер продолжит работу.

    Если в период отсутствия соединения с контроллером домена планируется выполнять действия, предусмотренные его ролью FSMO, следует временно передать такую роль одному из работающих контроллеров.

  2. Планируется сместить сервер с роли контроллера домена (операция demote).

    Перед смещением требуется передать все роли FSMO от смещаемого сервера другим серверам, продолжающим работу в роли контроллера домена.

  3. Контроллер домена выходит из строя.

    В этом случае рекомендуется придерживаться следующей последовательности действий:

    1. Выясните, какие роли оказываются недоступны и какое влияние это может оказать на работу леса.

    2. Попытайтесь восстановить работу контроллера домена и вернуть его в сеть.

      При этом ни в коем случае не восстанавливайте контроллер из резервной копии, если в домене есть другие работающие контроллеры.

    3. Если восстановить работу контроллера домена невозможно, выполните захват закрепленных за ним ролей с передачей их работающим контроллерам и сместите вышедший из строя сервер с роли контроллера домена.