Как заставить 1С видеть сетевой ключ и лицензии сервера

· 10 мин

Содержание

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

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

Откуда 1С берёт лицензию: ключи, менеджер и сервер

Платформа 1С:Предприятие 8.3 при запуске ищет клиентскую лицензию в нескольких местах. Источников два вида, и подключение к каждому настраивается по-разному.

ИсточникГде хранитсяЧерез что выдаётсяПорт
Сетевой аппаратный ключ HASP (красный, на 5, 10, 20, 50 и более мест)USB-ключ в любом компьютере сетиHASP License Manager475 TCP/UDP
Программная лицензияФайл .lic на компьютере, где её активировалиСама платформа или сервер 1С—
Лицензии на сервере 1С (ключ или программные)На компьютере с кластером 1ССервер 1С при включённой выдаче лицензий1540, 1541, 1560–1591

Отсюда два разных смысла фразы «сервер лицензий»:

  • 🔑 Менеджер лицензий HASP. Отдельная служба, которая раздаёт места с сетевого ключа по сети. Ставится на любой постоянно включённый компьютер, не обязательно на сервер 1С.
  • 🖥️ Сервер 1С:Предприятия как раздатчик лицензий. Клиент подключается к базе, а лицензию за него получает рабочий процесс сервера — из своего ключа, через свой nethasp.ini или из программных лицензий, активированных на сервере.

Аппаратные и программные лицензии суммируются. Ключ на 10 мест плюс программная лицензия на 5 рабочих мест дают 15 одновременных пользователей.

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

Шаг 1. Драйвер защиты на компьютере с ключом

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

  1. При установке платформы отметьте компонент «Драйвер защиты» (Sentinel HASP / LDK Run-time). Если платформу ставить не нужно, возьмите отдельный установщик драйвера haspdinst.exe.
  2. Установка из командной строки от имени администратора:
haspdinst.exe -i
  1. Если драйвер встал криво (ключ не мигает или Windows показывает неизвестное устройство), удалите и поставьте заново:
haspdinst.exe -r
haspdinst.exe -i
  1. Проверьте, что ключ виден. Откройте в браузере на этом компьютере http://localhost:1947 — это Admin Control Center драйвера. В разделе ключей должен появиться подключённый HASP.

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

Шаг 2. HASP License Manager и порт 475

Менеджер лицензий слушает сеть и выдаёт клиентам места с ключа. Порт 1947 у Admin Control Center — для другой задачи; клиенты 1С ходят к менеджеру через 475.

Установка менеджера

  1. Запустите lmsetup.exe — установщик HASP License Manager.
  2. На шаге выбора режима укажите Service — менеджер будет работать службой HASP Loader и стартовать без входа пользователя.
  3. Согласитесь на изменение настроек брандмауэра или откройте порт вручную.

Проверка: в списке служб (services.msc) служба HASP Loader запущена, тип запуска — «Автоматически».

Открытие порта в брандмауэре

Правило нужно на компьютере с менеджером, для входящих соединений. Из PowerShell от администратора:

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

UDP нужен для автопоиска менеджера широковещательными пакетами. Если клиенты получат адрес явно и будут ходить по TCP, достаточно TCP-правила, но открыть оба проще и надёжнее.

Ограничение доступа к менеджеру

Менеджер раздаёт места любому, кто до него достучался. Если в сети есть гостевой Wi-Fi или чужие подсети, ограничьте круг клиентов в файле nhsrv.ini в папке установки менеджера:

[NHS_IP]
NHS_IP_LIMIT = 192.168.1.*

После правки перезапустите службу HASP Loader. Перезапуск отнимет лицензии у всех, кто сейчас в программе, поэтому делайте его вне рабочего времени.

Шаг 3. Настройка nethasp.ini на рабочих местах

По умолчанию клиент 1С ищет менеджер широковещательным запросом. В одной небольшой подсети это работает. Через VPN, между филиалами, при нескольких VLAN или при двух менеджерах в сети автопоиск либо не находит ключ, либо находит долго.

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

[NH_COMMON]
NH_TCPIP = Enabled

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

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

  • 📍 NH_SERVER_ADDR — IP-адрес компьютера с менеджером. Можно указать несколько адресов через запятую, если ключей несколько.
  • 🔌 NH_TCPIP_METHOD = TCP — клиент ходит по TCP, это стабильнее через маршрутизаторы.
  • 🚫 NH_USE_BROADCAST = Disabled — отключает поиск по всей сети и сокращает задержку при запуске.

После сохранения файла перезапустите 1С. Служба на клиенте для этого не нужна, файл читается при каждом запуске.

Адрес лучше указывать IP, а не имя компьютера. Если DNS в сети работает с перебоями, по имени лицензия будет находиться «через раз».

Чтобы не обходить 30 компьютеров вручную, раскатайте готовый nethasp.ini групповой политикой (настройки Files) или скриптом входа. Учтите, что при обновлении платформы файл в каталоге conf сохраняется, а в папке конкретной версии — нет.

Шаг 4. Выдача лицензий сервером 1С в клиент-серверном варианте

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

