Довольно часто системные администраторы сталкиваются с парадоксальной ситуацией: клиент-серверные базы 1С на предприятии работают без нареканий, но при попытке запустить файловую информационную базу система выдает ошибку: «Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия!». В этой статье мы подробно разберем, почему так происходит, как диагностировать проблему с помощью логов и как правильно настроить конфигурационные файлы для стабильной работы аппаратных ключей HASP.
Рассмотрим типовую ситуацию. На сервере установлены два аппаратных ключа: сетевой ключ ORGL8 на 100 рабочих мест и серверный ключ EN8SA (x86-64). Менеджер лицензий (License Manager) запущен, и серверные базы успешно получают лицензии. Однако при запуске файловой базы 1С выдает подробный протокол поиска, в котором мы видим следующие критические строки:
nethasp.ini: C:/Program Files/1cv8/conf/nethasp.ini, ошибка в строке 24, сетевой HASP не используется, ORGL8 Сетевой, не установлен
локальный ключ недоступен: Status=-10, ORGL8 Локальный, не установлен
Проанализируем этот отчет. Система явно указывает на ошибку в конкретной строке файла nethasp.ini. Статус -10 означает, что драйвер ключа не может найти аппаратное устройство. Тот факт, что серверные базы работают, объясняется тем, что лицензии для них раздает сам сервер 1С (кластер), который имеет прямой доступ к ключу, в то время как файловая база пытается найти ключ самостоятельно через сетевой протокол и натыкается на некорректные настройки.
Выясним причину ошибки в 24-й строке, упомянутой в логе. Файл nethasp.ini используется для настройки параметров доступа к сетевым ключам. Часто при первичной настройке администраторы допускают ошибку при раскомментировании параметров.
В рассматриваемом случае в строке 24 находился следующий текст:
NH_TCPIP = Enabled or Disabled
Это типичная ошибка синтаксиса. В оригинальном шаблоне файла эта строка приведена как пример возможных значений. Если убрать символ комментария (точка с запятой ;), но оставить текст or Disabled, парсер 1С не сможет интерпретировать команду и полностью игнорирует использование сетевого протокола TCP/IP для поиска ключа.
Для исправления ситуации необходимо привести строку к рабочему виду:
NH_TCPIP = Enabled
Или просто закомментировать её обратно, так как протокол TCP/IP обычно включен по умолчанию, если не указано иное.
Рассмотрим последовательность действий для восстановления работоспособности лицензий:
nethasp.ini. Основной файл, на который ссылается платформа, обычно расположен в папке conf (например, C:\Program Files\1cv8\conf\nethasp.ini). Также файл может находиться в каталоге bin конкретной версии платформы.
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.100 ; укажите адрес вашего сервера ключей
NH_USE_BCAST = Disabled ; отключаем широковещательный поиск для ускорения
HASP Loader на сервере.Важно понимать фундаментальное различие в том, как файловые и серверные базы работают с ключами. Разберем этот механизм подробнее.
Для серверных баз: Лицензию может выдавать сервер 1С:Предприятия. В свойствах информационной базы в консоли администрирования кластера есть параметр "Разрешить выдачу лицензий сервером". Если он включен, сервер сам забирает лицензии из ключа и раздает их сеансам. В этом случае клиенту не нужно "видеть" ключ по сети, достаточно, чтобы сервер имел к нему доступ.
Для файловых баз: Файловая база всегда ищет лицензию самостоятельно. Она либо обращается к локальному USB-ключу, либо ищет сетевой ключ через HASP License Manager. Если nethasp.ini настроен неправильно или порт 475 закрыт брандмауэром, файловая база никогда не увидит сетевой ключ, даже если серверные базы работают отлично.
Если на одном сервере установлено несколько ключей, нужно учитывать следующие правила, чтобы избежать конфликтов:
EN8SA) и клиентский ключ (серия ORGL8) прекрасно уживаются вместе. Проблем с ними обычно не возникает.ORGL8 (например, на 50 и 100 мест) в один компьютер. Система увидит только один из них (с большим количеством лицензий или подключенный первым). Если вам нужно суммировать лицензии, придется разносить ключи по разным физическим серверам и устанавливать на каждом свой License Manager.Для мониторинга использования лицензий рекомендуется использовать утилиту AKS Monitor. Рассмотрим, чем она может помочь:
Она показывает в реальном времени, сколько лицензий занято и с каких IP-адресов. Если в мониторе вы видите ключ, но 1С его не находит — значит, проблема в сетевых настройках клиента или настройках nethasp.ini. Если же ключа не видно даже в мониторе — проблема в драйвере ключа или самом License Manager.
Выясним, в каком порядке 1С:Предприятие ищет ключ. Это поможет понять, на каком этапе происходит сбой:
nethasp.ini..lic в папке conf).Если вы хотите принудительно использовать именно аппаратный ключ (например, при наличии параллельно установленных программных лицензий), при запуске базы в окне настройки параметров можно установить флажок «Использовать аппаратный ключ защиты».
Подводя итог, можно сказать, что стабильность работы HASP-ключей на 90% зависит от корректности заполнения nethasp.ini и доступности порта 475 по протоколам UDP и TCP. Внимательно проверяйте синтаксис конфигурационных файлов и используйте инструменты диагностики для быстрого решения проблем с лицензированием.