Почему клиенты 1С не видят аппаратный ключ защиты при отключении раздачи лицензий сервером?

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

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

Разберем детально, почему это происходит, в чем принципиальная разница между получением лицензий от сервера 1С и напрямую от HASP License Manager, а также пошагово настроим рабочие станции для стабильного прямого поиска аппаратного ключа.

В чем разница между раздачей лицензий сервером 1С и HASP License Manager

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

  1. Раздача лицензий кластером серверов 1С:Предприятия: при таком подходе сетевой опрос ключа выполняет сам процесс сервера 1С (ragent / rphost), находящийся на том же физическом компьютере или в той же локальной сети, что и ключ. Сервер берет лицензию из пула и выдает ее подключившемуся сеансу. Главная особенность: лицензия списывается на каждый сеанс. Если один пользователь запустит три разные информационные базы, сервер 1С израсходует три клиентские лицензии из общего ключа.
  2. Раздача через HASP License Manager (напрямую клиентом): при отключении серверной раздачи поиск ключа выполняет само клиентское приложение (толстый или тонкий клиент), запущенное на рабочей станции пользователя. Клиент отправляет сетевой запрос в сторону службы HASP License Manager. В этом режиме лицензия выдается на физический компьютер: пользователь может открыть сколько угодно баз и сеансов на своем ПК, и при этом будет занята всего 1 лицензия (исключением является работа в терминальном режиме RDP, где лицензия считается на каждую терминальную сессию).

Если серверная раздача выключена, а клиенты не находят ключ, причина заключается в сетевой недоступности службы HASP License Manager для клиентских компьютеров либо в отсутствии явного указания адреса сервера лицензирования.

Шаг 1. Настройка конфигурационного файла nethasp.ini на клиентских компьютерах

По умолчанию клиент 1С пытается найти менеджер лицензий с помощью широковещательных пакетов (Broadcast) по всей локальной сети. Если рабочие станции пользователей и сервер 1С находятся в разных подсетях, VLAN или разделены маршрутизаторами, широковещательные пакеты блокируются сетевым оборудованием. В результате клиент 1С не получает ответа от ключа.

Для гарантированного подключения настроим файл nethasp.ini, который заставляет платформу отправлять направленный unicast-запрос напрямую на IP-адрес сервера лицензирования.

Выясним расположение файла: nethasp.ini должен находиться в каталоге bin установленной платформы 1С на клиентском ПК (например, C:\Program Files\1cv8\8.3.XX.XXXX\bin\ или C:\Program Files (x86)\1cv8\8.3.XX.XXXX\bin\), либо в общем каталоге конфигурационных файлов conf.

Откроем nethasp.ini в текстовом редакторе и настроим секцию [NH_TCPIP] следующим образом:


[NH_COMMON]
NH_TCPIP = ENABLED

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.100
NH_USE_BROADCAST = DISABLED
NH_TCPIP_METHOD = TCP_OR_UDP

Разберем назначение ключевых параметров:

  1. NH_SERVER_ADDR — задает точный IP-адрес или DNS-имя сервера, на котором физически установлен USB-ключ HASP и запущена служба менеджера лицензий. Если ключей несколько и они разнесены по разным серверам, адреса можно перечислить через запятую.
  2. NH_USE_BROADCAST = DISABLED — полностью отключает широковещательный поиск. Это исключает задержки и таймауты при запуске 1С, так как клиент не тратит время на сканирование всей сети, а сразу обращается по заданному адресу.
  3. NH_TCPIP = ENABLED — принудительно включает протокол TCP/IP и отключает опрос устаревших протоколов IPX и NetBIOS.

Шаг 2. Проверка сетевых портов и брандмауэра

Менеджер лицензий HASP License Manager принимает входящие подключения от клиентов по протоколам TCP и UDP на порт 475.

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

  1. В брандмауэре Windows (Windows Defender Firewall) на сервере необходимо создать входящее правило для порта 475 (для обоих протоколов — TCP и UDP) либо разрешить сетевую активность для исполняемого файла службы nhsrvice.exe.
  2. На клиентских компьютерах убедимся, что исходящий трафик по порту 475 не блокируется локальными антивирусными экранами.

Шаг 3. Проверка режима работы HASP License Manager

Проанализируем состояние самого менеджера лицензий на сервере:

  1. Утилита HASP License Manager должна быть установлена и запущена именно в виде системной службы Windows (Service), а не как приложение (GUI Application). Если менеджер запущен как обычная программа из-под учетной записи администратора, при закрытии сеанса или выходе из системы раздача лицензий немедленно прекратится.
  2. Убедимся, что на сервере корректно установлен драйвер аппаратного ключа защиты (HASP Device Driver). При этом на клиентских рабочих станциях сам драйвер ключа устанавливать не требуется — клиенту достаточно файла nethasp.ini и сетевого доступа к порту 475 сервера.

Особые случаи: тонкий клиент через веб-сервер и одинаковые ключи

Рассмотрим ситуации, когда прямое получение лицензий через HASP License Manager невозможно по архитектурным причинам:

  1. Подключение через веб-сервер (Apache / IIS) или веб-клиент: при подключении к информационной базе через браузер или через тонкий клиент по протоколам HTTP/HTTPS браузер клиента физически не может опрашивать службу HASP LM по сети. В такой схеме лицензии обязан выдавать либо веб-сервер, либо кластер серверов 1С.
  2. Использование двух сетевых ключей на одном сервере: менеджер лицензий HASP License Manager не может объединять емкость двух сетевых аппаратных ключей одной серии на одном сервере. Если установить два ключа на 50 лицензий в один компьютер, будет виден только один из них. Чтобы получить суммарные 100 лицензий, ключи необходимо физически разнести на два разных компьютера в сети и указать оба IP-адреса через запятую в параметре NH_SERVER_ADDR файла nethasp.ini.
← На главную