Ключи HASP в клиент-серверной 1С: кто берёт лицензию и почему её «не видно»

· 10 мин

Содержание

Сервер 1С раздаёт аппаратные лицензии только в одном случае: в свойствах информационной базы в консоли кластера включено Выдача лицензий сервером 1С:Предприятия = Да. Тогда клиентскую лицензию ищет не компьютер пользователя, а рабочий процесс сервера. Он берёт её с ключа HASP, вставленного в сервер, или с сетевого ключа через менеджер лицензий по nethasp.ini. Если флаг выключен, каждый клиент ищет ключ сам, и сервер в раздаче не участвует.

Отсюда большинство жалоб «ключ вставлен, а лицензий нет». Ключ стоит на сервере, а лицензию ищет клиент. Или наоборот: сервер ищет, но не видит менеджер лицензий на соседней машине.

Какие бывают ключи HASP и за что отвечает каждый

В клиент-серверной 1С работают два независимых вида лицензий. Их часто путают, хотя проверяются они разными процессами.

  • 🖥️ Лицензия на сервер 1С. Нужна самому серверу. Без неё кластер не обслуживает сеансы. Ключ подключают к компьютеру, где запущен сервер.
  • 👥 Клиентские лицензии. Ограничивают число одновременно работающих компьютеров. Их может искать клиент или сервер — в зависимости от настройки базы.

Ключи различаются маркировкой на корпусе. Её видно на самом брелоке и в документах комплекта поставки.

МаркировкаНазначениеКак работает
ORGL8Однопользовательская клиентская лицензияТолько локально, на том компьютере, куда вставлен
NET5, NET10, NET20, NET50, NET100, NET250, NET500Многопользовательская клиентскаяЧерез менеджер лицензий HASP по сети или локально
ENSR8Сервер 1С, 32-разрядныйЛокально на сервере
EN8SAСервер 1С, 64-разрядный (подходит и для 32-разрядного)Локально на сервере

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

Что нужно установить для работы ключей

  1. Драйвер ключа HASP — на каждый компьютер, куда физически вставлен любой ключ. Без драйвера система видит «неизвестное USB-устройство».
  2. Менеджер лицензий HASP License Manager — только на компьютер с сетевым ключом NET. Он раздаёт слоты ключа по сети и по умолчанию слушает порт 475.
  3. Настройка поиска nethasp.ini — на каждом компьютере, который ищет сетевой ключ: у клиентов или на сервере 1С, если выдачу ведёт он.

Драйвер и менеджер лицензий есть в дистрибутиве платформы и на диске ИТС. На Linux вместо них ставят пакет поддержки HASP для своего дистрибутива.

Как сервер находит ключ и захватывает лицензию

Схема зависит от одного флага в свойствах базы.

Вариант 1. Лицензию ищет клиент

Флаг Выдача лицензий сервером 1С:Предприятия установлен в Нет. Это значение по умолчанию.

  1. Пользователь запускает 1С, клиент подключается к агенту сервера (порт 1540).
  2. Сервер проверяет свою серверную лицензию — ключ на машине сервера.
  3. Клиент сам ищет клиентскую лицензию: локальный ключ, программную лицензию на своём компьютере или сетевой ключ по своему nethasp.ini.
  4. Нашёл — сеанс открывается. Не нашёл — ошибка о ключе защиты, даже если на сервере стоит NET50.

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

Вариант 2. Лицензию раздаёт сервер

Флаг установлен в Да.

  1. Клиент подключается к кластеру.
  2. Рабочий процесс rphost ищет клиентскую лицензию от имени клиента. Поиск идёт на машине сервера: локальные ключи, программные лицензии, сетевые ключи по nethasp.ini сервера.
  3. Найденная лицензия закрепляется за компьютером пользователя до конца его сеансов.
  4. Клиенту ключ, драйвер и nethasp.ini не нужны.

Это главный приём для удалённых офисов, VPN и веб-клиента. Ключ стоит в серверной, а пользователи работают откуда угодно.

Как считается лицензия

Одна клиентская лицензия — это один компьютер, а не одно окно программы. Пользователь может открыть на своём компьютере три базы и две копии конфигуратора, и это будет одна лицензия. На терминальном сервере «компьютером» считается каждый терминальный сеанс.

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

