При работе с несколькими аппаратными ключами HASP в локальной сети администраторы часто сталкиваются с ситуацией, когда клиенты «цепляются» за один ключ и не переходят на свободный при его заполнении. Давайте разберемся, почему это происходит и как правильно организовать распределение лицензий.
Прежде всего, важно уяснить, как именно клиентское приложение 1С:Предприятие ищет доступные лицензии. Процесс поиска строго регламентирован:
nethasp.ini.Важно помнить: если лицензии раздает Сервер 1С:Предприятие, то именно он является «клиентом» для HASP License Manager. В этом случае настройки nethasp.ini на компьютерах пользователей не влияют на процесс получения лицензий сервером 1С.
Если вы хотите, чтобы клиенты или сервер 1С корректно видели несколько ключей, необходимо обеспечить уникальность имен серверов и их правильный порядок в конфигурационных файлах.
Разберем по шагам настройку nethasp.ini:
nethasp.ini (обычно находится в папке conf платформы 1С).[NH_TCPIP] укажите IP-адреса серверов через запятую в параметре NH_SERVER_ADDR.NH_SERVER_NAME укажите соответствующие имена серверов, заданные в nhsrv.ini на каждой машине с ключом.Важно, чтобы порядок имен в NH_SERVER_NAME строго соответствовал порядку IP-адресов в NH_SERVER_ADDR. Имя сервера должно быть коротким (до 7 символов) и на латинице.
Пример корректной настройки для двух серверов:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.41, 192.168.1.54
NH_SERVER_NAME = LM1, LM2
NH_USE_BROADCAST = Disabled
Когда лицензии раздает Сервер 1С, он не умеет динамически «балансировать» нагрузку между ключами в режиме пула. Если сервер 1С увидел один ключ и исчерпал его лимит, он может не пытаться опросить второй ключ в сети. Чтобы избежать проблем:
HASP LM имеет уникальное имя в файле nhsrv.ini (параметр NHS_SERVERNAMES).nhsrv.ini в правильных системных папках: C:\Windows\SysWOW64 для 64-разрядных систем или C:\Windows\System32 для 32-разрядных.Не пытайтесь устанавливать два физических ключа одной серии в один и тот же USB-порт или на одну виртуальную машину. Драйвер защиты увидит только один из них (или они будут конфликтовать). Для масштабирования системы используйте:
NHS_IP_LIMIT в nhsrv.ini на стороне каждого менеджера лицензий для ограничения круга «опрашивающих» устройств.475 (UDP/TCP), который должен быть открыт во всех межсетевых экранах (Firewall) для стабильной работы протокола HASP.В завершение, проанализируем ситуацию: если ваша архитектура предполагает работу через Сервер 1С, при возникновении «бубнов» (ошибок доступа) лучшим решением будет проверка сетевой доступности каждого из серверов ключей по 475 порту и жесткая фиксация списка серверов в nethasp.ini на тех узлах, которые получают лицензии.