Настройка nethasp на несколько серверов.

1. Созинов 10.12.20 08:32 Сейчас в теме
Добрый день!
Вопрос по настройке nethasp.ini
Используем платформу 8.3.16.1148. Есть пару кластеров 1С 8 с программными лицензиями на сервер + на основном кластере стоят программные клиентские лицензии на платформу. Так же есть аппаратные ключи. Лицензии с аппаратного ключа, которые стоят на основном сервере подъедает сам кластер, все ок. Но есть проблема с поиском лицензий, которые раздаются HASP License Manager с других узлов.
Пытался настроить nethasp.ini для поиска лицензий на других узлах в сети так:

[NH_COMMON]

NH_IPX = Disabled 		; Use the IPX protocol
NH_NETBIOS = Disabled	; Use the NETBIOS protocol
NH_TCPIP = Enabled		; Use the TCP/IP protocol

...

[NH_TCPIP]
NH_SERVER_ADDR = ip1, ip2, ip3 ...
NH_PORT_NUMBER = 475
NH_TCPIP_METHOD = UDP
NH_USE_BROADCAST = Enabled
Показать


Проблема в том, что при настройке NH_SERVER_ADDR на несколько адресов почему-то клиент перестает искать лицензию на других узлах. Ранее такая настройка работала нормально, но не использовались программные лицензии. Кластер нормально отдает программные лицензии и аппаратные с ключа, который подключен к серверу где стоит кластер, но если лицензии на кластере закончились - не идет искать далее. Если nethasp настроить на один узел в сети - лицензии с него подхватываются, но проблема в том, что у нас несколько аппаратных ключей одной серии. Некоторые ключи в одной подсети с кластером, некоторые в разных. На всех узлах, где подключены ключи стоит HASP License Manager. Через Alladin Monitor видно, что он работает и лицензии раздаются, если подключается хоть один клиент. Можно ли каким-то образом 8.3.16 заставить искать ключ по нескольким узлам и если на первом найденном ключе закончились лицензии - далее производить поиск на следующем ключе? Что можно попробовать? Перенастройку на поиск по имени узлов, включение всех протоколов, отключение широковещательных протоколов, а так же снятие ограничений в Hasp License Manager (nhsrv.ini) пробовал - не помогло.
ALmighty; +1 Ответить
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Online-Ufa 10.12.20 08:44 Сейчас в теме
Не совсем понял, HASP LM лицензии с HASP ключей кому именно раздают? Серверу 1С и он потом выдает их клиентам, или напрямую клиентам мимо сервера 1С?
4. Созинов 10.12.20 10:37 Сейчас в теме
(2) Есть программные лицензии на сервере, где развернут кластер 1С. Так же на данном сервере есть аппаратный ключ и с него тоже забираются лицензии кластером 1С.

Отдельно в сети развернуты точки доступа с HASP LM. У клиента не получается получить ключ с данных точек доступа, если на 1 ключе все лицензии изнасходованы.

Попробую еще объяснить:
1. Имеем Сервер1С (здесь программные и аппаратные лицензии с локального ключа). Кластер 1С сам раздает лицензии.
2. Когда лицензии на кластере заканчиваются - клиент начинает искать лицензии в сети. Используются настройки nethasp.ini клиента. В данном файле указан список ip, где развернут HASP LM (так получилось, что есть несколько ключей одинаковой серии, хотя и с разным количеством лицензий, которые раскиданы по разным узлам, если разместить на один сервер все ключи - будет доступен только один, пробовали так делать).
3. Ранее при прописывании списка ip в NH_SERVER_ADDR файла nethasp.ini лицензии искались по очереди на каждом ip. Если на первом в списке ip лицензии закончились - поиск шел далее. При переходе на 8.3.16 и использовании раздачи лицензий через кластер клиент не ищет лицензии на ip, если указать их списком. Например:
NH_SERVER_ADDR = 192.168.0.2 - отрабатывает хорошо, лицензии подхватывает с дополнительного сервера
NH_SERVER_ADDR = 192.168.0.2, 192.168.0.3 - лицензии не ищет

Я наверное где-то допускаю ошибку в настройке nethasp.ini Как должна выглядеть строка NH_SERVER_ADDR = ... ?
6. Online-Ufa 10.12.20 10:46 Сейчас в теме
(4)
2. Когда лицензии на кластере заканчиваются - клиент начинает искать лицензии в сети. Используются настройки nethasp.ini клиента. В данном файле указан список ip, где развернут HASP LM (так получилось, что есть несколько ключей одинаковой серии, хотя и с разным количеством лицензий, которые раскиданы по разным узлам, если разместить на один сервер все ключи - будет доступен только один, пробовали так делать).

