В практике системного администрирования 1С часто возникает ситуация: на сервере установлен многопользовательский ключ защиты HASP, но при попытке переключить настройку «Разрешить выдачу лицензий сервером 1С» в значение «НЕТ», пользователи мгновенно теряют доступ к системе. Программа сообщает, что лицензия не найдена, хотя при включенном параметре все работает исправно. Давайте подробно разберем, почему так происходит, проанализируем механизмы работы системы защиты и выясним, как настроить инфраструктуру для стабильной работы в обоих режимах.
Прежде чем приступать к техническим настройкам, давайте выясним причину, по которой администраторы вообще пытаются отключить выдачу лицензий сервером. Дело в фундаментальной разнице подсчета подключений:
HASP License Manager. Здесь действует правило «одна лицензия на одно рабочее место». Сколько бы баз ни открыл пользователь на своем компьютере, он займет всего 1 лицензию из ключа.Именно желание сэкономить лицензии заставляет нас отключать серверную раздачу. Однако, как только мы ставим «НЕТ», механизм поиска ключа радикально меняется, и если сеть не подготовлена, 1С просто «не видит» ключ.
Первым делом проанализируем ситуацию с сетевыми экранами. Для того чтобы клиентское приложение могло самостоятельно найти HASP License Manager, должен быть открыт порт 475. Важно помнить, что менеджер лицензий использует протокол UDP для широковещательных запросов и TCP для передачи данных.
Разберем по шагам, что нужно проверить:
HASP License Manager (служба hasplms или аналогичная).По умолчанию 1С пытается найти ключ с помощью широковещательного запроса (Broadcast). В современных сетях, разделенных на подсети (VLAN) или защищенных маршрутизаторами, такие запросы часто блокируются. Чтобы решить проблему, мы должны явно указать клиентскому приложению, где искать ключ.
Рассмотрим алгоритм настройки файла nethasp.ini. Этот файл обычно находится в папке C:\Program Files\1cv8\conf или в папке bin\conf конкретной версии платформы. Нам нужно отредактировать секцию [NH_TCPIP].
Проанализируем пример настройки, которая принудительно направляет поиск на нужный сервер:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.100 ; Укажите здесь IP-адрес сервера с ключом
NH_TCPIP_METHOD = UDP
NH_USE_BROADCAST = Disabled
Разберем, что мы сделали: параметром NH_SERVER_ADDR мы указали прямой адрес сервера, а с помощью NH_USE_BROADCAST = Disabled запретили программе тратить время на бесполезный поиск по всей сети. Это не только решает проблему видимости ключа, но и значительно ускоряет запуск 1С.
Если ваши пользователи работают на терминальном сервере, ситуация усложняется. При установке параметра «Разрешить выдачу лицензий сервером 1С — НЕТ», клиентское приложение внутри RDP-сессии пытается найти ключ. Однако стандартный HASP License Manager может некорректно обрабатывать запросы от нескольких пользователей, приходящих с одного IP-адреса терминального сервера.
В этом случае мы рекомендуем:
nethasp.ini с указанием NH_SERVER_ADDR, указывающим на другой физический сервер (или на 127.0.0.1, если ключ локальный).Для того чтобы не гадать, «видит» компьютер ключ или нет, воспользуемся специализированными утилитами. Проанализируем состояние ключа через AKS Monitor (или современный Sentinel Admin Control Center).
Выясним причину отсутствия связи:
Если вы используете современные драйверы Sentinel, откройте в браузере страницу http://localhost:1947. Если в разделе Sentinel Keys вы видите свой ключ, а в разделе Sessions — подключения от пользователей, значит, менеджер лицензий работает. Если же список пуст, проблема либо в драйвере, либо в физическом подключении ключа, либо в блокировке порта 1947 (для новых ключей) или 475 (для старых).
Рассмотрим ситуацию, когда в сети установлено несколько ключей (например, на 10 и на 100 лицензий). Если на сервере 1С включена выдача лицензий, он может «захватить» лицензии из обоих ключей. Если вы отключаете выдачу сервером, клиенты начинают искать ключи хаотично.
Посмотрим на рекомендации экспертов: не рекомендуется смешивать способы раздачи для одного и того же ключа. Либо вы полностью доверяете раздачу серверу 1С (настройка «ДА»), либо полностью переводите всех клиентов на самостоятельный поиск через nethasp.ini (настройка «НЕТ»). Смешанный режим часто приводит к тому, что лицензии «повисают» или неэффективно расходуются.
Подведем итог нашему исследованию. Если при установке параметра в значение «НЕТ» лицензии перестают видеться, выполните следующие действия:
HASP License Manager установлен и запущен как служба.nethasp.ini на каждом клиентском ПК (или централизованно через папку conf на сервере), прописав NH_SERVER_ADDR.Следуя этим инструкциям, вы обеспечите стабильную работу системы защиты 1С и сможете эффективно управлять расходом лицензий в вашей организации.