Для защиты программных продуктов 1С:Предприятие 8.* от несанкционированного использования на сегодняшний день применяются два принципиально разных механизма:
В настоящей статье мы рассматриваем особенности работы только аппаратных HASP-ключей.
Чтобы многопользовательский аппаратный ключ HASP был доступен клиентским приложениям 1С:Предприятие 8.* через локальную сеть, на компьютере, где установлен ключ, должна быть запущена специальная программа - менеджер лицензий HASP Licence Manager. Эта программа входит в комплект поставки 1С:Предприятия. После установки менеджер лицензий может быть запущен автоматически или вручную как сервис или как обычное приложение.
В каждой секции можно использовать параметры, специфические для данной секции или общие для всех секций. Указание общего для всех секций параметра в секции для одного из трех протоколов обладает большим приоритетом, чем настройка в секции [NH_COMMON] (по отношению к этому протоколу).
Для определения дополнительных настроек конкретного протокола следует использовать параметры, специфические именно для конкретной секции.
В конфигурационном файле nethasp.ini могут присутствовать комментарии. Признаком комментария является символ «;» (точка с запятой). Комментарий начинается с символа «;» и продолжается до конца строки, т.е. в файле начиная с символа «;» и до конца строки все команды являются закомментированными и не обрабатывается.
Регистр букв в именах параметров не имеет значения (за исключением некоторых настроек для MacOS).
Если данная информация была для Вас полезной, то Вы можете поддержать авторов, поставив оценку в панели инструментов Яндекс.Браузера, или оставить свой отзыв на странице нашей компании в сервисе Яндекс.Бизнес
Описание параметров, которые могут применяться в файле nethasp.ini
Наименование |
Описание параметра
|
Секция [NH_COMMON] |
|
NH_IPX |
Параметр отвечает за использование протокола IPX для связи с HASP License Manager.
Возможные значения:
Значение по умолчанию: Enabled.
Пример: NH_IPX=Disabled
|
NH_NETBIOS |
Параметр отвечает за использование протокола NetBIOS для связи с HASP License Manager.
Возможные значения:
- Enabled (использовать),
- Disabled (не использовать).
Значение по умолчанию: Enabled.
Пример: NH_NETBIOS=Disabled
|
NH_TCPIP |
Параметр отвечает за использование протокола TCP/IP для связи с HASP License Manager.
Возможные значения:
- Enabled (использовать),
- Disabled (не использовать).
Значение по умолчанию: Enabled.
Пример: NH_TCPIP=Enabled
|
NH_SESSION | Параметр задает интервал в секундах, в течение которого программа пытается установить соединение с HASP License Manager.
Возможные значения: <Число>.
Значение по умолчанию: 2 секунды.
Пример: NH_SESSION=5 |
NH_SEND_RCV | Параметр устанавливает максимальное время получения или отправки пакета для HASP License Manager.
Возможные значения: <Число>.
Значение по умолчанию: 1 секунда.
Пример: NH_SEND_RCV=2 |
Секция [NH_IPX] |
|
NH_USE_BROADCAST | Параметр отвечает за использование механизма Broadcast IPX для поиска в сети HASP License Manager. Имеет смысл использовать при работе с протоколом IPX в сетях, отличных от Novell NetWare.
Возможные значения:
- Enabled (использовать),
- Disabled (не использовать).
Значение по умолчанию: Enabled.
Broadcast (широковещательный канал) - метод передачи данных в компьютерных сетях, при котором поток данных предназначен для приёма всеми участниками сети.
Пример: NH_USE_BROADCAST=Disabled |
NH_BC_SOCKET_NUM | Параметр определяет номер сокета для широковещательного механизма Broadcast. Число указывается в шестнадцатеричном виде.
Возможные значения: <Число>.
Значение по умолчанию: 7483Н.
Пример: NH_BC_SOCKET_NUM=7483Н |
NH_SERVER_NAME | Параметр определяет имена серверов, на которых выполняется поиск менеджера лицензий (HASP License Manager). Параметр может содержать не более 6 имен. Каждое имя не может быть длиннее 7 символов.
Возможные значения: <Name1>, <Name2>,
Пример: NH_SERVER_NAME=LM1, LM2 |
NH_DATFILE_PATH | Параметр определяет путь, по которому будет производиться поиск файлов haspaddr.dat и newhaddr.dat, содержащих сетевой адрес HASP License Manager. Данный параметр в основном имеет смысл использовать только при установках NH_USE_BROADCAST=Disabled, так как в противном случае адрес HASP License Manager может быть определен автоматически. |
NH_SESSION | Задает интервал в секундах, в течение которого программа пытается установить соединение с HASP License Manager.
Возможные значения: <Число>.
Значение по умолчанию: 2 секунды. |
NH_SEND_RCV | Параметр устанавливает максимальное время получения или отправки пакета для HASP License Manager.
Возможные значения: <Число>.
Значение по умолчанию: 1 секунда. |
NH_NCLIENT32 | Параметр отключает использование клиента Novell.
Пример: NH_NCLIENT32 = Disabled |
NH_GET_LOCAL_TARGET | Параметр отключает поиск HASP LM по сегментам.
Пример: NH_GET_LOCAL_TARGET = Disabled |
NH_USE_BINDERY | Параметр заменяет более старый переключатель NH_USE_SAP. Игнорируется в Win32 API.
Возможные значения:
- Enabled (использовать),
- Disabled (не использовать).
Значение по умолчанию: Disabled. |
NH_USE_INT | Параметр определяет способ прерывания используемый протоколом IPX, старый или новый.
Возможные значения:
- 2F_NEW - протокол IPX будет использовать прерывание 2fH.
- 7A_OLD - протокол IPX будет использовать прерывание 7Ah.
Значение по умолчанию: 2F_NEW |
NH_SEARCH_METHOD | Параметр определяет, как защищенное приложение будет связываться с менеджером лицензий HASP: в локальной сети или через или будет пытаться связаться со всеми менеджерами лицензий в корпоративной сети, при наличии межсетевых соединений.
Возможные значения:
Значение по умолчанию: Internet |
NH_SESSION | Аналог глобального параметра из секции [NH_COMMON] для протокола IPX.
Параметр задает интервал в секундах, в течение которого программа пытается установить соединение с HASP License Manager.
Возможные значения: <Число>.
Значение по умолчанию: 2 секунды.
Пример: NH_SESSION=5 |
NH_SEND_RCV | Аналог глобального параметра из секции [NH_COMMON] для протокола IPX.
Параметр устанавливает максимальное время получения или отправки пакета для HASP License Manager.
Возможные значения: <Число>.
Значение по умолчанию: 1 секунда.
Пример: NH_SEND_RCV=2 |
Секция [NH_NETBIOS] |
|
NH_NBNAME | Параметр задает имя HASP License Manager (длина имени ‑ до 8 символов).
Возможные значения: <Имя>. |
NH_USELANANUM | Устанавливает номер коммуникационного канала, который будет использоваться в качестве коммуникационного канала.
Возможные значения: <Число>. |
NH_SESSION | Аналог глобального параметра из секции [NH_COMMON] для протокола NetBIOS.
Параметр задает интервал в секундах, в течение которого программа пытается установить соединение с HASP License Manager.
Возможные значения: <Число>.
Значение по умолчанию: 2 секунды.
Пример: NH_SESSION=5 |
NH_SEND_RCV | Аналог глобального параметра из секции [NH_COMMON] для протокола NetBIOS.
Параметр устанавливает для HASP License Manager максимальное время получения или отправки пакета.
Возможные значения: <Число>.
Значение по умолчанию: 1 секунда.
Пример: NH_SEND_RCV=2 |
Секция [NH_TCPIP] |
|
NH_SERVER_ADDR | Параметр устанавливает IP-адреса всех HASP License Manager. Возможно использование неограниченного количества IP-адресов и текстовых имен хостов.
Возможные значения: <Адрес1>, <Адрес2>.
Пример: NH_SERVER_ADDR=192.168.1.12, 192.168.1.37 |
NH_SERVER_NAME | Параметр определяет имена серверов, на которых выполняется поиск менеджера лицензий (HASP License Manager). Параметр может содержать не более 6 имен. Каждое имя не может быть длиннее 7 символов.
Возможные значения: <Имя1>, <Имя2>.
Пример: NH_SERVER_NAME=LM1, LM2 |
NH_PORT_NUMBER | Параметр устанавливает номер сетевого порта.
Возможные значения: <Число>.
Значение по умолчанию: 475.
Пример: NH_PORT_NUMBER=575 |
NH_TCPIP_METHOD | Параметр определяет пакет TCP или UDP.
Возможные значения:
Значение по умолчанию: UDP.
ПРИМЕЧАНИЕ. Установка параметра в значение TCP игнорируется 1С. Обращение к HASP License Manager всегда выполняется по UDP. |
NH_USE_BROADCAST | Параметр отвечает за использование широковещательного механизма Broadcast TCP/IP для поиска в сети HASP License Manager по UDP.
Возможные значения:
- Enabled (использовать),
- Disabled (не использовать).
Значение по умолчанию: Enabled.
Broadcast (широковещательный канал) - метод передачи данных в компьютерных сетях, при котором поток данных предназначен для приёма всеми участниками сети. |
NH_SESSION | Аналог глобального параметра из секции [NH_COMMON] для протокола TCP/IP.
Параметр задает интервал в секундах, в течение которого программа пытается установить соединение с HASP License Manager.
Возможные значения: <Число>.
Значение по умолчанию: 2 секунды.
Пример: NH_SESSION=5 |
NH_SEND_RCV | Аналог глобального параметра из секции [NH_COMMON] для протокола TCP/IP.
Параметр устанавливает максимальное время получения или отправки пакета для HASP License Manager.
Возможные значения: <Число>.
Значение по умолчанию: 1 секунда.
Пример: NH_SEND_RCV=2 |
При установке 1С:Предприятие в каталог conf установочного каталога системы 1С:Предприятие (C:\Program Files\1cv8\conf) копируется образец файла nethasp.ini, который практически полностью состоит из закомментированных строк и никак не переопределяет значений параметров по умолчанию, но при этом он содержит наиболее полный список параметров, которые могут использоваться для настройки работы с HASP License Manager.
Примеры файла nethasp.ini:
IP-адреса и имена даны для примера. При настройке своих конфигурационных файлов следует указывать реальные IP адреса машин и заданные вами имена менеджеров лицензий.
Пример 1.
В сети используются два многопользовательских ключа, каждый из которых установлен в отдельную машину с IP 192.168.1.41 и 192.168.1.54, на которых установлены HASP License Manager с именами LM1 и LM2 соответственно.
-------------------- nethasp.ini ---------------------------
[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
--------------------------------------------------------------
Обратите внимание, что параметры "NH_SERVER_ADDR" и "NH_SERVER_NAME" должны соответствовать друг другу, т.е. на машине с адресом 192.168.1.41 должен быть запущен менеджер с именем LM1, а на машине с адресом 192.168.1.54 с именем LM2. При этом LM1 и LM2 - это имена менеджера лицензий, который задается с помощью параметра NHS_SERVERNAMES в конфигурационном файле nhsrv.ini на машине с HASP LM.
Пример 2.
Один сервер защиты HASP License Manager с ключом HASP находится в сети по адресу 192.168.0.12, используется сетевой порт 475, используется протокол TCP/IP, протоколы IPX и NetBIOS заблокированы, для работы используются TCP-пакеты и запрещен широковещательный механизм Broadcast TCP/IP.
-------------------- nethasp.ini ------------------------------
[NH_COMMON]
NH_IPX=Disabled
NH_NETBIOS=Disabled
NH_TCPIP=Enabled
[NH_TCPIP]
NH_SERVER_ADDR=192.168.0.12
NH_PORT_NUMBER=475
NH_TCPIP_METHOD=TCP
NH_USE_BROADCAST=Disabled
----------------------------------------------------------------
Пример 3.
Когда наоборот необходимо клиенту, серверу 1С:Предприятия или модулю веб-сервера полностью запретить поиск клиентских ключей по сети (например, чтобы клиенты, имеющие доступ к информационной базе через веб-сервер, гарантированно не могли занять лицензии с других аппаратных ключей, используемых в той же локальной сети).
-------------------- nethasp.ini ---------------------------
[NH_COMMON]
NH_IPX=Disabled
NH_NETBIOS=Disabled
NH_TCPIP=Disabled
--------------------------------------------------------------
Расположение файла nethasp.ini
Конфигурационный файл
nethasp.ini может располагаться в различных местах файловой системы. Также следует учитывать, что его наличие не является обязательным. При этом определен порядок поиска этого файла в различных каталогах. Такой порядок поиска конфигурационного файла nethasp.ini позволяет:
- Формировать единый конфигурационный файл nethasp.ini для всех версий и компонент платформы 1С:Предприятие 8.*, установленных на компьютере. Для этого файл nethasp.ini должен располагаться только в каталоге conf корневого каталога установки.
- Формировать конфигурационные файлы nethasp.ini отдельно для каждой версии платформы 1С:Предприятие 8.*, установленной на компьютере. Для этого конфигурационные файлы должны располагаться только в каталоге <8.3.**.****>\bin\conf конкретной версии платформы.
- Формировать различные конфигурационные файлы nethasp.ini для разных компонентов (например, для клиентского приложения и сервера "1С:Предприятия 8.*", функционирующего под другим пользователем системы) любой версии, работающих на компьютере. Для этого конфигурационные файлы должны располагаться в каталогах конфигурационных файлов, которые доступны для всех пользователей компьютера (перечень таких каталогов зависит от используемой операционной системы и варианта установки системы "1С:Предприятие").
- Использовать комбинации перечисленных способов для различных конфигурационных файлов.
* При описании каталогов сокращение
<8.3.**.****> означает полный номер версии платформы системы "1С:Предприятие 8.*.
Важно!
Таким образом, в зависимости от версии ОС, версии платформы 1С:Предприятие, прав пользователя и условий установки на компьютере может быть установлено несколько файлов nethasp.ini - убедитесь, что программа 1С при поиске ключа применяет именно тот файл nethasp.ini, настройка которого выполнялась. Например, настройки файла nethasp.ini в каталоге Program Files (x86) не будут применяться при запуске x64 версии клиента 1С:Предприятие.
Настройки какого именно из файлов nethasp.ini был использованы программой 1С для поиска ключа указываются в Журнале поиска ключа.
Для ОС Windows
Сначала программа будет искать файл nethas.ini в каталоге конфигурационных файлов системы "1С:Предприятие", который может располагаться в следующих местах (в порядке поиска):
- Каталог bin\conf конкретной версии:
- Установка «для компьютера»:
- 32-разрядная система в 64-разрядной ОС: %PROGRAMFILES(x86)%\1cv8\A.B.C.D\bin\conf.
- В остальных случаях: %PROGRAMFILES%\1cv8\<8.3.**.****>\bin\conf.
- Установка «для пользователя»:
- 32-разрядная система в 32-разрядной ОС: %LOCALAPPDATA%\Programs\1cv8\<8.3.**.****>\bin\conf.
- 32-разрядная система в 64-разрядной ОС: %LOCALAPPDATA%\Programs\1cv8_x86\<8.3.**.****>\bin\conf.
- 64-разрядная система в 64-разрядной ОС: %LOCALAPPDATA%\Programs\1cv8_x64\<8.3.**.****>\bin\conf.
- Каталог %USERPROFILE%\Local Settings\Application Data\1C\1cv8\conf (%LOCALAPPDATA%\1C\1cv8\conf для ОС Windows Vista и старше) пользователя, под которым работает система.
- Каталог, который указан в файле conf.cfg, расположенном в каталоге bin\conf конкретной версии. Подробнее о формате файла conf.cfg см. здесь.
- Каталог %ALLUSERSPROFILE%\Application Data\1C\1cv8\conf (%ALLUSERSPROFILE%\1C\1cv8\conf для ОС Windows Vista и старше) данных для всех пользователей компьютера.
Если данный файл отсутствует в каталогах конфигурационных файлов, то дальнейший поиск файла nethasp.ini осуществляется в следующем порядке:
- Каталог исполняемых файлов запущенной версии "1С:Предприятия";
- Текущий каталог Windows;
- Каталог %SYSTEMROOT%\System32 (для 32-разрядной ОС Windows)
- Каталог %SYSTEMROOT%\SysWOW64 (для 64-разрядной ОС Windows).
- Каталог %SYSTEMROOT%\System;
- Каталог %SYSTEMROOT%;
- Каталоги, перечисленные в переменной окружения PATH.
ПРИМЕЧАНИЕ. При установке системы конфигурационные файлы записываются в каталог conf корневого каталога установки, и данный путь записывается в файл bin\conf\conf.cfg устанавливаемой версии.
Для ОС Linux
В ОС Linux файлы могут располагаться в следующих местах (в порядке поиска):
- Каталог conf конкретной версии, например: /opt/1cv8/arch/<8.3.**.****>/conf, где:
- arch ‑ используемая архитектура процессора:
- i386 ‑ 32-разрядная архитектура,
- x86_64 ‑ 64-разрядная архитектура.
- Каталог conf корневого каталога установки: /opt/1cv8/conf.
- Каталог ~/.1cv8/1C/1cv8/conf (~ ‑ домашний каталог пользователя, от имени которого работает клиентское приложение «1С:Предприятия»).
- Каталог, который указан в файле conf.cfg, расположенном в каталоге conf установленной версии. Подробнее о формате файла conf.cfg см. здесь.
Для MacOS
В ОС macOS конфигурационные файлы могут располагаться в следующих местах (в порядке поиска):
- Каталог conf установленной версии, например: /opt/1cv8/<8.3.**.****>/conf.
- Каталог conf корневого каталога установки: /opt/1cv8/conf.
- Каталог ~/.1cv8/1C/1cv8/conf (~ ‑ домашний каталог пользователя, от имени которого работает клиентское приложение «1С:Предприятия»).
- Каталог, который указан в файле conf.cfg, расположенном в каталоге conf установленной версии.
NHSRV.INI
Файл nhsrv.ini служит для настройки параметров выдачи лицензий HASP License Manager и должен располагаться на той машине, на которой установлен HASP License Manager и многопользовательский ключ HASP.
Описание параметров, которые могут применяться в файле nhsrv.ini
Файл nhsrv.ini также может содержать четыре секции:
- [NHS_SERVER] - секция, в которой указываются глобальные настройки HASP LM для всех разделов конфигурационного файла nhsrv.ini.
- [NHS_IP] - для настроек протокола IP;
- [NHS_IPX] - для настроек протокола IPX;
- [NHS_NETBIOS] - для настроек протокола NetBIOS.
Наименование |
Описание параметра
|
Секция [NHS_SERVER] |
|
NHS_SERVERNAMES | Параметр определяет имена менеджера лицензий. Имена серверов должны соответствовать именам, которые запрашивает клиент. Параметр может содержать не более 6 имен. Каждое имя не может быть длиннее 7 символов.
Пример: NHS_SERVERNAMES=LM1 |
NHS_ADAPTER |
Параметр определяет IP-адрес одной или более сетевых карт, которые будут обслуживать HASP License Manager. Применяется при использовании HASP License Manager с Win32.
Возможные значения: <ipAddrSubMask>,<ipAddrSubMask>,...
Например: 10.1.1.111, 255.255.0.0.
|
NHS_USERLIST |
Параметр задает максимальное количество пользователей, одновременно подключенных к HASP License Manager.
Значение по умолчанию: 250.
Изменять значение параметра следует только при использовании аппаратных ключей 1С:Предприятие 8.* на 300 и 500 рабочих мест.
Пример: NHS_USERLIST=500
|
NHS_HIGHPRIORITY | Параметр задает запуск HASP License Manager с высоким приоритетом. По умолчанию менеджер лицензий запускается с нормальным приоритетом. Ключ влияет только на платформу Win32. Если задано значение «yes», проверьте, как это влияет на другие сервисы (файловый сервер,web-сервер и т.д.), запущенные на этой машине.
Возможные значения:
Значение по умолчанию: no
Пример: NHS_IP_HIGHPRIORITY=no
|
Секция [NHS_IP] | |
NHS_IP_LIMIT |
Параметр определяет диапазон сетевых станций, обслуживаемых HASP LM.
Возможные значения: <ipAddr>, <ipAddr>,...
При этом:
- последний параметр в IP может быть диапазоном (например, 10-120);
- последние параметры в IP могут быть заменены звездочкой, но не в середине (например, можно 192.168.*.*, но нельзя 192.168.*.25);
- дополнительная маска может быть задана как 192.168.0.0/52.
Пример: NHS_IP_LIMIT=192.168.0.11, 192.168.0.*, 192.168.0.1-32, 192.168.0.0/52
|
NHS_USE_UDP |
Параметр отвечает за использование протокола UPD.
Возможные значения:
Значение по умолчанию: Enabled.
Пример: NHS_USE_UDP=Enabled (на данный момент не поддерживается)
|
NHS_USE_TCP |
Параметр отвечает за использование протокола TCP.
Возможные значения:
Значение по умолчанию: Enabled.
Пример: NHS_USE_TCP=Enabled
|
NHS_IP_PORTNUM | Параметр устанавливает номер сетевого порта.
Возможные значения: <Число>.
Значение по умолчанию: 475. |
Секция [NHS_IPX] | |
NHS_USE_IPX | Параметр отвечает за использование протокола IPX.
Возможные значения:
- Enabled (использовать),
- Disabled (не использовать).
Значение по умолчанию: Enabled. |
NHS_addrpath | Параметр указывает путь к haspaddr.dat.в котором записан IPX-адрес текущего менеджера лицензий. Клиент может указать данный файл в файле nethasp.ini.
Значение по умолчанию: current dir (текущий каталог)
Пример: NHS_addrpath=c:\temp |
NHS_AppendAddr | Параметр добавляет адресные данные в файл hapaddr.dat. Если опция активирована, текущий адрес менеджера лицензий добавляется в существующий файл haspaddr.dat. Это особенно полезно в случае, когда существует несколько менеджеров лицензий HASPs. Все менеджеры лицензий могут быть найдены клиентом. Менеджер лицензий не ищет дубликаты при добавлении адреса.
Значение по умолчанию: replace (заменить)
Пример: NHS_AppendAddr=no |
NHS_usesap | Параметр позволяет менеджеру лицензий объявлять о себе в сети по протоколуService Advertising Protocol (SAP). SAP позволяет клиентам находить менеджер лицензий в других подсетях. IPX обычно настраивается на функционирование в виртуальной подсети на машинах Win NT/2000/XP/Server 2003. Таким образом, SAP имеет важное значение для клиентов при поиске менеджера лицензий.
Возможные значения:
Значение по умолчанию: Enabled.
Пример: NHS_USESAP=Enabled
|
NHS_ipx_socketnum | Параметр указывает номер сокета IPX
Значение по умолчанию: 0x7483
Пример, NHS_ipx_socketnum=0x7483 |
Секция [NHS_NETBIOS] | |
NHS_USE_NETBIOS |
Параметр отвечает за использование протокола NetBIOS.
Возможные значения:
- Enabled (использовать),
- Disabled (не использовать).
Если Вы уверены, что протокол NetBIOS для работы менеджера лицензий не требуется, то рекомендуется отключить.
Значение по умолчанию: Enabled.
Пример: NHS_USE_NETBIOS=Disabled
|
NHS_NBNAME | Параметр задает использование имени, отличного от предопределенного NetBIOS. Имена должны быть заданы в соответствии с правилами задания имен NetBIOS. Не используйте данную опцию, если Вы не уверены, что Вам необходимо задать новое NetBIOS-имя.
Пример: NHS_NBNAME=MyNBName |
NHS_use_lana_nums | Параметр используется только для указания совместимости с более ранними версиями.
Значение по умолчанию: all (automatic)
Пример: NHS_use_lana_nums=3,0,7,2 |
Расположение файла nhsrv.ini
Файл nhsrv.ini с настройками по умолчанию устанавливается в каталог загрузочных модулей менеджера лицензий, обычно "C:\Program Files\Aladdin\HASP LM".
При запуске менеджер лицензий HASP License Manager выполняет попытку найти и прочитать файл nhsrv.ini. Поиск файла nhsrv.ini осуществляется в следующей последовательности:
Для ОС Windows
- каталог, откуда запущен загрузочный модуль менеджера лицензий (nhsrvw32.exe);
- текущий каталог Windows;
- системный каталог Windows, например, C:\Windows\system32 (%SYSTEMROOT%\system32) для 32-разрядной версии, или C:\Windows\SysWOW64 (%SYSTEMROOT%\SysWOW64) ‑ для 64-разрядной версии, или C:\Windows\system (%SYSTEMROOT%\system);
- каталог Microsoft Windows C:\Windows\ (%SYSTEMROOT%);
- маршруты, перечисленные в переменной окружения PATH (только в случае установки HASP License Manager как приложения Microsoft Windows).
В ОС Windows файл nhsrv.ini рекомендуется размещать в каталоге, из которого запускается исполняемый файл HASP License Manager.
Проверка того, что HASP License Manager нашел и прочитал конфигурационный файл nhsrv.ini, возможна с помощью журнала Activity Log/Server Activity Log.
Для упрощения настройки менеджера лицензий HASP License Manager рекомендуется обеспечить, чтобы на компьютере менеджера лицензий была установлена единственная копия файла nhsrv.ini и она была размещена в каталоге, из которого запускается менеджер лицензий.
- Если менеджер лицензий запускается как приложение, то файл nhsrv.ini должен находится в каталоге, указанном менеджеру лицензий при установке:
- "C:\Program Files\Aladdin\HASP LM" для 32-разрядного Windows
- "C:\Program Files (x86)\Aladdin\HASP LM" для 64-разрядного Windows.
- Если же менеджер лицензий запускается как сервис Windows, то файл nhsrv.ini лучше поместить в 32-разрядный системный каталог Windows (или для 64-разрядных ОС - Windows\SysWOW64). Этот каталог должен быть указан в строке запуска сервиса менеджера лицензий: My Computer/ Local menu/ Manage/ Services and Applications/ Services/ HASP Loader/ Local menu/ Properties/ Path to executable.
Для ОС Linux и MacOS
Для ОС Linux и MacOS название конфигурационного файла и местоположение по умолчанию не определено. Имя конфигурационного файла и путь до него указывается при помощи параметра «-c», например: ./hasplm -c /etc/nhsrv.ini
Особые случаи и рекомендации
- Обратите внимание, что менеджер лицензий HASP License Manager умеет работать только с многопользовательскими аппаратными ключами на платформу 1С:Предприятие 8.* типа HASP серии ORGL8 (красные ключи на 5, 10, 20, 50 и 100 рабочих мест), ORG8A (клиентский ключ на 300 рабочих мест) и ORG8B (ключ на 500 рабочих мест).
Таким образом менеджер лицензий:
- не работает с программными лицензиями;
- не работает с лицензиями или ключами системы защиты отраслевых конфигураций;
- не работает с ключами на сервер 1С:Предприятие 8.* серий ENSR8 или EN8SA;
- не работает с однопользовательскими фиолетовыми ключами серии ORGL8.
т.е. никакие настройки файлов nethasp.ini или nhsrv.ini не могут повлиять на поиск и раздачу программных лицензий, ключей на сервер 1С:Предприятия 8.* или однопользовательских ключей.
- При использовании клиентских ключей на 300 рабочих мест (серия ORG8A) или на 500 рабочих мест (серия ORG8B) в файле nhsrv.ini на сервере требуется вручную прописать параметр NHS_USERLIST=300 (если устновлен один ключ на 300 рабочих мест), или NHS_USERLIST=500 (если устновлен один ключ на 500 рабочих мест), или NHS_USERLIST=800 (если устновлены сразу два ключа на 300 и 500 рабочих мест), или NHS_USERLIST=900 (если устновлены сразу три ключа на 100, 300 и 500 рабочих мест), после чего необходимо перезапустить HASP License Manager и убедиться, что менеджер лицензий нашел файл nhsrv.ini и применил указанные параметры по журналу Activity Log/ Server Activity Log.
В теории, значение параметра NHS_USERLIST можно указать и больше, но смысла не имеет, т.к. 900 - это максимально возможное количество клиентских лицензий 1С, доступных для получения через один HASP LM.
Пример при использовании ключа ORG8B на 500 рабочих мест:
--------------------- nhsrv.ini -------------------------------
[NHS_SERVER]
NHS_USERLIST=500
--------------------------------------------------------------
- Обратите внимание, что клиентское приложение, сервер 1С:Предприятия или модуль веб-сервера первым делом пытаются получить ту лицензию (из того файла программной лицензии или ключа защиты HASP), которая была получена при последнем успешном подключении (информация хранится в файле 1cv8conn.pfl), при этом некоторые параметры конфигурационного файла hethasp.ini могут игнорироваться.
Подробнее: Алгоритм поиска лицензий при запуске программы системы "1С:Предприятие 8".
Чтобы изменения параметров конфигурационных файлов вступили в силу рекомендуем найти и удалить файл 1cv8conn.pfl и перезапустить HASP License Manager.
- "Классический" вариант настройки nethasp.ini, когда на клиенте необходимо задать IP машин, на которых установлены ключи HASP (в случае, если нет проблемы с одинаковыми именами HASP LM).
-------------------- nethasp.ini ------------------------------
[NH_COMMON]
NH_IPX=Disabled
NH_NETBIOS=Disabled
NH_TCPIP=Enabled
[NH_TCPIP]
NH_SERVER_ADDR=192.168.0.12,192.168.0.37
NH_USE_BROADCAST=Disabled
----------------------------------------------------------------
- Если в сети доступно несколько клиентских ключей и, соотвественно, несколько менеджеров лицензий, то может возникать ситуация, когда менеджеры лицензий могут принять одно и то же имя по умолчанию, что сделает невозможным использование нескольких ключей. В данном случае каждому менеджеру необходимо вручную задать уникальное имя в файле nhsrv.ini с помощью параметра NHS_SERVERNAMES на каждой из машин с ключами. Имя должно состоять не более чем из 7 символов в английской раскладке.
Сервер 1
------------------- nhsrv.ini ----------------------------
[NHS_SERVER]
NHS_SERVERNAMES=LM1
-----------------------------------------------------------
Сервер 2
------------------- nhsrv.ini ----------------------------
[NHS_SERVER]
NHS_SERVERNAMES=LM2
-----------------------------------------------------------
Сервер 3
------------------- nhsrv.ini ----------------------------
[NHS_SERVER]
NHS_SERVERNAMES=LM3
-----------------------------------------------------------
После этого имена менеджеров необходимо указать в nethasp.ini на клиентских машинах.
-------------------- nethasp.ini ------------------------------
[NH_COMMON]
NH_TCPIP=Enabled
[NH_TCPIP]
NH_SERVER_ADDR=192.168.1.41,192.168.1.54,192.168.1.59
NH_SERVER_NAME=LM1,LM2,LM3
NH_USE_BROADCAST=Disabled
----------------------------------------------------------------
Обратите внимание, что параметры "NH_SERVER_ADDR" и "NH_SERVER_NAME" должны соответствовать друг другу в порядке указания, т.е. на машине с адресом 192.168.1.41 должен быть запущен менеджер с именем LM1, на машине с адресом 192.168.1.54 с именем LM2, а на машине с адресом 192.168.1.59 с именем LM3 (для ОС Linux имеет значение регистр).
- Если на клиентском компьютере нужно запретить получать лицензию только от одного ключа в сети (IP машины c ключом 192.168.0.33) и разрешить получать лицензии от других ключей.
-------------------- nethasp.ini ------------------------------
[NH_COMMON]
NH_IPX=Disabled
NH_NETBIOS=Disabled
NH_TCPIP=Enabled
[NH_TCPIP]
NH_SERVER_ADDR=192.168.0.1-32,192.168.0.34-255
NH_USE_BROADCAST=Disabled
----------------------------------------------------------------
- Если на машине с установленным ключом необходимо разрешить HASP LM выдавать лицензию только одному компьютеру или серверу в сети (IP 192.168.0.33) и запретить выдавать лицензии другим машинам:
--------------------- nhsrv.ini -------------------------------
[NHS_IP]
NHS_USE_UDP=Disabled
NHS_USE_TCP=Enabled
NHS_IP_LIMIT=192.168.0.33
----------------------------------------------------------------
При этом на клиентских машинах в nethasp.ini необходимо будет заблокировать BROADCAST и разрешить только протокол TCP/IP.
- Если на машине с установленным ключом необходимо наоборот запретить HASP LM выдавать лицензию только одному компьютеру или серверу в сети (IP 192.168.0.33) и разрешить выдавать лицензии другим машинам:
--------------------- nhsrv.ini -------------------------------
[NHS_IP]
NHS_USE_UDP=Disabled
NHS_USE_TCP=Enabled
NHS_IP_LIMIT=192.168.0.1-32,192.168.0.34-255
----------------------------------------------------------------
Опять же не забываем заблокировать BROADCAST и разрешить TCP/IP в nethasp.ini.
- Если в сети есть сервер 1С:Предприятия (или веб-сервер, если на веб-сервере опубликована файловая информационная база) и серверу необходимо разрешить доступ только к локальному ключу (или программной лицензии), которые установлены непосредственно на данной машине и ограничить доступ к другим ключам по сети, то с помощью параметров файла nethasp.ini на данной машине можно запретить поиск других ключей по сети:
-------------------- nethasp.ini ------------------------------
[NH_COMMON]
NH_IPX=Disabled
NH_NETBIOS=Disabled
NH_TCPIP=Disabled
[NH_TCPIP]
NH_USE_BROADCAST=Disabled
----------------------------------------------------------------
- Когда подсчетом клиентских лицензий занимается сервер "1С:Предприятия" (или расширение веб-сервера), то клиентские лицензии, у которых в программе Aladdin Monitor значение колонки Timeout равно 0, будут считаться занятыми. Таким образом при обращении клиентского приложения к тому же сетевому клиентскому ключу, который уже выбран сервером, клиентское приложение также может прекратить поиск лицензии в других доступных по сети ключах той же серии, т.е. если в сети используется несколько клиентских ключей HASP и лицензии с этих ключей получают напрямую клиентские приложения, то столкнувшись с ключом, с которого лицензии были выданы также и сервером 1С:Предприятия, клиентское приложение может прекратить дальнейший поиск свободных ключей по сети и выдаст сообщение "Лицензия не обнаружена" не смотря на то, что в сети есть другие не занятые ключи HASP со свободными лицензиями. В связи с этим не рекомендуется использовать одни и те же многопользовательские ключи HASP для получения клиентских лицензий от HASP License Manager одновременно клиентским приложением напрямую от HASP LM и сервером "1С:Предприятия" (или расширением веб-сервера).
- При нештатном завершении работы 1С, когда программа не успевает освободить лицензию, могут образовываться "зависшие" лицензии. В этом случае могут быть проблемы с запуском 1С до тех пор, пока не будут удалены эти “зависшие” лицензии. Лицензии будет освобождены автоматически самим Менеджером лицензий, только по истечению таймаута, который составляет 36 часов с момента последнего обращения со стороны защищенного приложения. Раньше этого срока освободить лицензию можно только перезапустив Менеджер лицензий (перезагружать компьютер нет необходимости).
Обратите внимание, что в этом случае, другие пользователи должны будут так же перезапустить приложение.
- Если лицензии раздает сервер 1С:Предприятия или модуль веб-сервера, то по сети он может найти только один ключ одной серии (все клиентские ключи на 5, 10, 20, 50 и 100 рабочих мест относятся к одной серии - ORGL8). Т.е. искать по сети второй ключ любого номинала этой же серии программа уже не будет.
Если используются толстый/тонкий клиент 1С, то для решения проблемы можно в настройках кластера запретить раздачу лицензий сервером и тогда клиенты сами будут искать ключи по сети. Клиенты не имеют такого ограничения на работу с несколькими HASP-ключами по сети.
Если же используются веб-клиент или мобильный клиент, то в этом случае лицензии могут быть получены только от сервера. Для решения проблемы можно перейти на использование программных лицензий или объединить несколько USB-ключей в один (например, можно два ключа по 20 раб. мест + один ключ на 5 раб.мест можно объединить в один ключ на 50 раб.мест).
- Как уже было отмечено выше, сервер "1С:Предприятие 8" (или расширение веб-сервера) может получить клиентскую лицензию только от одного аппаратного ключа защиты одной серии обнаруженного по сети с помощью HASP License Manager. При исчерпании лицензий в одном сетевом ключе поиск в сети других ключей той же самой серии не выполняется!
Если в сети будет обнаружено несколько многопользовательских клиентских ключей серии ORGL8 (от 5 до 100 рабочих мест), то сервером будет произвольно выбран только один из ключей. Если данный ключ окажется занят или все лицензии с этого ключа будут исчерпаны, то после этого сначала будет производиться поиск одного многопользовательского ключа ORG8A (на 300 рабочих мест), затем одного многопользовательского ключа ORG8B (на 500 рабочих мест), а поиск в сети других ключей серии ORGL8 уже выполняться не будет.
Таким образом, если у пользователя имеется в распоряжении три многопользовательских ключа, например на 50, 20 и 10 рабочих мест, то сервер 1С:Предприятия сможет по сети получить лицензии с помощью HASP License Manager только от одного из них + лицензии еще с одного из ключей, если он будет установлен локально непосредственно в компьютер, на котором запущен сервер 1С:Предприятия.
Если учесть, что доступность ключей, установленных локально на одном компьютере, имеют те же ограничения (доступен только один ключ одной серии), то можно подсчитать, что общее максимально возможное количество клиентских лицензий, доступных для получения через один сервер 1С:Предприятия ограничено числом 1800 лицензий (локальный на 100 + локальный на 300 + локальный на 500 + сетевой на 100 + сетевой на 300 + сетевой на 500 = 1800).
Чтобы через сервер могло быть получено более чем 1800 клиентских лицензий необходимо:
- определить кластер серверов 1С:Предприятия на 2 и более компьютерах;
- на каждом из компьютеров (кроме первого) запустить дополнительный менеджер кластера;
- сервис сеансовых данных назначить нескольким менеджерам на разных компьютерах;
- при использовании локальных ключей установить локальные ключи в каждый из компьютеров менеджеров, на которые назначен сервис сеансовых данных;
- на каждом из компьютеров менеджеров в файле nhsrv.ini указать параметр NHS_USERLIST=900;
- при использовании сетевых ключей на компьютерах менеджеров, на которые назначен сервис сеансовых данных, определить nethasp.ini с указанием разных менеджеров лицензий.
Параметры конфигурационного файла nethasp.ini на Сервер 1:
-------------------- nethasp.ini ----------------------------
[NH_COMMON]
NH_IPX=Disabled
NH_NETBIOS=Disabled
NH_TCPIP=Enabled
[NH_TCPIP]
NH_SERVER_ADDR=192.168.0.14 ; Адрес компьютера №1 с менеджером лицензий
NH_USE_BROADCAST=Disabled
---------------------------------------------------------------
Параметры конфигурационного файла nethasp.ini на Сервер 2:
-------------------- nethasp.ini ----------------------------
[NH_COMMON]
NH_IPX=Disabled
NH_NETBIOS=Disabled
NH_TCPIP=Enabled
[NH_TCPIP]
NH_SERVER_ADDR=192.168.0.36 ; Адрес компьютера №2 с менеджером лицензий
NH_USE_BROADCAST=Disabled
---------------------------------------------------------------
В этом случае кластер серверов 1С:Предприятия будет равномерно распределять клиентские сеансы между менеджерами, что позволит обеспечить доступность через сервер произвольного количества клиентских лицензий.
- Решение проблемы с ошибкой Receive problem error и 100% загрузкой одного из ядер процессора
При использовании UDP в качестве протокола передачи данных возможна 100% загрузка одного из ядер процессора или массовые ошибки "receive problem error 10038" и "receive problem error 10054" в журнале License Manager. Причина проблем в "битых" пакетов по протоколу UDP, который используется HASP LM, т.к. обмен при помощи UDP-дейтаграмм не предусматривает контроля успешной доставки пакета. Данный протокол надежно работает только в сетях, построенных на высококачественном оборудовании. Одним из способов разрешить эту проблему без замены оборудования на более качественное – это переход на обмен посредством TCP-пакетов. В этом случае контролируется успешная доставка каждого пакета и работа с ключом становится более стабильной.
Казалось бы, что для этого будет достаточно настроить 1С на работу через TCP-пакеты с помощью параметров файлов nethasp.ini и nhsrv.ini:
-------------------- nethasp.ini ----------------------------
[NH_COMMON]
NH_TCPIP=Enabled
...
[NH_TCPIP]
NH_SERVER_ADDR=192.168.1.41
NH_TCPIP_METHOD=TCP
---------------------------------------------------------------
А с помощью параметров nhsrv.ini отключить прослушивание UDP-протокола, оставив только TCP:
--------------------- nhsrv.ini -------------------------------
[NHS_IP]
NHS_USE_UDP=Disabled
NHS_USE_TCP=Enabled
---------------------------------------------------------------
Однако продукты 1C:Предприятие 8.x работают только по UDP и данный вариант настроек с 1С работать не будет, но при большой необходимости ее все же можно заставить использовать TCP неявно.
Для этого, помимо того, что описано выше, необходимо разрешить в свойствах протокола TCP/IP (Properties - Advanced - WINS) поддержку NetBios over TCP/IP на рабочих станциях и на машине, где установлен ключ, а конфигурационный файл nethasp.ini необходимо настроить следующим образом:
-------------------- nethasp.ini ------------------------------
[NH_COMMON]
NH_TCPIP=Disabled
NH_NETBIOS=Enabled
...
[NH_NETBIOS]
NH_USELANANUM=<Число>
----------------------------------------------------------------
Значение параметра NH_USELANANUM можно взять из лога HASP License Manager - там указывается, какие каналы менеджер лицензий "слушает" по NetBIOS. Если в логах номеров несколько, то переберите их по очереди, пока 1С не запустится. При такой настройке 1С в качестве транспорта по-прежнему будет использовать TCP/IP, но работать с ним будет через интерфейс NetBios. Причем при передаче пакетов будет использоваться именно TCP-механизм, в силу особенностей реализации NetBios over TCP/IP.
Sentinel Admin Control Center
Определить в какой из машин в сети какой именно установлен ключ HASP можно попробовать с помощью веб-интерфейса
Seninel Admin Control Center, который устанавливается вместе с драйвером HASP ключа и открывается в браузере по ссылке вида http://<имя _компьютера или ip_адрес>:1947 или
http://localhost:1947/devices.html
Но при этом необходимо учитывать, следующее:
Во-первых - веб-интерфейс драйвера ключа мог быть отключен при установке пользователем из соображений безопасности.
Во-вторых - старые ключи HASP с микропрошивкой версии 2.17 в Sentinel Admin Control Center могут не определяться (версия микропрошивки указывается на корпусе ключа [ 217-61 ], [ 217-50 ] и т.д.).
Также мы наблюдали проблемы в работе HASP ключей с микропрошивкой версии 2.17 в ОС Linux (проблема ключей с микропрошивкой 2.17 в том, что она зашита "железно" и, в отличии от других версий, не может быть обновлена программно).
Aladdin Monitor (AKS Monitor)
Утилита Aladdin Monitor предназначена для отслеживания доступа к клиентским аппаратным ключам HASP и занятых лицензий. Программа сканирует сеть в поисках менеджера лицензий HASP License Manager и показывает активные соединения клиентских приложений с данными службами. Aladdin Monitor дает возможность увидеть имена хостов, на которых установлена служба и HASP ключи, максимальное количество доступных на ключе лицензий (Maximum Stations), количество занятых лицензий (Current Stations), имена и IP клиентов получивших лицензию.
При этом учитывайте, что Aladdin Monitor может увидеть клиентский HASP ключ 1С:Предприятие 8.* только при условии, если с этого ключа была выдана хоть одна лицензия.
Теги: Настройка nethasp.ini, Параметры nethasp.ini, Конфигурационные файлы nethasp.ini и nhsrv.ini