Лицензия 1С пропадает на сервере: ищем виновника и закрепляем результат

· 10 мин

Содержание

Лицензия 1С на сервере слетает по одной из пяти причин: изменились параметры оборудования, к которым привязана программная лицензия; сервер перестал видеть ключ HASP; виртуальная машина переехала или поменяла конфигурацию; сеть или брандмауэр режут обращения к менеджеру лицензий; все места заняты зависшими сеансами. Пользователь в итоге видит одно и то же сообщение: Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия!

Сообщение одинаковое, а лечение разное. Поэтому сначала выясните, какая у вас защита — программная (файлы .lic) или аппаратная (USB-ключ), — и что менялось на сервере за последние дни. Обычно ответ находится за 10–15 минут.

С чего начать диагностику слетевшей лицензии

Первые три вопроса сужают поиск почти до одной причины:

  • 🔑 Тип защиты. Программная лицензия — это файлы с расширением .lic на сервере. Аппаратная — USB-ключ HASP в сервере или на отдельной машине с менеджером лицензий.
  • 🕒 Когда началось. После перезагрузки, обновления Windows, замены диска, переноса виртуальной машины, смены IP-адреса — каждая из этих точек указывает на свою причину.
  • 👥 У кого не работает . Если у всех — проблема на сервере. Если только у части пользователей и в часы пик — скорее всего, кончились свободные лицензии.

Где лежат программные лицензии:

СистемаКаталогОт чьего имени читается
WindowsC:\ProgramData\1C\licensesучётная запись службы сервера 1С (по умолчанию USR1CV8)
Linux/var/1C/licensesпользователь usr1cv8

Посмотреть список установленных лицензий и проверить, подходят ли они к текущему оборудованию, можно утилитой ring из комплекта платформы:

ring license list
ring license validate --name <имя_лицензии>

Если параметров не хватает или синтаксис отличается в вашей версии, выведите справку командой ring license help. Ответ validate о несоответствии оборудованию сразу говорит: дело в привязке, а не в сети.

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

Программная лицензия и привязка к оборудованию сервера

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

Отдельные мелкие отличия лицензия переживает. Если изменилось сразу несколько параметров, она перестаёт считаться действительной. Типовые поводы:

  • 💽 замена или добавление диска, переразметка RAID;
  • 🧠 добавление планок памяти;
  • 🌐 замена сетевой карты, отключение адаптера в BIOS, появление виртуальных адаптеров (VPN, Hyper-V, Docker);
  • 🖥️ переименование сервера;
  • 🔄 переустановка ОС или крупное обновление, после которого система определяет оборудование иначе.

Как восстановить программную лицензию

  1. Найдите конверт с пин-кодами из комплекта поставки. В нём есть основной и резервные коды.
  2. Запустите любую клиентскую сессию 1С на этом сервере или используйте утилиту ring — откроется мастер получения лицензии.
  3. Выберите повторное получение лицензии, введите регистрационный номер комплекта , резервный пин-код и те же регистрационные данные организации, что при первой активации. Расхождение в ИНН или названии — частая причина отказа.
  4. Сохраните новый файл в каталог из таблицы выше. Если мастер положил его в профиль пользователя, перенесите в общий каталог.
  5. Перезапустите службу сервера 1С.

Перезапуск службы 1C:Enterprise 8.3 Server Agent обрывает все сеансы пользователей. Делайте это после предупреждения коллег или в нерабочее время.

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

После каждой успешной активации копируйте файлы .lic и записывайте, какой пин-код израсходован. При восстановлении сервера из резервной копии на том же железе старый файл часто подходит, и пин-код тратить не придётся.

Аппаратный ключ HASP: почему сервер перестаёт его видеть

USB-ключ живёт дольше программной лицензии, но и у него хватает слабых мест. Сервер 1С обращается к ключу через драйвер защиты, а к сетевому ключу на другой машине — через менеджер лицензий HASP License Manager.

