Сетевой ключ 1С и менеджер NHSRV: как раздать лицензии на все рабочие места

· 10 мин

Содержание

Чтобы лицензии 1С из сетевого USB-ключа работали на нескольких компьютерах, нужны три вещи. На машину с ключом ставят драйвер защиты и менеджер лицензий NHSRV (HASP License Manager) в режиме службы. В брандмауэре этой машины открывают порт 475 для UDP и TCP. На клиентах в файле nethasp.ini прописывают адрес этого компьютера.

Настройка относится к платформе 1С:Предприятие 8.3 в целом и не зависит от конфигурации: Бухгалтерия, ЗУП и УТ получают лицензию одинаково. Ниже по шагам — установка, конфигурационные файлы, связка с программными лицензиями и разбор ошибок.

Что делает NHSRV и в каких случаях он нужен

NHSRV — менеджер лицензий фирмы Aladdin (сейчас Thales/Sentinel) для аппаратных ключей серии NetHASP. Исполняемый файл службы называется nhsrvice.exe, в списке служб Windows она видна как HASP Loader.

Менеджер работает посредником. Клиент 1С на рабочем месте не видит USB-порт чужого компьютера. Он отправляет запрос по сети, NHSRV принимает его, проверяет число свободных мест в ключе и выдаёт или не выдаёт лицензию.

NHSRV нужен, если:

  • 🔴 у вас многопользовательский клиентский ключ (на 5, 10, 20, 50 и более мест);
  • 🖥️ ключ вставлен в один компьютер, а работают с 1С на нескольких;
  • 🌐 ключ стоит на терминальном сервере или отдельной машине, а пользователи подключаются по сети.

NHSRV не нужен, если ключ однопользовательский и вставлен прямо в компьютер пользователя. Его не используют и для ключа сервера 1С:Предприятия: тот читается локально, только на компьютере, где работает кластер.

Какие ключи и лицензии 1С совместимы с менеджером NHSRV

Сначала проверьте, что у вас за ключ. Тип написан на самом ключе и в регистрационной анкете из коробки.

Вид защитыГде находитсяНужен NHSRV
Однопользовательский клиентский ключВ компьютере пользователяНет
Многопользовательский (сетевой) клиентский ключНа одном компьютере в сетиДа
Ключ сервера 1С:ПредприятияНа компьютере кластераНет
Программная лицензия (пинкод)Файл лицензии на дискеНет, это другой механизм

Многопользовательский ключ раздаёт столько одновременных подключений, сколько указано в его серии. Учёт идёт по компьютерам: два сеанса 1С с одного рабочего места в файловом режиме занимают одну лицензию.

Ключи разной серии (например, на 5 и на 10 мест) можно вставить в один компьютер — один менеджер NHSRV обслужит оба. Два ключа одной и той же серии надёжнее разнести на разные компьютеры, иначе один из них может не учитываться.

Установка драйвера и службы HASP License Manager

Всё делается на компьютере, куда вставлен ключ. Это может быть сервер, терминальный сервер или просто постоянно включённая рабочая станция.

1. Драйвер защиты

Установщик драйвера есть в дистрибутиве платформы — пункт установки драйвера защиты в программе setup.exe при выборе компонентов. Если драйвер нужно поставить отдельно, используйте утилиту из комплекта Sentinel:

haspdinst.exe -i

После установки вставьте ключ. Светодиод на нём должен гореть ровно, а в Диспетчере устройств появиться устройство защиты без жёлтого значка.

2. Менеджер лицензий

  1. Запустите установщик менеджера лицензий lmsetup.exe (он лежит в каталоге NetHASP на диске ИТС или в комплекте платформы).
  2. На вопросе о типе установки выберите вариант «Service» — служба. Режим «Application» работает, только пока пользователь вошёл в систему, для сервера он не подходит.
  3. Оставьте каталог по умолчанию. Обычно это C:\Program Files (x86)\Aladdin\HASP LM\.
  4. После установки откройте services.msc, найдите службу HASP Loader и проверьте, что тип запуска — «Автоматически».

3. Брандмауэр

NHSRV слушает порт 475. Откройте его входящими правилами для обоих протоколов. В PowerShell от администратора:

New-NetFirewallRule -DisplayName "NetHASP UDP 475" -Direction Inbound -Protocol UDP -LocalPort 475 -Action Allow
New-NetFirewallRule -DisplayName "NetHASP TCP 475" -Direction Inbound -Protocol TCP -LocalPort 475 -Action Allow

Если между клиентами и сервером стоит аппаратный межсетевой экран, порт 475 открывают и там.

4. Ограничения на стороне сервера: nhsrv.ini

Файл nhsrv.ini лежит в каталоге менеджера. Без него NHSRV обслуживает всех, кто до него достучится. Пример для одной подсети:

[NHS_SERVER]
NHS_IP_LIMIT = 192.168.1.*

[NHS_IP]
NHS_USE_UDP = Enabled
NHS_USE_TCP = Enabled

NHS_IP_LIMIT пускает к ключу только адреса из указанного диапазона. Это полезно, когда в одной сети работают две фирмы со своими ключами. После правки файла службу HASP Loader нужно перезапустить.

Перезапуск службы снимает все выданные лицензии. Пользователи, которые сейчас работают в 1С, при следующем обращении к ключу получат ошибку. Делайте это до начала рабочего дня или после того, как все вышли из программы.

Программные лицензии и NHSRV: как они уживаются

Программные лицензии (пинкоды) менеджер NHSRV не обслуживает вообще. Это частая путаница: после покупки дополнительных мест в виде пинкода пытаются «добавить их в NHSRV», и ничего не выходит.

Программная лицензия активируется на конкретный компьютер и хранится в файле. В 8.3 файлы лицензий лежат в каталоге C:\ProgramData\1C\licenses\. Активация идёт через мастер получения лицензии, который платформа сама предлагает, если не нашла ни ключа, ни файла.

Совмещать оба вида можно. Типичная схема:

  • 🔴 старые 10 мест — на сетевом ключе, раздаются через NHSRV;
  • 📄 докупленные 5 мест — программная лицензия, активированная на сервере 1С.

В клиент-серверном варианте программные клиентские лицензии, активированные на компьютере кластера, выдаёт сам сервер 1С. В свойствах информационной базы в консоли администрирования для этого есть параметр о выдаче лицензий сервером 1С:Предприятия. Он определяет, получает ли клиент лицензию от кластера или ищет её у себя и в сети.

Проверить, какую лицензию взял конкретный сеанс, можно командой утилиты rac:

rac session list --cluster=<id_кластера> --licenses

В выводе для каждого сеанса видно, программная это лицензия или аппаратный ключ, и на каком компьютере она найдена.

Пинкод привязывается к параметрам оборудования. Если на сервере, где активирована программная лицензия, планируется замена дисков или переезд на новую виртуальную машину, сначала уточните порядок восстановления лицензии. С ключом NetHASP такой проблемы нет: переставили ключ — переставили лицензии.

Настройка рабочих мест: файл nethasp.ini

Драйвер защиты на клиентах для сетевого ключа не нужен. Клиенту достаточно найти NHSRV в сети.

Без настройки клиент 1С ищет менеджер широковещательным запросом. В маленькой сети без маршрутизаторов это срабатывает. Но широковещание не проходит между подсетями, через VPN и часто блокируется на коммутаторах. Надёжнее указать адрес явно.

Файл nethasp.ini кладут в каталог bin\conf установленной версии платформы, например C:\Program Files\1cv8\8.3.24.1586\bin\conf\nethasp.ini. Если на компьютере несколько версий платформы, файл нужен в каждой.

Минимальное содержимое:

[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_PORT_NUMBER = 475
NH_USE_BROADCAST = Disabled
NH_TCPIP_METHOD = UDP

Что означают параметры:

ПараметрЗначение
NH_SERVER_ADDRIP-адрес компьютера с ключом. Можно перечислить несколько через запятую
NH_PORT_NUMBERПорт менеджера, по умолчанию 475
NH_USE_BROADCASTDisabled отключает широковещательный поиск, клиент идёт сразу по адресу
NH_TCPIP_METHODUDP или TCP. TCP стабильнее через VPN и между филиалами

После правки файла перезапустите 1С на рабочем месте. Перезагружать компьютер не нужно.

При обновлении платформы появляется новый каталог версии, и nethasp.ini в нём будет стандартным, с закомментированными строками. Скопируйте свой файл в новый bin\conf сразу после обновления. Именно это — самая частая причина ошибки «утром после обновления никто не может зайти».

Удобно держать эталонный nethasp.ini на сетевом ресурсе и копировать его в новый каталог скриптом входа или групповой политикой.

Ошибки при работе с сетевым ключом и что с ними делать

Главная диагностическая программа — Aladdin Monitor (aksmon). Поставьте её на любой компьютер в сети. Она показывает, какие менеджеры NHSRV видны, какие ключи в них вставлены и с каких адресов заняты лицензии.

Если Monitor видит ключ, а 1С — нет, проблема в клиенте. Если Monitor не видит и менеджер, проблема на стороне сервера или в сети.

Диагностика: выберите симптом

Ещё один источник путаницы — веб-панель Sentinel по адресу http://localhost:1947. Её ставит современный драйвер, но она обслуживает другие типы ключей. Сетевые ключи 1С раздаёт именно NHSRV на порту 475, и диагностировать их надо через Aladdin Monitor.

Зависшую лицензию можно освободить, закрыв процесс 1cv8.exe или 1cv8c.exe на компьютере, адрес которого показывает Monitor. Перед этим предупредите пользователя: несохранённые данные в его сеансе пропадут.

Оптимизация NHSRV в крупных сетях и на терминальных серверах

Когда лицензий десятки, а рабочих мест сотни, настройка «по умолчанию» начинает подводить. Что помогает:

  1. Явные адреса вместо широковещания. На всех клиентах NH_USE_BROADCAST = Disabled и конкретный NH_SERVER_ADDR. Сеть перестаёт засоряться запросами, клиент находит ключ быстрее.
  2. Статический IP для машины с ключом. Зарезервируйте адрес в DHCP или задайте вручную. Сменившийся адрес ломает все рабочие места разом.
  3. Ключ — на сервер, который не выключают. Рабочая станция бухгалтера с ключом рано или поздно уйдёт в перезагрузку посреди дня.
  4. Разграничение по подсетям. Через NHS_IP_LIMIT закройте доступ к ключу из гостевой сети и чужих сегментов.
  5. Несколько менеджеров. При двух ключах на разных серверах перечислите оба адреса в NH_SERVER_ADDR через запятую. Клиент возьмёт лицензию там, где есть свободное место.
  6. Терминальный сервер. Если все пользователи работают через RDP, держите ключ и NHSRV прямо на терминальном сервере. Сетевая часть тогда почти не участвует, и проблем с портами нет.
  7. Виртуализация. Хост-гипервизор не всегда корректно пробрасывает USB в виртуальную машину. Для ключа в виртуальной среде используют USB-over-IP концентратор или проброс конкретного порта, а NHSRV ставят в гостевую систему, которая видит ключ.
Проверка перед вводом сетевого ключа в работу
Выполнено: 0 / 7

Отдельно о росте. Если мест не хватает, докупить их можно и программной лицензией: её не нужно встраивать в NHSRV, платформа сама учтёт оба источника. А вот при переходе на клиент-серверный вариант стоит заранее решить, где будут жить лицензии — на ключе в сети или у кластера. Смешанная схема работает, но её сложнее диагностировать.

Частые вопросы

Нужен ли драйвер HASP на каждом компьютере пользователя?
Нет. Для сетевого ключа драйвер ставят только на компьютер, куда вставлен ключ. Клиенты обращаются к NHSRV по сети и драйвера не требуют.
Можно ли поставить NHSRV на Linux?
Да, у Aladdin есть версия менеджера лицензий для Linux, а 1С выпускает драйвер защиты для этой ОС. Клиенты на Windows подключаются к нему так же, через nethasp.ini и порт 475.
Сколько лицензий займёт пользователь, открывший две базы?
В файловом варианте лицензия учитывается по компьютеру, поэтому несколько окон 1С на одной машине занимают одно место. На терминальном сервере каждый пользовательский сеанс считается отдельно.
Работает ли сетевой ключ через интернет без VPN?
Технически порт 475 можно пробросить, но это небезопасно: ключ станет доступен любому, кто знает адрес. Правильный путь — VPN между офисами и ограничение доступа через NHS_IP_LIMIT.
Что делать, если ключ сломался или потерян?
Ключ не восстанавливается удалённо. Обращайтесь к партнёру 1С, у которого покупали программу, с регистрационной анкетой: замену выполняют через фирму 1С по установленной процедуре.