Настройка выдачи лицензий в кластере серверов

Все действия ниже выполняют в консоли администрирования серверов 1С или утилитой rac. Менять флаг можно на работающей базе, пользователей выгонять не нужно: новое правило действует для новых сеансов.

Шаг 1. Включить выдачу лицензий для базы

  1. Откройте консоль администрирования серверов 1С.
  2. Разверните Центральные серверы 1С:Предприятия → <сервер> → Кластеры → <кластер> → Информационные базы.
  3. Откройте свойства нужной базы.
  4. В поле Выдача лицензий сервером 1С:Предприятия выберите Да и сохраните.

Флаг ставится для каждой базы отдельно. Если в кластере 15 баз, проверьте все: одна забытая база с Нет даст жалобы ровно от её пользователей.

Шаг 2. Дать серверу доступ к сетевому ключу

Если ключ NET вставлен прямо в сервер 1С, поставьте туда драйвер и менеджер лицензий. Если ключ на другом компьютере, настройте nethasp.ini на сервере 1С. На Windows файл лежит в каталоге conf установки платформы, обычно C:\Program Files\1cv8\conf\nethasp.ini.

[NH_COMMON]
NH_TCPIP = Enabled

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

Что здесь важно:

  • 🎯 NH_SERVER_ADDR — точный адрес машины с менеджером лицензий. Без него идёт широковещательный поиск, а он не проходит через маршрутизаторы и VPN.
  • 🚫 NH_USE_BROADCAST = Disabled — отключает этот поиск, раз адрес указан явно. Запуск становится быстрее.
  • 🔁 NH_TCPIP_METHOD — UDP или TCP. Если по UDP ключ не находится, попробуйте TCP.

Для 64-разрядного сервера проверьте, что файл правите в каталоге той же разрядности, из которой запущен сервер. На машине бывают установлены обе версии платформы.

Шаг 3. Кластер из нескольких рабочих серверов

В кластере с двумя-тремя рабочими серверами ключ обычно вставлен только в один. Если лицензию начнёт искать процесс на другом сервере, он ключа не увидит.

Решение — требования назначения функциональности. В свойствах рабочего сервера, к которому подключён ключ, добавьте требование с типом объекта Клиентская лицензия и значением «Назначать». Тогда выдачей клиентских лицензий будет заниматься именно он.

💡 Серверная лицензия нужна каждому рабочему серверу кластера. Один ключ EN8SA не лицензирует две машины.

Шаг 4. Открыть порты

ПортКто слушаетЗачем
475 UDP/TCPМенеджер лицензий HASPРаздача слотов сетевого ключа
1540Агент сервера 1СПодключение клиентов и консоли
1541Менеджер кластераРабота кластера
1560–1591Рабочие процессыДиапазон по умолчанию, задаётся в свойствах рабочего сервера
Где у вас стоит сетевой ключ и где пользователи?

Почему сервер не видит ключ: диагностика по звеньям

Цепочка состоит из пяти звеньев: ключ → драйвер → менеджер лицензий → сеть → процесс, который ищет лицензию. Проверяйте их по порядку, а не всё сразу.

Звено 1. Ключ и драйвер

  • 💡 Светодиод на ключе горит ровно — система опознала устройство. Не горит — переустановите драйвер или смените USB-порт.
  • 🔍 В диспетчере устройств ключ должен быть в разделе USB-контроллеров, без жёлтого знака.
  • 🌐 Админ-центр драйвера открывается в браузере по адресу http://localhost:1947. Там видно, какие ключи физически подключены.

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

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

Если монитор с машины сервера 1С не видит менеджер лицензий, проблема в сети или в nethasp.ini, а не в 1С.

Звено 3. Сеть

  1. На машине с ключом откройте во входящих правилах брандмауэра порт 475 UDP и TCP.
  2. Если между сервером и ключом есть маршрутизатор или VPN, отключите широковещание и пропишите адрес явно.
  3. Проверьте, что NH_SERVER_ADDR указывает на текущий адрес. После смены IP компьютера с ключом файл остаётся со старым.

Звено 4. Кто на самом деле ищет лицензию