Еще раз - сервер и не должен искать по сети второй ключ той же серии, т.е. например у вас есть три ключа - на 50, 20 и 10 лицензий. Ключ на 50 установлен непосредственно на машину с сервером, а 20 и 10 на машины в сети, на машинах с ключами естественно установлен HASP LM. Так вот сервер 1С выдаст лицензии с ключа на 50, который установлен непосредственно в машину сервера и ТОЛЬКО С ОДНОГО из ключей на 20 или 10 (который найдет первым) и дальше искать ключи этой серии по сети уже не будет.
unknow_user; +1 Ответить
13. user592513_arhiholy 17.03.21 15:45 Сейчас в теме
(6) Находит и раздаёт, только не пойму закономерность, иногда работает, а иногда нет. В AKSmonitor клиентом является сервер, причём на двух ключах расположенных на разных компах.
14. Online-Ufa 17.03.21 18:08 Сейчас в теме
(13) Оба ключа НЕ на машине с сервером 1С и сервер с обоих ключей получает лицензии от HASP LM?
3. Online-Ufa 10.12.20 09:22 Сейчас в теме
Алгоритм поиска ключей Сервером 1С отличается от алгоритма поиска ключа клиентом и ему без разницы сколько адресов вы укажите в параметре NH_SERVER_ADDR в файле nethasp.ini - Сервер 1С второй ключ той же серии по сети искать не будет все равно.
5. Созинов 10.12.20 10:39 Сейчас в теме
(3) Это понятно. Но почему-то клиент не ищет по сети лицензии, если списком указать несколько ip
7. Online-Ufa 10.12.20 10:48 Сейчас в теме
(5)
Но почему-то клиент не ищет по сети лицензии, если списком указать несколько ip

Бесполезно указывать списком, т.к. искать не будет.
10. Созинов 11.12.20 06:06 Сейчас в теме
(7) Очень странно, т.к. раньше это работало. После перехода на 8.3.16 перестало. Буду пробовать с другими релизами. Спасибо.
11. Online-Ufa 11.12.20 08:46 Сейчас в теме
(10)
Очень странно, т.к. раньше это работало. После перехода на 8.3.16 перестало. Буду пробовать с другими релизами. Спасибо.

Как у вас раньше работало я не знаю, но алгоритм поиска ключей по сети сервером 1С именно такой, как вы описали выше - если он нашел первый ключ серии ORGL8 и на нем нет лицензий, дальше поиск ключей этой серии больше и не должен производиться (дальше сервер ищет ключи только других серий: ORG8A - на 300 р.м. и ORG8B - на 500 р.м.). Т.е. есть чисто техническое ограничение, на количество лицензий, которое может выдать один сервер 1С при использовании аппаратных ключей.
Подробнее есть тут или тут.
И такой алгоритм был у 1С 8 всегда, замена релизов не поможет.
Если у вас в кластере несколько серверов, то можно попробовать настроить, что бы каждый из них искал свой отдельный ключ, который будет указан в nethasp.ini, но имхо проще объединить несколько ключей в один или поменять на программные лицензии.
Созинов; +1 Ответить
8. RustamZz 10.12.20 11:39 Сейчас в теме
(5) У вас с одного ключа не раздает сервер и клиенты? И если указываете список серверов, броадкаст лучше отключить.
9. Созинов 11.12.20 06:05 Сейчас в теме
(8) Кластер и клиенты могут забирать лицензии с одного ключа, здесь проблем нет.
Проблема в том, что не удается заставить клиент искать лицензии по нескольким ключам в сети. Т.е. если клиент нашел первый ключ и на нем нет лицензий, дальше поиск не производится.
12. RustamZz 11.12.20 10:01 Сейчас в теме
(9) Лицензия полученная сервером сидит в менеджере одной строкой, но занимает несколько лицензий, клиентом каждая отдельной строкой. Так как поведение 1С при поиске лицензии подробно не расписано, у меня подозрение что первоначально ключ говорит, что на нем есть лицензии, но при попытке получить ее выдает отказ. Поэтому у 1С рекомендации разделять ключи для выдачи сервером и клиентом. Лично у меня проблем при таком подходе было гораздо меньше, кроме одной когда разные базы брали на одном компьютере лицензии с разных ключей. Попробуйте тогда общий для клиентов и сервера ключ прописать в списке последним в файле у клиента.
Созинов; +1 Ответить
15. roman_1379 20.04.21 14:53 Сейчас в теме
Добрый день.
Есть схожая ситуация:
Имеются два ключа USB 500 и 300 подключены в два разных сервера лицензирования HASP LM.
У пользователей в nethasp.ini ключи умышлено не прописаны.
Сервера прописаны на сервере 1с в nethasp.ini
NH_SERVER_ADDR = 192.1.1.10, 192.1.1.11
Возможна ли в таком режиме получение пользователями лицензий с двух ключей через сервер?
На данный момент наблюдается ситуация когда заканчиваются лицензии на первом ключе, например 500, то второй ключ пользователи не видят.