Почему ключ «пропадает»:

  • 🔌 Порт или удлинитель. Ключ в переднем порту или в USB-хабе отключается при скачке питания. Включите его напрямую в задний порт.
  • 🧩 Драйвер. После обновления Windows драйвер защиты может перестать работать. Переустановите его из каталога платформы: haspdinst.exe -i (удаление — haspdinst.exe -r).
  • ⚡ Энергосбережение. Windows отключает USB-порты для экономии энергии. В свойствах корневых USB-концентраторов в диспетчере устройств снимите разрешение на отключение устройства.
  • 📦 Ключ не того типа. Серверный ключ и ключи клиентских лицензий — разные изделия. Для 64-разрядного сервера нужен ключ именно на 64-разрядный сервер.
  • 🏷️ Неисправность. Если светодиод не горит ни в одном порту и ни на одном компьютере, ключ сломан. Его меняют через партнёра.

Сетевой ключ на отдельной машине

Если ключ стоит на другом компьютере с HASP License Manager, проверьте:

  1. Служба менеджера лицензий запущена, ключ виден в списке устройств.
  2. На машине с ключом и на сервере 1С открыт порт 475 (TCP и UDP).
  3. Клиенты и сервер ищут ключ по правильному адресу. Широковещательный поиск через маршрутизаторы и VPN не проходит, поэтому адрес менеджера лучше прописать явно в файле nhsrv.ini в каталоге bin платформы:
[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled

Адрес 192.168.1.10 замените на адрес машины с ключом. Если машина часто меняет IP по DHCP, закрепите адрес на маршрутизаторе — иначе лицензии будут пропадать после каждого продления аренды.

Виртуализация и перенос сервера 1С на другой хост

Виртуальная машина — главный источник «внезапных» слетов программной лицензии. Для 1С гостевая система выглядит как обычный компьютер, а гипервизор меняет её «железо» по своим правилам.

Что ломает привязку:

  • 🔁 Динамический MAC-адрес. Hyper-V и VMware могут выдать новый MAC после переноса или перезапуска на другом узле.
  • 🚚 Миграция между хостами с разными процессорами: гостевая система видит другую модель CPU.
  • ⚙️ Изменение числа ядер или объёма памяти в настройках виртуальной машины.
  • 🧬 Клонирование и развёртывание из шаблона. Копия получает новый идентификатор, и лицензия с оригинала на ней не действует. Две машины с одной лицензией — нарушение условий, даже если лицензия «встала».

Как сделать виртуальный сервер устойчивым:

  1. Задайте сетевому адаптеру статический MAC-адрес.
  2. Зафиксируйте число процессоров и объём памяти. Нужно больше ресурсов — меняйте их один раз, планово, с запасным пин-кодом наготове.
  3. В кластере гипервизоров ограничьте машину группой одинаковых узлов или включите режим совместимости процессоров.
  4. Для аппаратного ключа используйте проброс USB в гостевую систему или выделенный USB-сервер в сети. Если ключ проброшен через хост, после миграции на другой узел он отвалится — это ожидаемое поведение.

Для часто мигрирующих машин аппаратный сетевой ключ на отдельном физическом компьютере надёжнее программной лицензии: переезды виртуальной машины на него не влияют.

Сеть и брандмауэр: когда лицензия есть, а клиент её не получает

В клиент-серверном варианте клиент подключается к агенту сервера (порт 1540), затем к менеджеру кластера (1541) и к рабочим процессам — их диапазон задаётся в свойствах рабочего сервера, по умолчанию 1560–1591. Если часть портов закрыта, клиент может не дойти до места, где выдаются лицензии.

Что проверить:

  • 🧱 входящие правила брандмауэра Windows на сервере для всех трёх групп портов и для 475, если используется сетевой ключ;
  • 🛡️ антивирус с сетевым экраном — после его обновления правила иногда сбрасываются;
  • 🏷️ разрешение имени сервера: клиент должен находить сервер по тому же имени, что прописано в кластере. Проверьте командой ping имя_сервера с клиентского компьютера;
  • 🔀 VPN и удалённые офисы: широковещательные запросы к менеджеру лицензий туда не доходят.

Быстрая проверка доступности порта с клиента в PowerShell:

Test-NetConnection -ComputerName srv1c -Port 1541
Test-NetConnection -ComputerName srv1c -Port 1560

Если TcpTestSucceeded возвращает False, ищите блокировку на пути между клиентом и сервером.

Права доступа, антивирус и повреждённые файлы лицензий

Бывает, что файл .lic лежит на месте, ring license list его показывает, а служба сервера лицензию не видит. Причина — служба работает от другой учётной записи и не может прочитать каталог.

Проверьте по шагам:

  1. Узнайте, от чьего имени запущена служба агента сервера: services.msc → свойства службы → вкладка «Вход в систему».
  2. Убедитесь, что у этой учётной записи есть право на чтение C:\ProgramData\1C\licenses. В Linux проверьте владельца каталога: ls -l /var/1C/licenses.
  3. Посмотрите журнал антивируса: файлы лицензий и компоненты защиты иногда попадают в карантин. Добавьте каталоги C:\ProgramData\1C и каталог установки платформы в исключения.
  4. Откройте файл .lic в блокноте. Обрезанный файл или файл нулевого размера после сбоя диска или прерванного копирования не восстановить — подложите копию или активируйте лицензию заново.

Не правьте содержимое файла лицензии вручную и не копируйте .lic с другого сервера: файл привязан к конкретному оборудованию и работать не будет.

Отдельный случай — несколько копий одной лицензии в разных каталогах (в общем и в профиле пользователя). Платформа может взять устаревшую. Оставьте одну актуальную копию в общем каталоге.

Все лицензии заняты: зависшие и лишние сеансы

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

  • 🧟 Зависшие сеансы. Пользователь закрыл ноутбук или пропала связь, а сеанс ещё висит на сервере.
  • 🌍 Веб-клиент и мобильный клиент — тоже полноценные сеансы.
  • 🔗 COM-соединения и внешние обработки обменов, которые открывают сеанс и не закрывают его.
  • 👤 Один человек — несколько окон. Каждое открытое приложение 1С с одного рабочего места занимает отдельный сеанс.

Как найти и освободить места

  1. Откройте консоль администрирования серверов 1С, кластер → «Сеансы». Отсортируйте по времени последней активности.
  2. Или выведите список из командной строки через ras/rac:
rac cluster list
rac session list --cluster=<uuid_кластера> --licenses
  1. Найдите сеансы с давней активностью и без живого пользователя. Перед удалением сеанса предупредите владельца: несохранённые данные в нём пропадут.
  2. Если сеансы зависают регулярно, уменьшите время ожидания разрыва соединения в настройках кластера и разберитесь с обменами, которые не закрывают COM-соединения.

Сравните пиковое число сеансов за неделю с числом купленных лицензий. Если пик стабильно упирается в потолок, проблема не в «слетах», а в нехватке лицензий — тут поможет только докупка.

Как не допустить повторного слета лицензии

Короткий регламент для администратора сервера 1С:

  • 📁 храните копию файлов .lic и конверт с пин-кодами вне сервера;
  • 📝 ведите журнал: дата активации, израсходованный пин-код, на какое оборудование;
  • 🛠️ любые изменения железа и настроек виртуальной машины согласуйте с тем, кто отвечает за 1С;
  • 🔒 закрепите IP-адреса сервера и машины с ключом, статический MAC для виртуальной машины;
  • 🧯 откладывайте крупные обновления ОС до окна, когда можно спокойно перезапустить службу и при необходимости повторно активировать лицензию ;
  • 📊 раз в месяц смотрите пиковую загрузку лицензий.
Перед изменением оборудования или переносом сервера 1С
Выполнено: 0 / 6

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

Сколько раз можно восстанавливать программную лицензию?
В комплекте ограниченное число резервных пин-кодов. Когда они закончатся, дополнительные коды выдают через партнёра или центр лицензирования по регистрационному номеру.
Слетит ли лицензия после обычной перезагрузки сервера?
Сама по себе нет. Если после перезагрузки лицензия пропала, значит, при старте изменились параметры оборудования (например, сменился MAC), не запустился драйвер ключа или служба сервера стартовала раньше сети.
Можно ли перенести программную лицензию на новый сервер?
Да, через повторную активацию на новом оборудовании резервным пин-кодом. Старая лицензия на прежнем сервере после этого использоваться не должна.
Почему лицензия работает у администратора, но не у службы сервера?
Файл лежит в профиле администратора, а служба запущена от другой учётной записи. Перенесите файл в общий каталог лицензий и проверьте права на чтение.
Помогает ли переустановка платформы 1С при слете лицензии?
Обычно нет: файлы лицензий и драйвер защиты от версии платформы почти не зависят. Переустановка имеет смысл только для драйвера ключа HASP.