Частая ловушка: флаг выдачи сервером стоит, но не в той базе. Или стоит везде, а nethasp.ini правили у клиентов. Сверьте настройку базы с местом, где лежит ключ. Список сеансов с полученными лицензиями покажет команда:

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

UUID кластера даёт rac cluster list. В выводе по каждому сеансу видно, откуда взята лицензия и на каком процессе она получена. В консоли кластера то же видно в списке сеансов базы.

Звено 5. Лицензий просто не хватает

Если ключ виден, а часть пользователей получает отказ, посчитайте компьютеры. 22 человека при ключе NET20 — двоим лицензий не достанется. На терминальном сервере 20 сеансов займут все 20 слотов.

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

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

Ключи HASP на терминальном сервере и по RDP

Пробрасывать USB-ключ через RDP с компьютера пользователя — плохая идея. Перенаправление USB в удалённом рабочем столе нестабильно, а драйвер ключа его часто не видит.

Рабочие схемы для терминала:

  • 🔌 Ключ в терминальном сервере. Драйвер и менеджер лицензий ставят на сам терминальный сервер. Каждый сеанс RDP займёт одну клиентскую лицензию.
  • 🗄️ Ключ на отдельной машине. Терминальный сервер ищет его по nethasp.ini, как обычный клиент.
  • 🏢 Терминал как клиент кластера. Если база клиент-серверная, проще включить выдачу лицензий сервером 1С. Тогда терминалу ключи вообще не нужны.

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

Ключи и сетевые USB-концентраторы ставьте в серверную, а не под стол бухгалтера. Выдернутый ключ останавливает работу всей компании, а не одного рабочего места.

Программные лицензии вместо ключей HASP

Аппаратный ключ — физическая вещь. Его можно потерять, сломать или выдернуть при уборке. Программная лицензия — файл, который активируют пин-кодом и привязывают к параметрам компьютера.

КритерийКлюч HASPПрограммная лицензия
Где хранитсяUSB-брелокФайл на компьютере, на Windows в C:\ProgramData\1C\licenses
Перенос на другой серверПереставили ключПовторная активация резервным пин-кодом
ВиртуализацияНужен проброс USBРаботает в ВМ, но чувствительна к смене оборудования
Риск поломкиФизический отказ ключаСлетает при замене «железа» или переустановке ОС
Драйвер и менеджер лицензийНужныНе нужны

Программные клиентские лицензии сервер раздаёт по той же схеме: флаг Выдача лицензий сервером в базе. Только искать сервер будет файлы лицензий на своей машине, а не ключ.

Платформа умеет работать с ключами и программными лицензиями одновременно. Это удобно для поэтапного перехода: старые NET-ключи продолжают работать, а к ним добавляется программный комплект.

Перевод купленного ключа на программную лицензию оформляют через партнёра 1С по программе обмена. Сам ключ при этом обычно сдают.

Пин-коды и резервные пин-коды из комплекта храните отдельно от сервера. Если сервер сгорит, восстановить программную лицензию без них будет долго.

Переносим сервер 1С с ключами на новую машину
Выполнено: 0 / 7

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

Можно ли раздавать лицензии с одного ключа на два сервера 1С?
Клиентские слоты сетевого ключа — да, оба сервера могут искать один менеджер лицензий по nethasp.ini, пока хватает слотов. Серверную лицензию — нет, каждому серверу нужна своя.
Нужен ли ключ на компьютере пользователя, если лицензии раздаёт сервер?
Нет. Клиенту не нужны ни ключ, ни драйвер, ни nethasp.ini. Достаточно сетевого доступа к кластеру.
Сколько лицензий займёт пользователь с тремя открытыми базами?
Одну, если все базы открыты с одного компьютера. Лицензия считается на компьютер, а в терминале — на терминальный сеанс.
Работает ли веб-клиент с ключом HASP?
Да, но только при выдаче лицензий сервером. Браузер пользователя ключ искать не умеет, поэтому флаг в базе должен стоять в «Да».
Что будет, если ключ выдернуть во время работы?
Новые сеансы перестанут получать лицензии. Открытые сеансы платформа проверяет периодически, поэтому пользователи вскоре получат сообщение об отсутствии лицензии.