Включение выдачи лицензий

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

То же через утилиту rac: параметры смотрите в rac help infobase. Действие повторяют для каждой базы.

Откуда сервер возьмёт лицензии

  • 🔑 Ключ в самом сервере. Драйвер ставят на сервер, и рабочий процесс видит ключ локально.
  • 🌐 Сетевой ключ на другом компьютере. Файл nethasp.ini кладут на сервер в каталог conf серверной платформы — тот же формат, что в шаге 3.
  • 📄 Программные лицензии. Их активируют на компьютере сервера. Файлы хранятся в C:\ProgramData\1C\licenses на Windows и в /var/1C/licenses на Linux. Служба сервера должна иметь права на чтение этого каталога.

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

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

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

Идентификатор кластера показывает rac cluster list. У каждого сеанса в выводе будет тип лицензии и место, откуда она получена.

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

Шаг 5. Если автообнаружение не срабатывает

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

Порядок ручного подключения:

  1. Узнайте IP компьютера с ключом командой ipconfig и закрепите его в DHCP за MAC-адресом. Если адрес «уплывёт», все клиенты с жёстко прописанным адресом потеряют лицензию разом.
  2. Проверьте доступность порта с клиента:
Test-NetConnection 192.168.1.10 -Port 475

Строка TcpTestSucceeded : True значит, что сеть и брандмауэр в порядке.

  1. Пропишите адрес в nethasp.ini и выключите broadcast, как в шаге 3.
  2. Для VPN-филиалов проверьте, что туннель пропускает порт 475 в обе стороны. Широковещательные пакеты через VPN не проходят никогда, поэтому там адрес прописывают всегда.

Для наблюдения за менеджером удобна утилита Aladdin Monitor: она показывает, какие менеджеры видны в сети, какие ключи к ним подключены и сколько мест занято.

Ошибки подключения к менеджеру лицензий и их причины

Большинство сбоев сводится к одному вопросу: на каком звене цепочки «ключ → драйвер → менеджер → сеть → клиент» пропал сигнал. Проверяйте звенья по порядку, а не всё сразу.

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

Ещё две причины, которые ищут дольше всего:

  • 🛡️ Антивирус или сторонний файрвол. Встроенный брандмауэр Windows открыт, а пакет, установленный поверх него, режет порт 475. Временно отключите защиту на компьютере с менеджером и повторите запуск 1С.
  • 🔌 Ключ в USB-хабе без питания или в передней панели корпуса. Ключ то пропадает, то появляется. Переставьте его в задний порт материнской платы.

Сервер лицензий в виртуальной машине

Виртуализация меняет обе схемы лицензирования, и об этом лучше думать до переезда, а не после.

Аппаратный ключ

ГипервизорКак подключить USB-ключ
VMware ESXi, Proxmox, KVMПроброс USB-устройства в виртуальную машину средствами гипервизора
Hyper-VПрямого проброса USB для серверных ВМ нет — нужен USB-over-IP концентратор или менеджер лицензий на физической машине
ЛюбойАппаратный USB-over-IP хаб: ключ в хабе, драйвер — в ВМ

Самый простой путь — не тащить ключ в виртуалку вообще. Поставьте драйвер и менеджер лицензий на физический компьютер, который всегда включён, и пропишите его адрес в nethasp.ini на сервере 1С или на клиентах.

Программные лицензии

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

  • 💾 Миграция ВМ на другой хост, смена числа ядер, замена сетевого адаптера могут сделать лицензию недействительной.
  • 🔢 Закрепите MAC-адрес вручную в настройках ВМ, чтобы гипервизор не сгенерировал новый при переносе.
  • 🧾 Храните пин-коды из конверта лицензии и регистрационную анкету: при смене оборудования лицензию активируют повторно резервным пин-кодом, а число повторных активаций ограничено.

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

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

Нужно ли ставить менеджер лицензий на сервер 1С?
Нет. Менеджер работает на любом постоянно включённом компьютере сети с Windows или Linux. Сам 1С на этом компьютере не нужен — только драйвер и HASP License Manager.
Можно ли держать в одной сети несколько сетевых ключей?
Можно. Их вставляют в один компьютер с одним менеджером или в разные компьютеры. Во втором случае перечислите оба адреса в NH_SERVER_ADDR через запятую. Места ключей складываются.
Сколько лицензий займёт пользователь, открывший три базы?
Одну, если все базы открыты с одного компьютера. Лицензия считается на компьютер, а не на окно или базу. Исключение — терминальный сервер, где каждый сеанс считается отдельно.
Работает ли сетевой ключ через интернет без VPN?
Технически порт 475 можно пробросить наружу, но менеджер не шифрует обмен и не проверяет, кто к нему подключился. Используйте VPN или выдачу лицензий сервером 1С, а порт наружу не открывайте.
Как понять, какую лицензию занял конкретный пользователь?
В клиент-серверном варианте — командой rac session list с ключом –licenses. В файловом варианте — через Aladdin Monitor по списку подключённых к ключу компьютеров.