В современных инсталляциях «1С:Предприятие» часто возникает ситуация сосуществования различных типов лицензирования: программных лицензий и аппаратных ключей (HASP). Одной из наиболее распространенных задач для системного администратора является настройка клиентского рабочего места таким образом, чтобы оно игнорировало программные лицензии и обращалось напрямую к сетевому аппаратному ключу. В этой статье мы подробно разберем, почему клиент 1С может «не видеть» ключ, как правильно настроить конфигурационные файлы и как провести глубокую диагностику системы лицензирования.
Прежде чем приступать к программным настройкам, проанализируем физическое устройство, установленное в сервере. Как показывает практика, основной причиной неудач часто становится использование ключа, не предназначенного для раздачи клиентских лицензий. Проверим маркировку и цвет корпуса USB-ключа:
NET (например, NET5, NET20, NET100), где цифра указывает на количество доступных лицензий.ENSR8 или EN8SA.License Manager по сети.Если в вашем распоряжении оказался зеленый ключ, никакие настройки nnhasp.ini не заставят программу увидеть в нем пользовательские лицензии. Убедимся, что в сервер вставлен именно красный или фиолетовый сетевой ключ.
Для того чтобы платформа «1С» в принципе инициировала поиск аппаратного ключа при запуске, мы должны изменить параметры в файле 1CEStart.cfg. Этот файл управляет поведением окна запуска. Рассмотрим порядок действий:
%AppData%\1C\1CEstart\1CEStart.cfg (для конкретного пользователя) или в общей папке C:\ProgramData\1C\1CEstart\1CEStart.cfg.UseHWLicenses.UseHWLicenses=1.Важно понимать: этот параметр лишь разрешает поиск HASP-ключей, но не гарантирует их приоритет, если система найдет локальную программную лицензию раньше. Рассмотрим далее, как управлять приоритетами.
Если клиент и ключ находятся в разных подсетях или широковещательный запрос (Broadcast) блокируется сетевым оборудованием, нам необходимо жестко указать адрес сервера лицензий. Для этого используется файл nnhasp.ini. Разберем по шагам его правильное размещение и наполнение.
Файл должен находиться в подкаталоге conf внутри каталога установленной платформы, например: C:\Program Files\1cv8\8.3.XX.XXXX\bin\conf\nnhasp.ini. Однако, чтобы настройки не слетали при обновлении версии 1С, рекомендуется также продублировать его в C:\Program Files\1cv8\conf.
Проанализируем ключевые секции файла, которые необходимо отредактировать:
[NH_COMMON]
NH_TCPIP = ENABLE
[NH_TCPIP]
;; Указываем конкретный IP-адрес сервера, где установлен HASP License Manager
NH_SERVER_ADDR = 192.168.13.12
;; Отключаем широковещательный поиск, чтобы ускорить запуск и избежать блокировок
NH_USE_BROADCAST = DISABLE
;; Можно также указать имя сервера
NH_SERVER_NAME = ServerNameHasp
Использование параметра NH_USE_BROADCAST = DISABLE критично в сложных корпоративных сетях. Когда мы отключаем широковещание и задаем NH_SERVER_ADDR, клиент 1С перестает «кричать» во всю сеть и отправляет направленный запрос на конкретный узел.
Выясним причину, по которой telnet может подключаться к серверу, но 1С лицензию не получает. Система защиты HASP использует протокол UDP и порт 475. Проверка через telnet (работающий по TCP) подтверждает лишь то, что порт открыт в стеке TCP, но не гарантирует прохождение UDP-пакетов.
Проверим настройки брандмауэра на сервере лицензий и на клиентской машине:
HASP Loader (Sentinel LDK License Manager) должна находиться в статусе «Выполняется».Для глубокого мониторинга состояния ключей воспользуемся современным инструментом от производителя — веб-интерфейсом Sentinel ACC. Попробуем открыть в браузере следующий адрес с клиентской машины:
http://192.168.13.12:1947 (где 192.168.13.12 — адрес сервера с ключом).
Если страница открывается, проанализируем следующие разделы:
Key Type. Мы должны увидеть HASP HL Net.Feature ID 1 или другие идентификаторы конфигураций.Если ключ не виден в ACC на самом сервере (через localhost:1947), значит проблема в драйвере или самом USB-устройстве. Если ключ виден локально, но не виден с клиента — проблема в сетевом доступе или настройках nnhasp.ini.
Разберем ситуацию, когда сервер 1С перехватывает инициативу. Если в свойствах информационной базы в консоли администрирования включена опция «Разрешить выдачу лицензий сервером 1С:Предприятия», то происходит следующее:
В этом случае клиент даже не пытается искать ключ самостоятельно через порт 475, так как он получает лицензию по протоколу взаимодействия с сервером 1С (порты 1560-1591). Если наша задача — чтобы конкретный клиент брал лицензию именно по сети через License Manager, мы можем временно отключить эту опцию в настройках базы для проверки. Однако помните, что это повлияет на всех пользователей данной базы.
Подведем итог нашему исследованию. Если клиент 1С упорно не хочет использовать сетевой аппаратный ключ, выполним последовательно следующие действия:
HASP License Manager.UseHWLicenses=1 в 1CEStart.cfg.nnhasp.ini с указанием NH_SERVER_ADDR и копируем его во все папки conf платформы.Следуя этой структуре, мы сможем гарантированно настроить использование аппаратной защиты и обеспечить стабильную работу пользователей с требуемым типом лицензирования.