При расширении штата пользователей платформы 1С:Предприятие системные администраторы часто сталкиваются с задачей добавления дополнительных лицензий к уже существующему аппаратному ключу. Нередко возникает идея приобрести второй USB-ключ (например, на 20 или 50 рабочих мест) и просто подключить его в свободный USB-порт того же сервера или в подключенный USB-хаб. Разберем, почему подобная схема не будет работать по умолчанию, выясним аппаратные ограничения ключей серии HASP4 и рассмотрим корректные технические способы решения этой задачи.
Проанализируем работу связки драйвера защиты и операционной системы. Драйвер 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 прекрасно работают на одной физической машине, так как принадлежат к разным сериям.
Самый надежный классический способ задействовать оба сетевых USB-ключа — разнести их по разным компьютерам в локальной сети. Это могут быть два физических сервера, сервер и рабочая станция или две виртуальные машины. Рассмотрим настройку этой схемы по шагам.
HASP License Manager (работающую по порту 475 по протоколам TCP и UDP).nhsrv.ini, расположенный в каталоге установки менеджера лицензий, и зададим уникальное имя сервера в параметре NHS_SERVERNAMES (до 7 латинских символов).На первом хосте укажем имя LM1:
[NHS_SERVER]
NHS_SERVERNAMES = LM1
На втором хосте укажем имя LM2:
[NHS_SERVER]
NHS_SERVERNAMES = LM2
После внесения изменений перезапускаем службу HASP License Manager на обоих компьютерах и убеждаемся, что в брандмауэре открыт входящий и исходящий трафик по порту 475.
Чтобы клиентские приложения 1С или служба сервера 1С гарантированно находили оба менеджера лицензий и не тратили лишнее время на широковещательный опрос сети, настроим конфигурационный файл nethasp.ini. Разберем, где он должен находиться:
conf на компьютерах пользователей (обычно путь вида C:\Program Files\1cv8\conf\nethasp.ini).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.
Если в инфраструктуре предприятия нет возможности выделить отдельные физические ПК под ключи защиты, применяют аппаратные или программные концентраторы USB-over-IP. В этом случае оба физических ключа вставляются в общий сетевой концентратор (хаб), но каждый USB-порт пробрасывается в изолированную виртуальную машину. На каждой виртуальной машине запускается своя независимая служба HASP License Manager, настроенная по схеме из Способа 1.
Если эксплуатация нескольких аппаратных ключей вызывает технические сложности, рассмотрим альтернативные пути, предусмотренные разработчиками платформы:
.lic) суммируются автоматически. Их можно активировать на одном и том же сервере в любом количестве. При автоматическом получении через интернет файлы лицензий сохраняются в системные каталоги (например, C:\ProgramData\1C\licenses) и сразу формируют единый доступный пул подключений для сервера 1С.При диагностике лицензирования нередко возникает путаница с тем, какие именно ключи видит платформа. Открыв меню Справка — О программе, проанализируем структуру блока информации о защите:
Таким образом, объединить два сетевых USB-ключа серии ORGL8 на одном сервере простым подключением в соседние разъемы технически невозможно. Для их одновременной работы необходимо физически или виртуально разнести ключи по разным сетевым хостам и сконфигурировать менеджеры лицензий и файлы nethasp.ini.