Ситуация, когда в одной локальной сети сосуществуют десятки программных и аппаратных лицензий, часто приводит к хаосу: пользователи одного отдела «разбирают» лицензии, предназначенные для другого подразделения. Это вызывает простои в работе и ошибки запуска «1С:Предприятие». В данной статье мы подробно разберем механизмы управления лицензиями и научимся настраивать систему так, чтобы каждый отдел работал только со своими ключами.
Прежде чем приступать к настройкам, давайте проанализируем, как именно платформа «1С:Предприятие» ищет ключ. Это критически важно, так как система прекращает поиск, как только найдет первую подходящую лицензию. Порядок поиска выглядит следующим образом:
.lic, активированные на данном рабочем месте.HASP License Manager по сети.Зная этот порядок, мы можем сделать вывод: чтобы разграничить доступ, нам нужно вмешаться в процесс сетевого поиска (пункт 3) и механизм раздачи сервером (пункт 4).
Если у вас есть аппаратные многопользовательские ключи (например, на 5, 10, 20 или более пользователей), ими управляет служба HASP License Manager. По умолчанию она отдает лицензию любому, кто «постучится» в сеть. Чтобы ограничить список компьютеров, которым разрешено брать лицензии с конкретного сервера, проанализируем файл nhsrv.ini, который находится в папке с установленным менеджером лицензий.
Разберем основные параметры, которые нам помогут:
[NHS_IP].NHS_IP_LIMIT. Здесь мы можем через запятую перечислить конкретные IP-адреса или целые подсети, которым разрешен доступ к данному ключу.Посмотрим на пример настройки файла nhsrv.ini на сервере, где установлен ключ для конкретного отдела:
[NHS_IP]
NHS_USE_UDP = Enabled
NHS_USE_TCP = Enabled
; Разрешаем доступ только для диапазона адресов бухгалтерии
NHS_IP_LIMIT = 192.168.1.10-192.168.1.50, 192.168.1.100
Важно: После внесения изменений в nhsrv.ini необходимо обязательно перезапустить службу HASP License Manager в консоли управления службами Windows.
Теперь рассмотрим ситуацию с другой стороны — со стороны компьютера пользователя. Если мы хотим, чтобы конкретный ПК «видел» только определенный сервер лицензий и не пытался опрашивать всю сеть широковещательными запросами (Broadcast), нам нужно отредактировать файл nethasp.ini.
Обычно этот файл располагается по пути: C:\Program Files\1cv8\conf (или в папке bin конкретной версии платформы).
Выполним следующие шаги по настройке:
NH_USE_BROADCAST = Disabled. Это предотвратит «кражу» случайных лицензий из сети.NH_SERVER_ADDR.NH_TCPIP включен.Пример настройки nethasp.ini для пользователя, который должен брать лицензию только с сервера 192.168.1.10:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
; Указываем адрес конкретного менеджера лицензий
NH_SERVER_ADDR = 192.168.1.10
; Отключаем поиск по всей сети
NH_USE_BROADCAST = Disabled
; Можно также ограничить время ожидания ответа
NH_TCPIP_METHOD = TCP
Ситуация усложняется, когда на одном сервере работают SQL-базы, а на другом — файловые. В этом случае сервер «1С:Предприятия» (например, Сервер 1) может сам раздавать программные лицензии. Если пользователи Сервера 1 начинают занимать лицензии, предназначенные для файловой базы на Сервере 2, нужно проверить настройки в консоли администрирования серверов 1С.
Рассмотрим подробнее настройку свойств информационной базы:
Если мы снимем эту галочку, сервер перестанет отдавать программные лицензии из своего общего пула. В этом случае клиентское приложение (тонкий или толстый клиент) будет вынуждено искать лицензию самостоятельно — либо локально, либо через nethasp.ini на сетевом ключе. Это отличный способ разделить «серверных» пользователей и «файловых».
Еще один продвинутый метод разграничения — запуск менеджеров лицензий на разных портах. По умолчанию используется порт 475. Если на одном сервере (или в разных сегментах) нужно разделить потоки, мы можем в файле nhsrv.ini изменить порт:
[NHS_IP]
NHS_IP_port = 476
В этом случае в клиентском nethasp.ini также нужно будет указать соответствующий порт, иначе 1С просто не увидит этот менеджер лицензий. Это создает надежный барьер для «чужих» подключений.
Чтобы выяснить причину нехватки ключей, рекомендуется использовать утилиту AKS Monitor (Aladdin Monitor). Проанализируем ее возможности:
HASP License Manager в сети.Если вы видите в списке «лишние» IP-адреса, это сигнал к тому, что настройки NHS_IP_LIMIT на данном сервере не заданы или настроены неверно.
Важно помнить техническое ограничение: на одном компьютере не могут одновременно работать два аппаратных ключа одной серии (например, два ключа маркировки ORGL8). Система увидит только один из них. Если вашему предприятию нужно расширить количество лицензий аппаратными ключами, их необходимо физически разносить на разные сервера и на каждом настраивать свой HASP License Manager, используя методику из Решения 1 и Решения 2.
Подведем итог: наиболее эффективный метод разграничения — это комбинация настройки nhsrv.ini на сервере (белый список IP) и жесткое указание адреса сервера в nethasp.ini на стороне клиента с отключением широковещательного поиска (Broadcast). Это гарантирует, что лицензии будут распределяться строго по назначению.