Отдельная ситуация:
Если на клиента прописано NH_SERVER_ADDR = 192.1.1.10, 192.1.1.11 по какому принципу определяется с какого сервера выдать с 10 или с 11? На данный момент наблюдаю, что получение лицензий первым делом происходят c 11, хотя он прописан вторым, а потом уже с 10 мочему так может происходить?
16. Online-Ufa 20.04.21 14:57 Сейчас в теме
(15)
Имеются два ключа USB 500 и 300 подключены в два разных сервера лицензирования HASP LM.

Ключи на 500 и 300 раб.мест можете спокойно установить в одну машину, HASP LM будет раздавать лицензии с обоих
17. Online-Ufa 20.04.21 15:03 Сейчас в теме
(15)
У пользователей в nethasp.ini ключи умышлено не прописаны.

На клиентах просто не прописаны IP или поиск ключей полностью заблокирован?
С настройками по умолчанию клиент будет искать по сети ключи и без указания IP.

Если на клиента прописано NH_SERVER_ADDR = 192.1.1.10, 192.1.1.11 по какому принципу определяется с какого сервера выдать с 10 или с 11? На данный момент наблюдаю, что получение лицензий первым делом происходят c 11, хотя он прописан вторым, а потом уже с 10 мочему так может происходить?

Сервер 1С, который раздает лицензии, на какой машине 192.1.1.10 или 192.1.1.11 ?
roman_1379; +1 Ответить
18. roman_1379 20.04.21 15:55 Сейчас в теме
(17)
Отключен поиск аппар. лицензий и на всякий случай NH_USE_BROADCAST = Disabled
На обоих 192.1.1.10 и 192.1.1.11 стоит HASP LM, самого сервера 1с на них нет.
19. Online-Ufa 20.04.21 17:21 Сейчас в теме
(18) По алгоритму поиска 1С сначала пытается получить лицензию там, где была получена лицензия при предыдущем успешном подключении. а вот почему второй ключ не хочет искать - этого сказать не могу, т.к. 500 и 300 - это ключи разных серий и сервер должен находить оба.
Вот если бы это были ключи до 100 р.м., то тогда бы было понятно.
Что показывает Aladdin Monitor?
20. roman_1379 21.04.21 07:28 Сейчас в теме
(19)
Что показывает Aladdin Monitor?

из 300 занято около 200, остальные 100 заняты через сервер - это уже расписано в журнале поиска ключа, когда появляется ошибка что лицензия не наедена. Там также примерно написано "ORG8A найден, но лицензии закончены, а ORG8B не найден", хоть и прописан в nethasp.ini
Ещё один нюанс, лицензии выдавались в перемешу, и через сервер и через HASP LM, может и в этом проблема?
21. Online-Ufa 21.04.21 07:54 Сейчас в теме
(20)
из 300 занято около 200, остальные 100 заняты через сервер

