Инструкция по установке ключей защиты и менеджеров лицензий для 1с 8.x-01.10.2012   

1. Перед установкой менеджера лицензий нужно убедиться, что отключены все терминальные службы (Terminal Services, Citrix и т.п.). Для подключения к удаленным серверам в таких случаях рекомендуется использовать стороннее ПО для удаленного администрирования (без использования механизма терминальных служб), например RAdmin, VNC и т.п. Если это невозможно или нежелательно – то хотя бы нужно подключаться строго на консольную сессию (для этого нужно запустить mstsc.exe с параметрами /console или /admin, в зависимости от версии mstsc), также обязательно нужно убедиться, что подключение произошло к консольной сессии (Id=0).

2. Перед установкой ключа необходимо удалить все ранее установленные менеджеры лицензий, драйверы ключей, эмуляторы и т.п.
Рекомендуемая последовательность действий:
а) остановить все службы, которые содержат в названии «Hasp», «HLServer», «NHSrvice» и т.п.
б) удалить все компоненты HASP через «Панель управления - Установка/удаление программ».
в) удалить все службы, которые содержат в названии «Hasp», «HLServer», «NHSrvice» и т.п. (например, instsrv.exe HaspNT remove).
г) удалить драйверы с помощью команд «haspdinst -purge», «haspdinst -fr». Если на сервере установлена 1С 8, то можно еще выполнить «Пуск - Программы - 1С Предприятие 8.2 – Дополнительно - Удаление драйвера защиты».
д) удалить драйверы HASP в «Диспетчере устройств»:
- зайти в «Панель управления» «Система»;
- перейти на вкладку «Оборудование» и откройте «Диспетчер устройств»;
- выбрать в меню «Показать скрытые устройства»;
- раскрыть пункт «Драйверы устройств не Plug and Play»;
- удалить каждый из следующих пунктов, если они присутствуют: «Hardlock», «Haspnt», «HASP fridge» , «aksfridge» и т.п..
е) перезагрузить сервер
ж) удалить все файлы aks*.*, «hardlock.sys», «haspnt.sys» и т.п. из папок «c:windowssystem32» и «c:windowssystem32drivers» (если они не используются други-ми приложениями).
з) поискать в реестре, в разделе HKLMSYSTEMCurrentControlSetServices остатки служб и драйверов (ключевые слова “hasp”, “fridge”, “aksusb”, “safenet”, “sentiel” и т.п.). Найденное нужно аккуратно удалить (напрямую из реестра удалять не рекомендуется, лучше использовать утилиты типа instsrv.exe);
и) перезагрузить сервер

3. Установить менеджер лицензий (Licence Manager). На текущий момент последняя версия 8.32. Ссылка для скачивания: http://www.aladdin-rd.ru/support/downloads/3746/
Данный менеджер лицензий будет корректно работать, как на Windows XP/2003, так и на Windows Vista/7/2008/2008R2 (как x86, так и x64). При первой установке, возможно, имеет смысл установить менеджер лицензий как GUI приложение, убедиться, что все работает и затем переустановить как сервис.

