Сервер лицензий 1С: сетевые ключи HASP, пин-коды и выдача лицензий клиентам
Содержание
Раздача лицензий 1С по сети настраивается одним из двух способов. Аппаратный сетевой ключ HASP вставляют в один компьютер, ставят на него службу HASP License Manager и прописывают адрес этого компьютера в nethasp.ini на клиентах. Программные лицензии (пин-коды) активируют на сервере 1С:Предприятия — тогда сервер сам выдаёт их пользователям, которые подключаются к клиент-серверной базе.
Отдельного «сервера лицензий 1С» как программы нет. Роль сервера лицензий играет либо компьютер с менеджером HASP, либо кластер 1С. От того, какие у вас лицензии и в каком режиме работают базы, зависит вся дальнейшая настройка. Всё описанное относится к платформе 8.3 и не зависит от конфигурации: БП, ЗУП и УТ лицензируются одинаково.
С чего начать: какие лицензии у вас есть и кто их будет раздавать
Первым делом разберитесь с комплектом. Защита платформы 1С делится на два независимых вида лицензий.
| Вид лицензии | Носитель | Кто раздаёт по сети |
|---|---|---|
| Клиентская, аппаратная | USB-ключ HASP (однопользовательский или сетевой NET) | Служба HASP License Manager |
| Клиентская, программная | Файл лицензии, полученный по пин-коду | Сервер 1С:Предприятия |
| Серверная, аппаратная | USB-ключ сервера | Сам сервер 1С, ключ в его машине |
| Серверная, программная | Файл лицензии по пин-коду | Сам сервер 1С |
Клиентская лицензия нужна каждому пользователю, серверная — только кластеру в клиент-серверном режиме. Эти лицензии не взаимозаменяемы: ключ на 10 пользователей не даёт права запустить сервер 1С, и наоборот.
Что проверить до начала настройки:
- 🔑 Сколько ключей и какого типа. Сетевой ключ на корпусе или в документах помечен количеством мест (NET5, NET10, NET20 и т. д.).
- 📄 Есть ли конверт с пин-кодами и регистрационная анкета. Без основного и резервных пин-кодов программную лицензию не получить.
- 🖥 Какой компьютер будет раздавать лицензии. Он должен работать постоянно: выключили его — у всех пропала 1С.
- 🗄 Режим баз: файловый или клиент-серверный. Программные лицензии раздаются по сети только через сервер 1С. В файловом режиме многопользовательская программная лицензия работает на том компьютере, где активирована (например, на терминальном сервере).
Если базы файловые, а пользователи сидят на разных ПК, раздавать по сети можно только аппаратный сетевой ключ. Для программных лицензий в такой схеме нужен либо терминальный сервер, либо переход на клиент-серверный вариант.
Установка менеджера лицензий HASP на сервер Windows
Этот раздел нужен, если у вас сетевой аппаратный ключ. Компьютер под менеджер лицензий подойдёт любой, необязательно мощный: служба почти не нагружает систему. Подойдёт и сам сервер 1С, и файловый сервер, и рабочая станция администратора.
Порядок установки:
- Вставьте ключ в USB-порт будущего сервера лицензий.
- Установите драйвер защиты. Проще всего — запустить установщик платформы 1С и отметить пункт
Установить драйвер защитына последнем шаге. Если платформу на эту машину ставить не нужно, используйте отдельный установщик драйвера Sentinel HASP (haspdinst.exe) из дистрибутива или с сайта производителя. - Убедитесь, что ключ опознан: в диспетчере устройств он виден как устройство Sentinel или HASP, а светодиод на ключе горит ровно.
- Установите HASP License Manager (установщик
lmsetup.exe). На вопросе о режиме работы выберитеService— как служба Windows. Режим приложения не годится: менеджер будет работать только пока кто-то вошёл в систему. - Проверьте в оснастке
services.msc, что служба HASP License Manager запущена и стоит в автоматическом запуске.
Ключ, драйвер и менеджер должны быть на одной машине. Ставить License Manager на компьютер без ключа бессмысленно — раздавать ему нечего.
Для контроля удобно поставить Aladdin Monitor (aksmon). Он показывает, какие менеджеры видны в сети, какие ключи к ним подключены и сколько мест уже занято.
Особенности для виртуальных машин
На виртуальном сервере USB-ключ пробрасывают средствами гипервизора или через USB-over-IP устройство. Драйвер и License Manager ставятся внутрь гостевой системы, как на обычный сервер. Если проброс нестабилен, ключ периодически «пропадает», и пользователи ловят ошибку посреди работы — такую схему лучше заменить физическим компьютером под ключ.
Как настроить раздачу аппаратных ключей HASP клиентам
Без настройки клиент 1С ищет сетевой ключ широковещательным запросом. В маленькой сети с одним сегментом это работает. Если между клиентом и сервером лицензий маршрутизатор, VPN или несколько подсетей, широковещательный запрос не дойдёт, и адрес нужно указать явно.
Делается это в файле nethasp.ini. Он лежит в каталоге conf установленной платформы, например C:\Program Files\1cv8\conf\nethasp.ini. Если файла нет, создайте его. Пример содержимого:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled
NH_TCPIP_METHOD = UDP
Что означают параметры:
NH_SERVER_ADDR— IP-адрес компьютера с ключом и License Manager. Можно указать несколько адресов через запятую, если ключи стоят на разных машинах.NH_USE_BROADCAST = Disabled— отключает широковещательный поиск. Клиент сразу идёт по указанному адресу, и запуск 1С ускоряется.NH_TCPIP_METHOD— протокол обращения к менеджеру. По умолчанию UDP; если в сети UDP режется, поставьтеTCP.
Файл одинаков для всех клиентов, поэтому его удобно раскатать групповой политикой или скриптом входа. Для 32- и 64-разрядного клиента одной версии каталог conf разный (Program Files и Program Files (x86)): положите файл в оба, если на машинах стоят обе разрядности.
Сетевой ключ занимает место на время работы клиента 1С. Если сотрудник закрыл программу, место освобождается не мгновенно, а после того, как менеджер перестанет получать от клиента сигнал, — обычно в течение нескольких минут.
Пин-коды: как активировать программные лицензии на сервере 1С
Программная лицензия — это файл, привязанный к параметрам конкретного компьютера. Чтобы сервер 1С раздавал клиентские лицензии, активировать пин-код нужно именно на машине, где работает сервер 1С, а не на рабочей станции администратора.
Активация
- Запустите клиент 1С на сервере (или на машине, которая подключается к серверной базе с указанием, что лицензия должна быть получена на сервере).
- При первом запуске без лицензии платформа выдаст ошибку и предложит получить лицензию . Нажмите кнопку получения лицензии.
- Выберите вариант с первичной активацией и введите регистрационный номер комплекта и пин-код из конверта.
- Заполните анкету владельца. Данные должны совпадать с теми, что вы укажете при повторной активации, — сохраните их в надёжном месте.
- Выберите способ получения: через интернет (самый быстрый), по электронной почте или по телефону, если у сервера нет выхода в сеть.
- Дождитесь сообщения об успешной активации. Файл лицензии с расширением
.licпоявится в каталоге лицензий.
Где хранятся файлы лицензий:
| Система | Каталог |
|---|---|
| Windows | C:\ProgramData\1C\licenses |
| Linux | /var/1C/licenses |
Каждый пин-код можно активировать ограниченное число раз. После замены материнской платы, процессора, сетевой карты или переустановки ОС лицензия может перестать подходить, и потребуется повторная активация. Резервные пин-коды из конверта как раз для этого — не тратьте их на эксперименты.
Включение выдачи лицензий в кластере
После активации на сервере проверьте настройки в консоли администрирования серверов 1С:Предприятия:
- ✅ В свойствах информационной базы должна быть разрешена выдача лицензий сервером 1С:Предприятия.
- ✅ Если в кластере несколько рабочих серверов, в свойствах рабочего сервера, где лежит файл лицензии, задайте требование назначения функциональности для объекта «Клиентская лицензия». Иначе запрос лицензии может уйти на сервер, у которого файла нет.
- ✅ Служба агента сервера 1С должна иметь права на чтение каталога с лицензиями.
Список занятых клиентских лицензий в любой момент можно посмотреть утилитой rac. Команда rac session list --licenses покажет, какому сеансу какая лицензия выдана и откуда она получена — из файла на сервере или с ключа.
Сетевой доступ к серверу лицензий: порты и брандмауэр
Большая часть проблем с раздачей лицензий — закрытые порты. Брандмауэр Windows по умолчанию блокирует входящие соединения, и клиенты просто не видят ключ или сервер.
| Что раздаёт | Порт | Протокол | Где открыть |
|---|---|---|---|
| HASP License Manager | 475 | UDP и TCP | Входящие на компьютере с ключом |
| Агент сервера 1С | 1540 | TCP | Входящие на сервере 1С |
| Менеджер кластера | 1541 | TCP | Входящие на сервере 1С |
| Рабочие процессы | 1560–1591 | TCP | Входящие на сервере 1С |
Клиент 1С сначала обращается к агенту на порт 1540, затем к менеджеру кластера на 1541 и к рабочим процессам. Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера; 1560–1591 — значение по умолчанию. Если вы его меняли, откройте свой диапазон.
Пример правил брандмауэра из командной строки администратора:
netsh advfirewall firewall add rule name="HASP LM UDP" dir=in action=allow protocol=UDP localport=475
netsh advfirewall firewall add rule name="HASP LM TCP" dir=in action=allow protocol=TCP localport=475
netsh advfirewall firewall add rule name="1C Server" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591
Проверить, что порт доступен с клиента, можно в PowerShell:
Test-NetConnection 192.168.1.10 -Port 1541
Для UDP 475 такая проверка не подходит — смотрите в Aladdin Monitor на клиентской машине, видит ли он менеджер лицензий.
Для сервера 1С клиент должен разрешать имя сервера в тот же адрес, по которому сервер сам себя называет. Если сервер зарегистрирован в кластере по имени, а у клиента это имя не резолвится, подключение оборвётся уже после агента. Помогает запись в DNS или в файл hosts на клиенте.
Как совмещать ключи и пин-коды в одной сети
Аппаратные и программные лицензии можно использовать одновременно. Например, старый сетевой ключ на 10 мест и программная лицензия на 5 мест, активированная на сервере 1С, дают в сумме 15 одновременных пользователей клиент-серверной базы.
Клиент при запуске перебирает доступные ему источники: локальные файлы программных лицензий, аппаратный ключ (локальный или сетевой) и, для клиент-серверной базы с разрешённой выдачей, лицензии сервера 1С. На практике это означает:
- 🔸 Если на рабочей станции случайно активирован пин-код, она будет использовать свою лицензию и не займёт место на сервере. Это нормально, но учитывайте при подсчёте.
- 🔸 Для файловых баз работает только поиск локальной лицензии и ключа HASP, сервер 1С в этой цепочке не участвует.
- 🔸 Пользователи через RDP на терминальном сервере берут лицензии с той машины, где запущен клиент 1С, то есть с терминального сервера.
Диагностика: почему клиент не получает лицензию
Самый частый текст ошибки — Не обнаружен ключ защиты программы или полученная программная лицензия. Он означает, что клиент перебрал все доступные ему источники и не нашёл свободного места. Причин может быть несколько, и проверять их удобнее по порядку.
Технологический журнал для сложных случаев
Если причина не ясна, включите сбор событий лицензирования на сервере 1С. Для этого в каталоге conf платформы на сервере создайте или дополните файл logcfg.xml:
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="C:\1C_logs\lic" history="24">
<event>
<eq property="name" value="LIC"/>
</event>
<property name="all"/>
</log>
</config>
Сервер подхватывает файл без перезапуска, в течение примерно минуты. В событиях LIC видно, какие источники лицензий перебирал процесс и на каком этапе получил отказ.
Не оставляйте технологический журнал включённым надолго: он быстро занимает место на диске. После разбора удалите или переименуйте logcfg.xml.
Когда помогает перезапуск службы
Если в мониторе висят «зависшие» занятые места от давно выключенных компьютеров, можно перезапустить службу HASP License Manager. Делайте это вне рабочего времени: на время перезапуска клиенты, работающие через сетевой ключ, потеряют лицензию и получат ошибку. Перезапуск службы агента сервера 1С тем более оборвёт все сеансы клиент-серверных баз — предупредите пользователей и дождитесь, пока они сохранят работу.
Частые вопросы
Можно ли подключить два сетевых ключа к одному License Manager?
Сколько лицензий занимает один пользователь, открывший две базы?
Нужен ли интернет серверу лицензий постоянно?
Можно ли перенести программную лицензию на новый сервер?
Работает ли HASP License Manager на Linux?
nethasp.ini на клиентах те же, что и для Windows.