Каким образом 200 клиентов получили лицензии сами напрямую от HASP LM, без сервера, если у вас на клиентах доступ к ключу якобы заблокирован ?
Я же у вас первым делом спросил про блокировку доступа к ключу на клиентских ПК, т.к. если с одного ключа одновременно выдаются лицензии и серверу и напрямую клиентам, то поиск второго ключа может не отрабатывать.
22. roman_1379 21.04.21 11:10 Сейчас в теме
(21) Это было в процессе перенастройки, поэтому получилось что одни через сервер, а часть ещё напрямую, потом уже стал понимать что причина может быть в этом.
Спасибо, теперь я спокоен! )
23. ivoryblade 15.02.23 11:24 Сейчас в теме
Боролся с такой же ситуаций - сервер должен раздавать лицензии с 3 дополнительных ключей на 5 клиентов. В итоге был написан bash скрипт карусель каждую минуту подменяющий адрес менеджера лицензий в nethasp.ini. Да топорно, да приходится иногда подождать но работает. Был бы рад узнать если кто то смог это решить более элегантно.
24. ksty 02.03.23 07:02 Сейчас в теме
Борюсь с аналогичной ситуацией.
В локальной сети два сервера 1с (srv1-192.168.0.1, srv2-192.168.0.2) с двумя базами (base1, base2). В каждом сервере стоит ключ на 50 лицензий.
Дополнительно в удаленной сети центрального офиса имеется третий сервер (srv3) с базой (base3) куда пользователи нашего подразделения подключаются (к их базе).
Все пользователи запускают remoteapp приложение 1с с терминального сервера.
На терминальном сервере прописано откуда клиенту брать ключи NH_SERVER_ADDR = 192.168.0.1, 192.168.0.2
На всех базах выключена опция раздавать лицензию сервером. в итоге клиенты забирают лицензии с 192.168.0.1 все 50 штук, а со второго не берут, единственное что помогает это изменить запись на NH_SERVER_ADDR = 192.168.0.2 при нехватке лицензий у пользователя. Тогда клиенты начинают брать лицензии с 192.168.0.2, НО если клиент получивший лицензию с 192.168.0.1 закроет 1с и зайдет в него снова, то возьмет он уже лицензию с 192.168.0.2.... и так история по кругу переписыванием файла..
Вопрос: как получать клиентам лицензии если он подключается к base1, base2 с одного сервера скажем srv1, а если подключаются к base3, то брать лицензии с srv2?
25. Online-Ufa 02.03.23 07:43 Сейчас в теме
(24) Покажите полностью, что именно у вас в nethasp.ini на клиентах.
Если на машинах с ключами настраивали nhsrv.ini, то их содержимое тоже.
26. ksty 02.03.23 08:03 Сейчас в теме
(25)
Покажите полностью, что именно у вас в nethasp.ini на клиентах.
Если на машинах с ключами настраивали nhsrv.ini, то их содержимое тоже.

Вот содержимое:

настройка nhsrv.ini на первом менеждере лицензий 192.168.23.7
-----------------------------------------------------------------------
[NHS_SERVER]

NHS_USERLIST     = 250           ; maximum number of concurrent logins

NHS_SERVERNAMES = srv-1c
NHS_HIGHPRIORITY = no            ; run LM at high priority (default=no)


[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_IPX]

NHS_USE_IPX       = enabled  ; 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 !

настройка nhsrv.ini на втором менеждере лицензий 192.168.23.6
-------------------------------------------------------------------

[NHS_SERVER]

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

NHS_SERVERNAMES = srv-rep
NHS_HIGHPRIORITY = no            ; run LM at high priority (default=no)



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))


NHS_USE_IPX       = enabled  ; 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 !

NHS_USE_NETBIOS   = enabled  ; enabled or disabled (default: enabled)


настройка nethasp.ini на терминальном сервере
-------------------------------------------------------------------------


NH_IPX = Disabled
NH_NETBIOS = Disabled
NH_TCPIP =  Enabled


[NH_TCPIP]

NH_SERVER_ADDR = 192.168.23.7, 192.168.23.6

NH_TCPIP_METHOD = TCP

NH_SERVER_NAME = srv-1c, srv-rep


Показать
27. Online-Ufa 02.03.23 08:27 Сейчас в теме
(26) 1. В nethasp.ini первой строкой перед параметрами должна быть указана секция [NH_COMMON], без этого параметры применяться не будут.

2. Параметр NH_TCPIP_METHOD = TCP можно убрать, в случае с 1С он ни на что не влияет.

3. Не вижу параметра NH_USE_BROADCAST=Disabled в секции [NH_TCPIP]