4. Установить последние драйверы ключа (те, которые идут в комплексе с менеджером лицензий, имеет смысл переустановить на более свежие).
Для ключей HASP4 и для операционных систем Windows XP/2003 (x86/x64) нужно установить драйвер версии 4.116 (http://www.aladdin-rd.ru/support/downloads/3759/)
Для ключей HASP HL, а также для Windows Vista/7/2008/2008R2 потребуется драйвер версии 6.23 (http://www.aladdin-rd.ru/support/downloads/26704/)
Клиентские ключи на 300 и 500 лицензий бывают только в реализации HASP HL.

5. Рядом с менеджером лицензий нужно положить файл nhsrv.ini (или отредактировать существующий) приблизительно такого содержания:

;*******************************************************************************
;*
;* NetHASP License Manager sample configuration file.
;*
;* boolean switches may have the values
;* 1, yes, true, enabled
;* 0, no, false, disabled
;*
;*******************************************************************************


; ------------------------------------------------------------------------------
; global LM settings
; ------------------------------------------------------------------------------

[NHS_SERVER]

NHS_USERLIST = 500 ; maximum number of concurrent logins
; to this LM (default=250, max = 65520)
NHS_SERVERNAMES = lm27

;NHS_SERVERNAMES = cad, test1, ; server names to match the name a client
; LM017, ; requests (max 6 names, max 7 chars/name)
; oefibla

NHS_HIGHPRIORITY = no ; run LM at high priority (default=no)


; ------------------------------------------------------------------------------
; settings for the IP protocol
; ------------------------------------------------------------------------------

[NHS_IP]

NHS_USE_UDP = enabled ; enabled or disabled (default: enabled)
NHS_USE_TCP = enabled ; enabled or disabled (default: enabled)
NHS_IP_portnum = 475 ; IP port number (default: 475 (IANA registered))
; CAUTION: clients must use the same port !


;NHS_IP_LIMIT = 10.24.2.18-99, 10.1.1.9/16, 10.25.0.0/24,
; 192.0.0.*, 194.0.*.*, 11.*.*.*,
; 10.24.7.8-12 /30, 10.24.2.17
; specifies the range of stations that are allowed to access the LM
; the LAST byte may be a range (e.g., 10-120)
; the 4th, the 4th and 3rd, or the 4th and 3rd and 2nd byte may be an asterisk,
; acting as wildcard (e.g., 10.*.*.*, but NOT 10.*.20.1)
; an additional bitmask can be specified as number of one-bits (e.g., 10.0.0.0/8)


; ------------------------------------------------------------------------------
; settings for the IPX protocol
; ------------------------------------------------------------------------------

[NHS_IPX]

NHS_USE_IPX = disabled ; enabled or disabled (default: enabled)
;NHS_addrpath = c:temp ; pathname for haspaddr.dat (default: current dir)
NHS_AppendAddr = no ; append to haspaddr.dat (default: replace)
NHS_usesap = enabled ; enabled or disabled (default: enabled)
NHS_ipx_socketnum = 0x7483 ; IPX socket number (default: 0x7483)
; CAUTION: clients must use the same number !


; ------------------------------------------------------------------------------
; settings for the NetBios protocol
; ------------------------------------------------------------------------------

[NHS_NETBIOS]

NHS_USE_NETBIOS = disabled ; enabled or disabled (default: enabled)
;NHS_NBNAME = MyNBName ; use another than predefined NetBios name
; CAUTION: clients must use the same name !
;NHS_use_lana_nums = 3,0,7,2 ; default = all (automatic)


; ------------------------------------------------------------------------------
; end of file
; ------------------------------------------------------------------------------

Смысл изменений заключается в следующем:
1) Отключены протоколы Netbios и IPX (NHS_USE_NETBIOS = disabled, NHS_USE_IPX = disabled)
2) Увеличено максимальное число доступных лицензий (NHS_USERLIST = 500), актуально для ключей на 300 и 500 лицензий.
3) Присвоено уникальное имя для сервера лицензий (NHS_SERVERNAMES = lm27). Это рекомендуется делать, т.к. в локальной сети возможно появление нескольких менеджеров лицензий и между ними возможны конфликты.

6) После установки и настройки менеджера лицензий и драйверов сервер нужно перезагрузить. После перезапуска, нужно проверить, что сервер лицензий запущен (или запустить его вручную, если он был установлен как GUI приложение). Также нужно проверить Activity Log и убедиться, что менеджер лицензий корректно загрузил протоколы TCP и UDP, а также что не было проблем с поиском nhsrv.ini
Картинка должна быть примерно такой:

7. Нужно настроить клиентские рабочие станции, чтобы они корректно подключались к серверу лицензий.
Для этого нужно создать файл Nethasp.ini, примерно такого содержания:

[NH_COMMON]
NH_TCPIP = Enabled
NH_IPX = Disabled
NH_NETBIOS = Disabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.27
NH_TCPIP_METHOD = TCP
NH_USE_BROADCAST = Disabled

Смысл данных изменений в следующем:
1) Отключаются все протоколы, за исключением TCPIP (NH_IPX = Disabled, NH_NETBIOS = Disabled)
2) Запретить широковещательную рассылку пакетов (NH_USE_BROADCAST = Disabled)
3) Явно задать сервер лицензий (NH_SERVER_ADDR = 192.168.0.27), если серверов несколько - то нужно указывать через запятую.

Данный файл нужно положить по следующим путям (1С ищет их именно в этом порядке):
1) C:Program Files [(x86)]1cv828.2.XX.YYYbinconf
2) C:Program Files [(x86) ]1cv82conf
3) C:Program Files [(x86)]1cv828.2.XX.YYYbin

8) Нужно проверить корректность подключения. Для этого на клиентской рабочей станции нужно удалить все драйверы Hasp, эмуляторы и т.п., после чего запустить 1С. В случае успешного запуска окно "О программе" должно содержать примерно следующую информацию о лицензии:
Текущая:
Сетевой HASP4 ORG8B 500, получило клиентское приложение
Локальный HASP4 EN8SA 1
Информационная база:
Локальный HASP4 ORGL8 10
Сетевой HASP4 ORGL8 50

Раздел "Текущая" содержит информацию о текущей клиентской лицензии (а также о ли-цензии сервера, если она есть). Раздел "Информационная база" содержит информацию о предыдущих параметрах лицензии (поэтому смотреть на этот раздел особого смысла не имеет).

Если 1С подключилась успешно, то имеет смысл запустить утилиту Aladdin Monitor (http://www.aladdin-rd.ru/support/downloads/3742/) и убедиться, что он находит менеджер лицензий, а также понаблюдать, как 1С забирает свободные лицензии.
До того, как хотя бы одна 1С не получит лицензию с менеджера лицензий, монитор не будет показывать наличию ключа вообще (поэтому сначала нужно успешно подключиться).

Если при подключении 1С возникли проблемы, то имеет смысл файл nethasp.ini положить рядом с утилитой Aladdin Monitor, после чего перезапустить ее и убедиться, что монитор корректно работает с данными настройками.

Licence Manager использует порты UDP 475 и TCP 475, поэтому эти порты должны быть открыты в обе стороны.

9 Если большая нагрузка в сети и много клиентов, то менеджер лицензий может не успеть выдать лицензию. Чтобы это решить, нужно увеличить интервал опроса к менеджера лицензий клиентов в nethasp.ini
NH_SESSION = 5
NH_SEND_RCV = 4

Вещи, про которые имеет смысл помнить

1) При нештатном завершении работы «1С», когда программа не успевает освободить лицензию, могут образовываться «зависшие» лицензии. В этом случае новые копии приложения не будут запускаться до тех пор, пока «зависшие» лицензии не будут удалены. По истечению таймаута, который составляет 36 часов с момента последнего обращения со стороны защищенного приложения, лицензии будет освобождены самим Менеджером лицензий. Раньше этого срока освободить лицензию можно только перезапустив Менеджер лицензий.

2) Не все релизы 1С одинаково полезны. Примеры:

а) Ошибки, исправленные при выпуске версии 8.2.14.531
Система защиты
10085117 Сервер Предприятия не обнаруживает ключ защиты программы
Проблема:
После запуска кластера серверов Предприятия возможна ситуация, когда при подключении клиентских приложений к некоторым отдельным рабочим процессам может быть по-лучено сообщение об ошибке
На сервере 1С:Предприятия не найдена лицензия.
Не обнаружен ключ защиты программы или полученная программная лицензия!

б) Ошибки, исправленные при выпуске версии 8.2.14.533
10087641 Многопользовательский ключ HASP
Проблема:
При распределении клиентских лицензий с аппаратного ключа HASP сервером Предприятия возможен выход ключа из строя.

При написании статьи использованы материалы с сайтов 1c.ru и http://www.aladdin-rd.ru .