- Global catalog — Глобальный каталог
- Global catalog — Теория
- Назначение
- Универсальные группы
- Краткие выводы
- Лучшие практики
- Администрирование
- Добавить роль GC для КД
- Добавление UPN-суффикса
- Создание дополнительного атрибута
- SRV-запись GC в DNS
- Проверка готовности GC
- Управление глобальным каталогом Active Directory
- Поиск серверов глобального каталога
- Добавление или удаление глобального каталога
Global catalog — Глобальный каталог
Глобальный каталог Active Directory (Global catalog) очень часто называют шестой ролью FSMO и это имеет под собой некоторый смысл. Дело в том, что фактически глобальный каталог ролью FSMO являться не может хотя бы по причине того, что эту роль может в конкретный момент времени держать как один контроллер домена, так и все контроллеры домена леса враз. В то время как роли Flexible single-master operations может размещать на себе только один DC и если вдруг в лесу каким-то образом окажутся например два хозяина схемы, это непременно приведет к катастрофе.
Но почему же все-таки «шестая роль fsmo»? Подобное определение, на мой взгляд, могли дать только по одной причине — чтобы подчеркнуть важность этой роли для работы всего леса AD. Задача размещения на сервере глобального каталога действительно является очень важной для нормального функционирования не только служб AD DS, но и ряда других доменнозависимых сервисов, например Exchange Server.
В этой статье я постараюсь пролить свет на задачи и принцип работы серверов глобального каталога, ведь о них периодически совершенно не заслуженно забывают.
Основная статья по Active Directory — Active Directory Domain Services. Читайте также другие статьи по ролям хозяев операций — FSMO — Fexible Single Master Operations.
Если вам интересна тематика Windows Server, рекомендую обратиться к рубрике Windows Server на моем блоге.
Global catalog — Теория
Начнем с теории.
Назначение
Как и было сказано выше, глобальным каталогом могут быть одновременно несколько (или даже все враз) контроллеров домена в лесу. В средах со сложной иерархией доменов и множеством DC необходимо обеспечить приемлемое быстродействие повседневного функционала, например поиска объектов леса. Обычный рядовой контроллер домена хранит у себя полную реплику объектов своего домена, но не других доменов леса. То есть, чтобы найти, например, пользователя из домена А, контроллер домена В должен обратиться к одному из DC домена А для выполнения операции поиска, но такая операция однозначно займет сравнительно продолжительное время, тем более если все контроллеры домена А территориально располагаются совсем в другом месте и к тому же с не самым хорошим каналом связи.
Чтобы иметь возможность быстро выполнить поиск объектов из других доменов, к вам на помощь приходит глобальный каталог, который хранит у себя частичные реплики данных всего леса , помимо БД с объектами собственного домена.
Сказанное выше лучше всего иллюстрирует изображение из официальной документации 1 :
Как видно из рисунка, контроллер домена А, он же и глобальный каталог (сервер справа), содержит частичные реплики доменов B, C, D. Таким образом, для выполнения операции поиска пользователей домена D (или любого другого) сотрудником из домена A, даже не придется обращаться к контроллерам домена D, ведь вся информация уже доступна на сервере глобального каталога его родного домена A. Это также справедливо по отношению к поиску 2 любых объектов, которые опубликованы в AD 3 (пользователи, компьютеры, файлы, принтеры, службы).
Поиск объектов, пожалуй, одна из самых важных и частых задач, но есть и другие, в которых главную роль выполняет именно глобальный каталог. Например он участвует в процессе проверки подлинности с помощью основного имени пользователя (User principal name — UPN — имя, которое выглядит как e-mail пользователя).
Насколько известно, в доменах могут быть заданы альтернативные — дополнительные — «имена доменов». Это может потребоваться для упрощения входа пользователей или для повышения безопасности. Если у вас уже несколько UPN-суффиксов, для каждой конкретной учетной записи вы можете определить суффикс при создании учетки или в свойствах уже созданной:
Чтобы пользователь bissquit@corp.bissquit.com мог залогиниться на рабочей станции домена dev.corp.bissquit.com, контроллеры домена dev.corp.bissquit.com должны иметь доступ к глобальному каталогу, чтобы проверить подлинность пользователя и предоставленные ему разрешения (разумеется этот пользователь должен иметь права для локального входа на данную рабочую станцию).
Универсальные группы
Global catalog предоставляет сведения о членстве пользователя в универсальных группах в мультидоменной среде. При попытке пользователя залогиниться, контроллер домена, через который проходит процесс авторизации, формирует токен, содержащий идентификаторы (SID’ы) всех групп, в которые включена учетная запись пользователя. В свою очередь, получить сведения о членстве учетной записи в универсальных группах, контроллер домена может только у глобального каталога 4 . Иначе процесс аутентификации в домене с универсальными группами не пройдет (при этом о членстве в других типах групп известно и обычным контроллерам домена).
Если глобальный каталог недоступен при входе в домен с уровнем функциональности основного режима Windows 2000 или более высокого, то для пользователя, уже выполнявшего вход в домен, будут использоваться кэшированные учетные данные. Если пользователь еще не входил в домен, он может выполнить вход только на локальный компьютер. Однако вход в домен в качестве администратора (учетная запись «Встроенный администратор») всегда разрешен, даже если глобальный каталог недоступен.
Дополнительные сведения об универсальных группах см. в разделе Область действия группы. Дополнительные сведения об универсальных группах и о репликации см. в разделах Репликация глобального каталога и Глобальные каталоги и сайты.
Как было сказано выше, некоторые приложения очень сильно зависят от доступности глобального каталога. Например Exchange Server извлекает информацию о получателях именно через GC.
Краткие выводы
Сделаем вывод из сказанного выше, а также дополним информацию некоторыми другими фактами:
- При установке AD DS на первом контроллере домена в лесу, этот же контроллер становится и глобальным каталогом;
- Данные глобального каталога (частичные реплики других доменов леса) распространяются через механизм репликации;
- Доступность глобального каталога сильно зависит от сервисов DNS, поскольку при запуске контроллера или при окончании начальной репликации, netlogon публикует SRV-записи, указывающие, что этот сервер является сервером глобального каталога. Впоследствии клиенты узнают о существовании этого сервера GC именно из сведений DNS;
- Глобальный каталог осуществляет «связь» одного домена леса с другими — выполняет поиск объектов в других доменах, участвует в процессе аутентификации пользователей других доменов на своих рабочих станциях, определяет членство в универсальных группах, разрешает UPN-имена.
Из всего этого следует вывод, что глобальный каталог особенно важен, если речь идет о многодоменной инфраструктуре.
Далее перейдем к лучшим практикам администрирования.
Лучшие практики
Для целей отказоустойчивости крайне важно держать глобальным каталогом как минимум несколько контроллеров домена. Будет лучше, если в каждом домене будет минимум по одному GC. Тем не менее, если у вас есть возможность, лучше сделать серверами Global catalog все DC в лесу. Это положительно скажется ещё и на балансировке нагрузки, не говоря уже о том, что с этого момента можно будет практически не заботиться о FSMO-роли хозяин инфраструктуры (подробнее см. в статье ).
Если все же не получается сделать все DC серверами глобального каталога, то позаботьтесь о том, чтобы сервер-владелец роли хозяин инфраструктуры не располагался на сервере глобального каталога, иначе это приведет к остановке его функционирования (фантомные записи не будут создаваться/изменяться) и как следствие — появлению неактуальных данных.
Администрирование
Некоторые базовые задачи администрирования, связанные с GC, рассмотрены ниже.
Добавить роль GC для КД
Сделать 5 сервер глобальным каталогом вы можете из оснастки Active Directory — сайты и службы 6 . Для этого откройте оснастку, найдите контроллер домена (1), который хотите сделать сервером GC и нажмите правой кнопкой на NTDS Settings (2) нужного вам сервера, открыв свойства:
Откроется окно свойств и на вкладке Общие вам необходимо поставить галочку рядом с Глобальный каталог. Как только репликация данных глобального каталога завершится, через SRV-запись он объявит себя сервером GC.
Добавление UPN-суффикса
Выше я упоминал об UPN-суффиксах. Чтобы добавить дополнительные суффиксы 7 , нужно зайти в оснастку Active Directory — домены и доверие. Далее — нажать правой кнопкой на имя оснастки и зайти в свойства:
Тут вы сможете добавить дополнительные UPN-суффиксы и уже при создании/изменении учетных записей пользователей выбирать нужные.
Создание дополнительного атрибута
Также есть возможность создания собственных 8 9 атрибутов AD. Сделать это можно через оснастку Схема Active Directory (подробнее см. в статье Schema master — Хозяин схемы Active Directory):
Разумеется при любых изменениях схемы необходимо проявлять осторожность и четко понимать к чему могут привести те или иные действия, в противном случае лучше не лезьте
SRV-запись GC в DNS
Проверить регистрацию 10 серверов глобального каталога в DNS вы можете в соответствующей оснастке в контейнере _tcp зоны прямого просмотра вашего домена:
Проверка готовности GC
Ну а проверить готовность сервера GC можно по инструкции 11 :
1) Откройте оснастку Ldp. Чтобы открыть Ldp, нажмите кнопку Пуск, выберите команду Выполнить, введите ldp, а затем нажмите кнопку ОК.
Чтобы открыть Ldp в , ldp.
2) В меню Подключение выберите команду Подключить.
3) В поле Подключиться введите имя сервера, на котором имеется глобальный каталог, чью готовность необходимо проверить.
4) В поле Порт введите 389, если значение 389 не появилось.
5) Снимите флажок Без подключения и нажмите кнопку ОК.
6) В области сведений проверьте, что значение атрибута isGlobalCatalogReady равно TRUE.
7) В меню Подключение выберите команду Отключиться, затем закройте оснастку Ldp.
На этом обзор одной из важнейших ролей контроллеров домена — глобального каталога — завершен. Оставляйте в комментариях свои мнения и замечания.
Управление глобальным каталогом Active Directory
Контроллер домена, назначенный на роль глобального каталога, хранит полную копию всех объектов Active Directory для своего домена и частичную копию для остальных доменов леса. Глобальные каталоги используются в процессах входа и поиска информации. Фактически, если глобальный каталог недоступен, обычные пользователи не смогут войти в домен. Единственный способ изменить такое поведение — кэшировать информацию об универсальном членстве в группах на локальных контроллерах домена. По умолчанию первый контроллер, установленный в домене, назначается глобальным каталогом. Вы также можете добавить глобальные каталоги в домен для ускорения отклика при подключении и запросах на поиск. Рекомендуется один глобальный каталог на каждый сайт внутри домена.
Любой контроллер домена, обслуживающий глобальный каталог, должен иметь широкополосное соединение с сетью и другими контроллерами домена, выступающими в роли координаторов инфраструктуры (infrastructure masters). Координатор инфраструктуры — одна из пяти ролей координатора операций, которые можно назначить доменному контроллеру. Этот координатор отвечает за обновление ссылок на объекты. Для этого координаторы инфраструктуры сравнивают свои данные с данными глобального каталога. Если координатор инфраструктуры обнаруживает устаревшие данные, он запрашивает обновленные данные из глобального каталога. Затем координатор инфраструктуры копирует изменения па другие контроллеры домена.
Поиск серверов глобального каталога
Хотите узнать, где находится глобальный каталог? Для вашего текущего (входного) домена просто наберите dsquery server -isgc. В результате вы получите список DN серверов глобального каталога, например:
«CN=C0RPSVR02,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=site1,DC=com»
Команда DSQUERY server также годится для поиска глобальных каталогов в конкретном домене. Чтобы сделать это, используйте параметр -Domain:
- dsquery server -domain site1.com -isgc
Здесь вы ищете серверы глобального каталога в домене site1 .com . Для поиска серверов во всем лесу наберите:
- dsquery server -forest -isgc
Вы также можете искать серверы глобального каталога по сайту, но для этого нужно знать полное имя сайта и нельзя использовать символы подстановки. Например, чтобы найти все серверы глобального каталога для сайта Default-First-Site-Name, введите dsquery server -site Default-First-Site-Name.
Добавление или удаление глобального каталога
Вы можете назначить контроллер домена на роль глобального каталога командой DSMOD server. Укажите DN нужного сервера и параметр -isgc yes, чтобы этот сервер обслуживал глобальный каталог, например:
- dsmod server «CN=corpdc05,OU=Eng,DC= site1 ,DC=com» -isgc yes
Другой способ решения той же задачи — применить DSQUERY server для получения списка серверов, с которыми вы хотите работать. Допустим, в домене tech.cpandl.com три контроллера домена, и вы хотите, чтобы все они стали серверами глобального каталога. Тогда введите примерно такую командную строку:
dsquery server -domain site1 .com | dsmod server -isgc yes
Здесь вы используете DSQUERY server для получения DN всех контроллеров в домене site1 .com и передачи этой информации на вход команды DSMOD server, которая сделает каждый контроллер домена сервером глобального каталога.
Если вы в дальнейшем захотите, чтобы сервер прекратил выступать в роли глобального каталога, наберите -isgc по. В следующем примере отменяется обслуживание глобального каталога сервером corpdc04 в домене site1 .com :
- dsmod server «CN=corpdc04,0U=Tech,DC=site1,DC=com» -isgc no