4. Попробуйте удалить пробелы после запятой между IP и именами серверов.
28. ksty 06.03.23 15:10 Сейчас в теме
В общем ничего не помогает, ни пробелы ни NH_USE_BROADCAST=Disabled и прочее...
Но есть выход, по крайней мере по мере из "костылей" в решение может кому-то сгодится... Особенно тем кто на терминальном сервере и кого в сети два одинаковых ключа как у меня 50 шт каждый.
1. На srv1 и srv2 где установлены ключи и менеджер лицензий создаем в планировщиках задание на батник на перезапуск служб Hasp один будет перезагружать службы в 00:00 и каждый час, второй в 00:30 и так каждый час или кому как удобно.
запись простая:
net stop "HASP Loader"
start /wait net start "HASP Loader"
Что позволяет освобождать "неиспользуемые" лицензии. Там где алладин монитор показывает 0 мс.
2. На терминальном сервере в папке C:\Program Files (x86)\1cv8\conf удаляем nethasp.ini и с помощью политик по отделам в домене или как вам удобно кладем файл nethasp.ini в папку AppData\Local\1C\1cv8\conf у пользователя
для части сотрудников будет запись в этом файле NH_SERVER_ADDR = 192.168.0.1, а для других NH_SERVER_ADDR = 192.168.0.2
-------
По крайней мере у меня у терминальных пользователей пока полет нормальных.... Неудобства видны, конечно.
29. Denis_Shiln 26.04.23 01:02 Сейчас в теме
Блин тоже самое (базы только файловые) Не подхватывает лицензии со второго ключа. И еще один момент, при привязке программной лицензии к HASP виден только один ключ, который первый в списке (NH_SERVER_ADDR). И соответственно если его сдвинуть на вторую позицию, то программная лицензия тоже не будет работать, скажет что ключ удален и есть только тот который теперь указан первым. Есть еще мысли как это победить? Или только костыли как в посте Выше?
30. Online-Ufa 26.04.23 09:20 Сейчас в теме
(29) У вас тоже два ключа по 50 или всё же какие-то другие?
31. Denis_Shiln 26.04.23 09:33 Сейчас в теме
(30)Ключ на 100 и ключ на 20, на разных LM, оба в другой подсети
33. Online-Ufa 26.04.23 10:17 Сейчас в теме
(31) Работало и после чего-то перестало или не удается завести с самого начала?
34. Denis_Shiln 26.04.23 10:46 Сейчас в теме
(33)Да, раньше работало, после чего перестало не известно. И еще вводные, при активации лицензии, она видит только первый ключ из списка, а не оба.
35. Online-Ufa 26.04.23 11:04 Сейчас в теме
(34)
И еще вводные, при активации лицензии, она видит только первый ключ из списка, а не оба.

Уже обратил внимание на это момент и что-то тут не так, у меня видит все ключи, доступные по сети.
В файлах nhsrv.ini на машинах с HASP LM присвоены имена с помощью парамтера NHS_SERVERNAMES=<NameLM>?
36. Denis_Shiln 26.04.23 12:39 Сейчас в теме
(35)Нет. Делал, но не получилось, когда прописываю имена сервисов, то вообще перестают видеться ключи (делал по инструкциям, последовательность правильная)
37. Online-Ufa 26.04.23 13:22 Сейчас в теме
(36) Странные дела.
Имена в английской раскладке и не более 7 символов?
38. Denis_Shiln 26.04.23 15:08 Сейчас в теме
(37)Да, конечно. Использовал банально LM1, LM2.
39. Online-Ufa 26.04.23 15:14 Сейчас в теме
(38) HASP LM на машинах с ОС Windows или Linux?
40. Denis_Shiln 26.04.23 15:43 Сейчас в теме
41. Online-Ufa 26.04.23 16:07 Сейчас в теме
(40) Какая древность.
Среди ключей случаем нет старых ключей с микропрошивкой 2.17?
Прикрепленные файлы:
42. Denis_Shiln 27.04.23 02:01 Сейчас в теме
(41)Да, есть, что с ними не так?
43. Online-Ufa 27.04.23 07:55 Сейчас в теме
(42) Это ключи, у которых не обновляется микропрошивка и точно есть проблемы с работой на Linux.
У вас такой ключ клиенты совсем найти не могут или запускается при условии, если его IP указать первым в списке параметра NH_SERVER_ADDR?
44. Denis_Shiln 27.04.23 23:37 Сейчас в теме
(43)Да, он работает нормально если его поставить первым в списке.
45. Online-Ufa 27.04.23 23:44 Сейчас в теме
(44) Что 1С пишет в журнале поиска ключа?
32. Созинов 26.04.23 09:46 Сейчас в теме
(31) к меня не получилось заставить работать софтовые и аппаратные клиентские личензии одновременно (вроде через назначение функциональности кластера сервис лицензирования есть возможность). Когда убрали программы клиентские личензии - все заработало. Лицензии по списку в разных подсетях ищутся.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот