Клиент 1С не видит лицензию: проверяем сервер ключей по шагам
Содержание
Доступность сервера лицензирования 1С проверяют в четыре приёма: на сервере смотрят, видит ли Windows ключ и запущена ли служба HASP License Manager, затем с клиента проверяют порт 475, затем — файл nethasp.ini, и только потом лезут в журналы. Если ключ стоит на сервере 1С:Предприятия, первым делом откройте консоль кластера: там видно, какую лицензию получил каждый сеанс.
Выбор зависит от схемы. С сетевым USB-ключом HASP почти все сбои — сеть и служба менеджера лицензий. С программной лицензией на сервере 1С проблемы обычно в файле лицензии и в пользователе, от имени которого работает служба. Ниже разобраны обе схемы.
Кто выдаёт лицензию: схема обмена при запуске 1С
Без понимания схемы легко искать неисправность не там. Клиент 1С при старте ищет лицензию в определённом порядке, и сбой может быть на любом звене.
Основные варианты:
- 🔑 Локальный ключ HASP — вставлен в компьютер пользователя. Нужен только драйвер, сеть не участвует.
- 🌐 Сетевой ключ HASP — стоит на одном компьютере, там же работает HASP License Manager. Клиенты обращаются к нему по сети на порт 475.
- 🖥️ Ключ или программная лицензия на сервере 1С — в клиент-серверном варианте лицензию может выдавать сам сервер 1С:Предприятия. Клиент тогда общается не с менеджером лицензий, а с кластером.
- 📄 Программная лицензия на компьютере пользователя — файл
.lic, привязанный к оборудованию. Сеть не нужна.
Цепочка для сетевого ключа выглядит так:
- Клиент 1С читает
nethasp.iniи узнаёт адрес менеджера лицензий (или ищет его широковещательным запросом). - Отправляет запрос на порт 475 сервера с ключом.
- HASP License Manager через драйвер обращается к USB-ключу.
- Если свободные места есть, клиент получает лицензию и держит её до закрытия сеанса.
Сбой на шаге 1 — неверный адрес. На шаге 2 — сеть или брандмауэр. На шаге 3 — драйвер или сам ключ. На шаге 4 — места кончились. Отсюда и порядок проверки.
Без лицензии платформа базу не запустит. Исключение — учебная версия. Поэтому сообщение Не найден ключ защиты программы или полученная программная лицензия — это не предупреждение, а полная остановка работы.
Проверка лицензий через консоль администрирования кластера
Если у вас клиент-серверный вариант, начните с консоли. Она за минуту отвечает на главный вопрос: получает ли кто-то лицензию вообще.
Что сделать:
- Запустите консоль администрирования серверов 1С:Предприятия и подключитесь к центральному серверу.
- Раскройте кластер, затем
Информационные базы → <имя базы> → Сеансы. - У работающих сеансов посмотрите сведения о лицензии: тип (ключ HASP или программная), где получена (клиентом или сервером), серию ключа или имя файла лицензии.
- Сравните с соседними пользователями. Если у одних лицензия есть, а у другого сеанс не создаётся — проблема на его компьютере, а не на сервере ключей.
То же самое из командной строки через сервер администрирования ras:
rac cluster list
rac session list --cluster=<id кластера> --licenses
Первая команда даёт идентификатор кластера. Вторая выводит сеансы вместе со сведениями о выданных лицензиях. Если кластер защищён паролем администратора, добавьте параметры авторизации — их точный синтаксис смотрите в rac help session.
Отдельно проверьте свойства информационной базы в консоли. Там есть параметр, разрешающий выдачу лицензий сервером 1С:Предприятия. Если ключ или программная лицензия стоят на сервере, а этот параметр выключен, клиенты будут искать лицензию у себя и не найдут.
Если консоль не открывается с ошибкой про не зарегистрированный компонент, перерегистрируйте radmin.dll нужной разрядности командой regsvr32 из каталога bin установленной платформы, запустив командную строку от имени администратора.
Службы и процессы на компьютере с ключом
Следующий шаг — сам компьютер, где стоит ключ. Здесь проверяют три вещи: видит ли система ключ, работает ли служба, слушает ли она порт.
Ключ на месте. Светодиод на USB-ключе должен гореть ровно. Не горит — ключ не опознан: нет драйвера, неисправен порт или удлинитель. Попробуйте другой порт USB, лучше на задней панели, без хабов.
Служба менеджера лицензий. Откройте services.msc и найдите службу HASP License Manager. В разных версиях она отображается по-разному, поэтому ищите по слову «HASP». Тип запуска — «Автоматически», состояние — «Выполняется».
Из PowerShell то же самое быстрее:
Get-Service | Where-Object { $_.DisplayName -like "*HASP*" -or $_.DisplayName -like "*Sentinel*" }
Порт слушается. Если служба запущена, но клиенты её не видят, проверьте, открыт ли порт:
netstat -ano | findstr :475
В выводе должна быть строка с портом 475 и PID процесса. Сверьте PID в диспетчере задач: он должен принадлежать менеджеру лицензий. Если порт занят чем-то другим, менеджер не сможет его открыть.
Перезапуск службы HASP License Manager обрывает выдачу лицензий. Пользователи, у которых 1С уже открыта, могут получить сообщение о потере ключа. Делайте это после предупреждения коллег или вне рабочего времени.
Частая ловушка — менеджер лицензий установлен как обычное приложение, а не как служба. Тогда он работает, пока кто-то вошёл в систему, и пропадает после перезагрузки сервера. При установке HASP License Manager выбирайте вариант со службой.
Сетевая проверка: порты 475 и 1947, nethasp.ini
Теперь смотрим со стороны клиента. Здесь выясняется, доходит ли запрос до сервера ключей.
Какие порты нужны
| Порт | Протокол | Кто использует |
|---|---|---|
| 475 | UDP и TCP | HASP License Manager — выдача лицензий сетевых ключей 1С |
| 1947 | TCP | Sentinel Admin Control Center — веб-интерфейс диагностики ключей |
| 1540, 1541 | TCP | Агент и менеджер кластера 1С (если лицензию выдаёт сервер 1С) |
| диапазон рабочих процессов | TCP | Задаётся в свойствах рабочего сервера, по умолчанию 1560–1591 |
Проверка с клиента
Сначала простая доступность узла и TCP-порта:
Test-NetConnection -ComputerName 192.168.0.10 -Port 475
TcpTestSucceeded : True значит, что порт открыт по TCP. Этот командлет не умеет проверять UDP, а сетевые ключи по умолчанию ищутся именно по UDP. Поэтому успех теста ещё не гарантирует, что UDP-запросы проходят.
Если тест провалился, проверьте брандмауэр на сервере с ключом. Правила можно добавить так (от имени администратора):
New-NetFirewallRule -DisplayName "HASP LM UDP 475" -Direction Inbound -Protocol UDP -LocalPort 475 -Action Allow
New-NetFirewallRule -DisplayName "HASP LM TCP 475" -Direction Inbound -Protocol TCP -LocalPort 475 -Action Allow
Файл nethasp.ini
Клиент 1С берёт настройки поиска ключа из nethasp.ini в каталоге conf платформы, например C:\Program Files\1cv8\conf\nethasp.ini. По умолчанию поиск идёт широковещательным запросом. Он не проходит через маршрутизаторы и VPN, а в больших сетях работает медленно.
Укажите адрес сервера явно:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.10
NH_USE_BROADCAST = Disabled
NH_TCPIP_METHOD = UDP
Если серверов с ключами несколько, перечислите адреса через запятую. Когда UDP режется на пути, попробуйте NH_TCPIP_METHOD = TCP. После правки перезапустите 1С на клиенте: файл читается при старте.
Правьте nethasp.ini на каждом клиенте и для каждой установленной версии платформы — у разных версий может быть свой каталог conf.
Драйвер защиты: haspdinst и Admin Control Center
Если ключ не горит или служба не видит его, причина почти всегда в драйвере. Драйвер ставится утилитой haspdinst.exe от Sentinel (бывший Aladdin). Её же используют для переустановки.
Порядок переустановки:
- Предупредите пользователей: пока драйвера нет, ключ не выдаёт лицензий.
- Выньте USB-ключ.
- Откройте командную строку от имени администратора в папке с утилитой.
- Удалите старый драйвер:
haspdinst.exe -r. - Установите заново:
haspdinst.exe -i. - Вставьте ключ и дождитесь, пока загорится светодиод.
Остальные ключи утилиты смотрите в её встроенной справке (haspdinst.exe -help). На старых серверах иногда встречаются остатки драйверов разных лет — после удаления перезагрузите компьютер перед установкой.
Admin Control Center
Вместе со свежим драйвером ставится веб-интерфейс Sentinel Admin Control Center. Откройте в браузере на сервере:
http://localhost:1947
В разделе ключей должен быть виден ваш USB-ключ. Если его там нет, система ключ не видит: дело в драйвере, порте USB или самом ключе. Если ключ есть — проблема выше по цепочке, в менеджере лицензий или сети. Там же есть страницы журнала доступа и диагностики.
Сервер 1С на Linux
На Linux ключ обслуживает демон драйвера Sentinel (aksusbd). Быстрые проверки:
lsusb | grep -i 0529
systemctl status aksusbd
Код производителя 0529 — это ключи Aladdin/Sentinel. Пустой вывод lsusb значит, что ключ не виден на уровне USB. В виртуальной машине это часто означает, что USB-устройство не проброшено в гостевую систему.
Журналы и логирование: где искать следы сбоя
Когда всё выглядит рабочим, а лицензия пропадает время от времени, нужны журналы.
Журнал событий Windows. Откройте eventvwr.msc и посмотрите разделы «Система» и «Приложение» за время сбоя. Ищите остановки службы менеджера лицензий, отключения USB-устройств и ошибки драйвера. Отключение USB при простое часто связано с энергосбережением: в диспетчере устройств у корневых USB-концентраторов снимите разрешение отключать устройство для экономии энергии.
Технологический журнал 1С. В клиент-серверном варианте включите сбор событий лицензирования в logcfg.xml в каталоге conf сервера. Событие лицензирования называется LIC:
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="C:\techlog" history="24">
<event>
<eq property="name" value="LIC"/>
</event>
<property name="all"/>
</log>
</config>
Журнал начнёт писаться через минуту после сохранения файла. Каталог C:\techlog должен существовать, а пользователь службы сервера 1С — иметь право записи. history="24" хранит логи 24 часа.
Не оставляйте технологический журнал с <property name="all"/> включённым надолго. Он быстро растёт и может занять диск сервера. Соберите данные за период сбоя и удалите файл logcfg.xml или его секцию.
Монитор сетевых ключей. Утилита Aladdin Monitor (HASP Monitor) показывает менеджеры лицензий в сети и число занятых мест в каждом ключе. Если монитор с клиента не видит сервер, а на самом сервере видит — проблема точно в сети.
Программная лицензия на сервере 1С: отдельные проверки
Для программных лицензий ключа нет, но проверка сервера лицензирования всё равно нужна.
- 📁 Файлы лицензий лежат в
C:\ProgramData\1C\licenses\с расширением.lic. Убедитесь, что они на месте и не удалены антивирусом. - 👤 Служба сервера 1С работает от отдельного пользователя. У него должно быть право чтения каталога лицензий.
- 🔧 Изменение оборудования — замена сетевой карты, диска, перенос виртуальной машины — может сделать лицензию недействительной. Это нормальная работа защиты, а не сбой.
- 🧰 Список установленных лицензий можно посмотреть утилитой лицензирования:
ring license list.
Если лицензия слетела после переноса сервера, повторите активацию тем же пин-кодом. У каждого комплекта ограниченное число резервных активаций, поэтому не переактивируйте лицензию «на всякий случай».