Можно ли использовать два сетевых USB-ключа защиты на одном сервере 1С 8.3?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При расширении штата пользователей платформы 1С:Предприятие системные администраторы часто сталкиваются с задачей добавления дополнительных лицензий к уже существующему аппаратному ключу. Нередко возникает идея приобрести второй USB-ключ (например, на 20 или 50 рабочих мест) и просто подключить его в свободный USB-порт того же сервера или в подключенный USB-хаб. Разберем, почему подобная схема не будет работать по умолчанию, выясним аппаратные ограничения ключей серии HASP4 и рассмотрим корректные технические способы решения этой задачи.

В чем заключается аппаратное ограничение ключей HASP?

Проанализируем работу связки драйвера защиты и операционной системы. Драйвер HASP и менеджер лицензий идентифицируют аппаратные ключи по коду разработчика и серии. Все аппаратные клиентские сетевые ключи на 5, 10, 20, 50, 100 и даже однопользовательский ключ принадлежат к одной серии — ORGL8. Исключение составляют лишь очень крупные номиналы: ключ на 300 пользователей относится к серии ORGL8A, а на 500 пользователей — к серии ORGL8B. Серверные лицензии (например, на 32-разрядный или 64-разрядный сервер 1C:Предприятия) относятся к серии ENSR8.

На одной шине компьютера операционная система и служба менеджера лицензий (HASP License Manager) не могут различить два физических устройства с абсолютно одинаковым идентификатором серии. В результате служба захватывает только один произвольно выбранный ключ из одинаковой серии, а второй полностью игнорируется. Если вы подключите в один сервер ключ на 20 пользователей и ключ на 50 пользователей (оба серии ORGL8), доступно будет либо 20, либо 50 лицензий, но никак не их сумма в 70 мест. При этом серверный ключ серии ENSR8 и один клиентский ключ серии ORGL8 прекрасно работают на одной физической машине, так как принадлежат к разным сериям.

Способ 1. Разнесение ключей по разным хостам и настройка HASP License Manager

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

  1. Подключаем первый ключ в первый хост, а второй ключ — во второй хост.
  2. На обоих компьютерах устанавливаем драйвер защиты и службу HASP License Manager (работающую по порту 475 по протоколам TCP и UDP).
  3. Настраиваем уникальные сетевые имена менеджеров лицензий. По умолчанию все менеджеры лицензий регистрируются под одинаковым именем, что приводит к коллизиям в широковещательном домене. Откроем файл конфигурации nhsrv.ini, расположенный в каталоге установки менеджера лицензий, и зададим уникальное имя сервера в параметре NHS_SERVERNAMES (до 7 латинских символов).

На первом хосте укажем имя LM1:


[NHS_SERVER]
NHS_SERVERNAMES = LM1

На втором хосте укажем имя LM2:


[NHS_SERVER]
NHS_SERVERNAMES = LM2

После внесения изменений перезапускаем службу HASP License Manager на обоих компьютерах и убеждаемся, что в брандмауэре открыт входящий и исходящий трафик по порту 475.

Способ 2. Адресный поиск лицензий через nethasp.ini

Чтобы клиентские приложения 1С или служба сервера 1С гарантированно находили оба менеджера лицензий и не тратили лишнее время на широковещательный опрос сети, настроим конфигурационный файл nethasp.ini. Разберем, где он должен находиться:

  1. Если лицензии раздаются клиентскими рабочими местами напрямую — файл размещается в каталоге conf на компьютерах пользователей (обычно путь вида C:\Program Files\1cv8\conf\nethasp.ini).
  2. Если лицензии раздает сервер 1С (в свойствах информационной базы установлено свойство «Разрешить выдачу лицензий сервером: Да») — файл настраивается в каталоге conf сервера 1С.

Настроим файл nethasp.ini следующим образом:


[NH_COMMON]
NH_IPX = Disabled
NH_NETBIOS = Disabled
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10, 192.168.1.11
NH_SERVER_NAME = LM1, LM2
NH_USE_BROADCAST = Disabled

Отключение параметра NH_USE_BROADCAST исключает сетевые задержки и коллизии, а прямой список NH_SERVER_ADDR позволяет платформе последовательно обращаться сначала к первому хосту, а при исчерпании лицензий — ко второму.

Обратим внимание на нюанс с «залипанием» сессий: при аварийном завершении работы клиента сетевая лицензия может удерживаться менеджером лицензий до истечения таймаута соединения. Если пользователь в это время запускает программу повторно, он может занять лицензию уже со второго менеджера. Чтобы избежать неконтролируемого расхода лицензий, администраторы часто разделяют пользователей по отделам, жестко закрепляя за конкретными группами ПК свой адрес в файле nethasp.ini.

Способ 3. Проброс ключей через USB-over-IP на виртуальные машины

Если в инфраструктуре предприятия нет возможности выделить отдельные физические ПК под ключи защиты, применяют аппаратные или программные концентраторы USB-over-IP. В этом случае оба физических ключа вставляются в общий сетевой концентратор (хаб), но каждый USB-порт пробрасывается в изолированную виртуальную машину. На каждой виртуальной машине запускается своя независимая служба HASP License Manager, настроенная по схеме из Способа 1.

Способ 4. Программные лицензии или апгрейд ключа

Если эксплуатация нескольких аппаратных ключей вызывает технические сложности, рассмотрим альтернативные пути, предусмотренные разработчиками платформы:

  1. Официальный апгрейд ключей защиты. Фирма 1С позволяет выполнить процедуру объединения: сдать имеющиеся аппаратные ключи меньшего номинала (например, 20 и 50 мест) с доплатой разницы стоимости и получить один физический ключ на 100 рабочих мест. В таком случае отпадает необходимость разнесения служб по разным хостам.
  2. Переход на программные лицензии. В отличие от аппаратных ключей, программные лицензии (файлы с расширением .lic) суммируются автоматически. Их можно активировать на одном и том же сервере в любом количестве. При автоматическом получении через интернет файлы лицензий сохраняются в системные каталоги (например, C:\ProgramData\1C\licenses) и сразу формируют единый доступный пул подключений для сервера 1С.

Как правильно читать информацию о лицензиях в окне «О программе»

При диагностике лицензирования нередко возникает путаница с тем, какие именно ключи видит платформа. Открыв меню Справка — О программе, проанализируем структуру блока информации о защите:

  1. Блок Текущая — отражает информацию об активной лицензии, которую в данный момент получило приложение для текущего сеанса (например, сетевой ключ, локальный ключ или программный файл с регистрационным номером). Только эта запись показывает реально используемую лицензию в текущей сессии.
  2. Блок Информационная база — является информационным списком истории. В нем накапливаются сведения обо всех типах ключей и лицензий, под которыми пользователи когда-либо успешно подключались к данной базе данных. Присутствие в этом блоке старых или отсутствующих в данный момент ключей не означает, что они работают сейчас или подключены к серверу.

Таким образом, объединить два сетевых USB-ключа серии ORGL8 на одном сервере простым подключением в соседние разъемы технически невозможно. Для их одновременной работы необходимо физически или виртуально разнести ключи по разным сетевым хостам и сконфигурировать менеджеры лицензий и файлы nethasp.ini.

← На главную