Обнаружение службы лицензий сервера терминалов — часть 1: этот процесс обнаружения

Опубликовано: 24 Апреля, 2023


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


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



Выбор роли


Windows Server 2003 позволяет устанавливать сервер лицензий на любой сервер предприятия. Служба лицензирования служб терминалов устанавливается с помощью «Установка и удаление программ» на панели управления.



Примечание:
Windows 2000 требовала, чтобы сервер лицензий был установлен на контроллере домена Active Directory; однако, начиная с Windows Server 2003, это больше не применяется, и сервер лицензий можно установить на любом сервере Windows Server 2003.


В рамках установки необходимо выбрать роль сервера лицензий. На рис. 1 показано диалоговое окно выбора роли. Вы заметите, что в тексте указано « Сделать этот сервер лицензий доступным для »; однако это может ввести в заблуждение. Существует распространенное заблуждение, что роль сервера лицензий определяет границы, в которых серверы терминалов могут использовать сервер лицензий для выделения клиентских лицензий клиентам. Напротив, роль просто определяет, как и когда сервер лицензий будет обнаружен терминальными серверами.



Рисунок 1: Установка службы лицензий


Когда выбран режим предприятия, установка записывает запись в Active Directory в следующем месте:




Примечание:
Чтобы эта запись была успешной, администратор, устанавливающий службу, должен иметь соответствующие права в Active Directory для создания записи.


В мастере установки есть только два разных выбора ролей — Домен/Рабочая группа и Предприятие ; значение ключа реестра идентифицирует различие. Однако существует три классификации ролей серверов лицензий. Различия перечислены ниже:



  • Сервер лицензий рабочей группы — когда терминальный сервер, не являющийся членом домена Active Directory, обнаруживает сервер лицензий, он обнаруживается как сервер лицензий рабочей группы.
  • Сервер лицензий домена. Когда терминальный сервер обнаруживает сервер лицензий посредством прямой связи RPC, он идентифицируется как сервер лицензий домена.
  • Корпоративный сервер лицензий. Когда терминальный сервер обнаруживает сервер лицензий, выполняя запрос LDAP к Active Directory, он идентифицируется как корпоративный сервер лицензий.

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



Процесс открытия


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


Процесс обнаружения обычно запускается в результате одного из следующих событий:



  • Служба сервера терминалов запущена и еще не обнаружила серверы лицензий
  • Сервер терминалов больше не может связываться с какими-либо известными серверами лицензий во время интервала опроса.
  • Клиент входит в систему, и сервер терминалов не может связаться ни с одним из серверов лицензий

Способ обнаружения сервера лицензий зависит от статуса членства в домене сервера терминалов. Для терминальных серверов, которые находятся в рабочей группе или в домене, не основанном на Active Directory, таком как Windows NT, процесс обнаружения существенно отличается от того, если терминальный сервер является членом домена Active Directory; в любом случае процесс обнаружения проходит через следующие общие этапы:



  1. Обнаружение выполняется для обнаружения сервера лицензий.
  2. После обнаружения сервер лицензий кэшируется в реестре сервера терминалов для использования в будущем в одном из следующих мест в зависимости от режима обнаруженного сервера лицензий:













Роль сервера лицензий


Расположение кэша реестра


Роль предприятия


HKLMSoftwareMicrosoftMSLicensingParametersDomainLicenseServerMulti


Роль домена/рабочей группы


HKLMSoftwareMicrosoftMSLicensingParameters EnterpriseLicenseServerMulti


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



  1. Как только сервер лицензий обнаружен, сервер терминалов периодически проверяет, может ли он связаться с ним.
  2. Если в какой-либо момент сервер терминалов попытается связаться с сервером лицензий, но ни один из них не будет доступен, процесс обнаружения начнется снова.

Обнаружение рабочих групп и неактивных каталогов


Этот метод обнаружения выполняется, когда сервер терминалов является членом рабочей группы или членом домена, не входящего в Active Directory, например домена Windows NT.


Когда начнется процесс обнаружения, сервер терминалов сначала проверит свой раздел реестра LicenseServers. Расположение этого ключа зависит от версии операционной системы; В таблице 1 указано расположение ключей LicenseServers для Windows 2000 и Windows 2003.














Версия ОС


Расположение ключа LicenseServers


Windows сервер 2003


HKLMSystemCurrentControlSetServicesTermServiceParametersLicenseServers


Сервер Windows 2000


HKLMSystemCurrentControlSetServicesTermServiceParameters

Таблица 1: Расположение разделов реестра LicenseServers


Для каждой записи в этом ключе будет предпринята попытка подключения через Windows RPC (удаленный вызов процедуры). Если сервер лицензий отвечает, он кэшируется в реестре, и процесс обнаружения прекращается.


Если ключ LicenseServers пуст или нет связи с серверами лицензий, следующим действием будет выполнение широковещательной рассылки NetBIOS в локальной подсети сервера терминалов, чтобы узнать, отвечают ли какие-либо серверы лицензий. В этом случае с сервером открывается соединение RPC, и сервер лицензий добавляется в реестр. Если серверы лицензий не отвечают на широковещательную рассылку, процесс обнаружения приостанавливается на 15 минут и начинается снова.


Если в какой-либо момент процесса обнаружения обнаруживается сервер лицензий, он добавляется в реестр и проверяется каждые 120 минут. Если все известные серверы лицензий больше недоступны, процесс обнаружения запускается снова. На рис. 2 показан этот двухэтапный процесс в виде блок-схемы.



Рис. 2. Обнаружение рабочей группы/неактивного каталога (щелкните, чтобы увеличить изображение)


Обнаружение членства в Active Directory


Если терминальный сервер является членом домена Active Directory, процесс обнаружения будет совсем другим. Как и в случае с рабочей группой, сначала проверяется ключ реестра LicenseServers на наличие записей, а затем предпринимается попытка подключиться к каждой записи через RPC. Если такие найдены, они кэшируются в реестре на сервере терминалов, и процесс обнаружения завершается.


Если серверы лицензий не найдены, сервер терминалов выполнит запрос LDAP к Active Directory, пытаясь найти корпоративный сервер лицензий. Сервер запрашивает следующий объект:



Если запись найдена, она пытается установить соединение RPC с сервером лицензий. В случае успеха он добавляет сервер(ы) лицензий в реестр, и процесс обнаружения продолжает проверять, может ли он обнаружить какие-либо серверы лицензий домена.


Затем терминальный сервер попытается подключиться через RPC к каждому контроллеру домена на своем сайте, чтобы найти сервер лицензий, и в случае неудачи он перейдет к проверке каждого контроллера домена в домене. Подключение к любым обнаруженным серверам лицензий проверяется каждые 60 минут. Любые обнаруженные серверы лицензий добавляются в кэш реестра терминального сервера.


Если серверы лицензий не обнаружены, процесс приостанавливается на 60 минут и начинается снова. После обнаружения сервера лицензий, если в какой-либо момент известные серверы лицензий недоступны, процесс обнаружения инициируется снова. На рис. 3 показан этот трехэтапный процесс в виде блок-схемы.



Рис. 3. Обнаружение Active Directory (щелкните, чтобы увеличить изображение)


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


подпишитесь на нашу рассылку новостей об обновлениях статей в режиме реального времени