Адрес сервера лицензий в 1С: где и как его указать

· 9 мин

Содержание

Адрес сервера лицензий 1С прописывают в файле nethasp.ini в каталоге conf платформы, обычно C:\Program Files\1cv8\conf\nethasp.ini. В секции [NH_TCPIP] указывают строку NH_SERVER_ADDR = 192.168.1.10 — IP или имя компьютера, где стоит сетевой ключ HASP и запущен HASP License Manager. Это нужно, когда 1С не находит ключ сама: широковещательный поиск в сети заблокирован или ключ стоит в другой подсети.

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

Как 1С ищет лицензию: ключ, программная лицензия, сервер кластера

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

Вид лицензииГде лежитКто её выдаёт клиентуЧто настраивать
🔑 Сетевой ключ HASP (USB)На одном компьютере в сетиHASP License Managernethasp.ini на клиентах
🔑 Локальный ключ HASPВ USB-порту конкретного ПКСам компьютерНичего, только драйвер
📄 Программная лицензияФайл в C:\ProgramData\1C\licensesКомпьютер, где она активированаНичего в файловом варианте
🖥️ Программная лицензия в клиент-сервереНа машине с сервером 1ССервер 1С:ПредприятияФлаг выдачи лицензий в базе

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

Как понять, что у вас: зелёный или красный USB-ключ с маркировкой ORGL8 или NETx — это HASP. Если ключей нет, а при установке вводили пин-код с конверта — программная лицензия.

Отдельно о серверной лицензии. Лицензия на сам сервер 1С:Предприятия (аппаратная или программная) должна быть на компьютере, где работает сервер. Искать её по сети через nethasp.ini сервер не будет.

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

В клиент-серверном варианте клиентские программные лицензии удобно держать централизованно — на машине с сервером. Тогда пользователям не нужно активировать лицензии на каждом ПК.

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

  1. Откройте консоль администрирования серверов 1С:Предприятия (оснастка устанавливается вместе с сервером).
  2. Разверните кластер и откройте узел Информационные базы.
  3. Откройте свойства нужной базы (двойной щелчок по ней). Введите логин и пароль администратора базы, если система спросит.
  4. В поле «Разрешить выдачу лицензий сервером 1С:Предприятия» поставьте значение «Да».
  5. Нажмите «ОК».

Флаг действует на одну базу. Если в кластере их десять, пройдите по каждой, где нужна центральная выдача.

Шаг 2. Разместите лицензии на сервере

Клиентские программные лицензии активируют на компьютере с сервером 1С. Файлы .lic по умолчанию лежат в C:\ProgramData\1C\licenses. Учётная запись службы сервера 1С (часто USR1CV8) должна иметь право читать этот каталог.

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

Шаг 3. Если серверов в кластере несколько

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

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

Прописываем адрес ключа HASP в nethasp.ini

Это и есть классическое «прописать адрес сервера лицензий». Делается на каждом клиентском компьютере, а в клиент-серверном варианте — ещё и на компьютере с сервером 1С, если клиентские лицензии берёт он.

Где лежит файл

1С 8.3 читает nethasp.ini из каталога conf:

  • 📁 общий для всех версий платформы: C:\Program Files\1cv8\conf\nethasp.ini;
  • 📁 для 32-разрядной платформы на 64-разрядной Windows: C:\Program Files (x86)\1cv8\conf\nethasp.ini;
  • 📁 для конкретной версии: C:\Program Files\1cv8\8.3.xx.xxxx\bin\conf\nethasp.ini.

Если файла нет — создайте его в Блокноте. Сохраняйте с расширением .ini, а не .ini.txt: включите в Проводнике показ расширений и проверьте.

Минимальное содержимое

[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled
NH_TCPIP_METHOD = UDP
NH_SESSION = 5
NH_SEND_RCV = 2

Что означает каждая строка:

  • NH_TCPIP = Enabled — искать ключ по протоколу TCP/IP;
  • NH_SERVER_ADDR — адрес компьютера с License Manager. Можно несколько через запятую: 192.168.1.10, 192.168.1.11;
  • NH_USE_BROADCAST = Disabled — не рассылать широковещательный запрос по всей сети, сразу идти по адресу. Ускоряет запуск 1С;
  • NH_TCPIP_METHOD — UDP или TCP. Если через маршрутизатор UDP не проходит, пробуйте TCP;
  • NH_SESSION и NH_SEND_RCV — тайм-ауты в секундах. Увеличивайте их, только если сеть медленная (VPN, удалённый филиал).

Адрес: IP или имя

Надёжнее IP-адрес. Имя компьютера (NH_SERVER_ADDR = SRV-1C) работает, только если DNS в сети настроен без сбоев. Если у сервера с ключом адрес выдаётся по DHCP, закрепите его резервированием в DHCP или задайте статический — иначе после перезагрузки роутера всё снова сломается.

После правки файла закройте все сеансы 1С на этом компьютере и запустите заново. Платформа читает nethasp.ini при старте.

Порты и сеть: что открыть в брандмауэре

Половина обращений «прописал адрес, а 1С ключ не видит» — это закрытый порт. Сводка портов, которые участвуют в лицензировании:

ПортПротоколГде открытьЗачем
475UDP и TCPНа ПК с HASP License Manager (входящие)Обращения клиентов к ключу
1540TCPНа сервере 1САгент сервера (ragent)
1541TCPНа сервере 1СМенеджер кластера (rmngr)
1560–1591TCPНа сервере 1СРабочие процессы (rphost), диапазон по умолчанию
1545TCPНа сервере 1С, если используете rasСервер администрирования для rac

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

Правило брандмауэра Windows на компьютере с ключом можно создать командой PowerShell от имени администратора:

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

Сам License Manager ставится на компьютер с ключом как служба. Он бесплатный и входит в дистрибутив платформы. Без него сетевой ключ виден только локально.

Вместо clusters.cfg: какие файлы реально трогать руками

В инструкциях иногда советуют «вписать адрес лицензий в конфигурационный файл кластера». Это путаница.

  • 📄 Список кластеров и их параметры сервер 1С хранит в служебном файле 1CV8Clst.lst в каталоге srvinfo (например, C:\Program Files\1cv8\srvinfo\reg_1541\). Адреса сервера лицензий в нём нет. Руками этот файл не правят — повреждение лишит кластер списка баз. Все настройки делают через консоль или rac.
  • 📄 Адрес сетевого ключа задаётся только в nethasp.ini.
  • 📄 Программные лицензии не требуют адреса вовсе: либо файл .lic локально, либо выдача сервером кластера.
  • 📄 На стороне License Manager есть свой nhsrv.ini. В нём можно, например, ограничить круг IP-адресов, которым разрешено брать лицензии (параметр NHS_IP_LIMIT). В обычной сети его не трогают.

Если нужно проверить настройки кластера без консоли, используйте rac. Начните с rac cluster list: команда покажет идентификатор кластера. Остальные подкоманды смотрите в справке rac help.

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

Проверка связи и разбор ошибок лицензирования

Порядок проверки от простого к сложному. Не перескакивайте: чаще всего проблема находится на первых двух шагах.

  1. Ключ вообще жив? На компьютере с ключом светится светодиод, ключ виден в Диспетчере устройств, служба HASP License Manager запущена.
  2. Компьютер доступен? С клиента: ping 192.168.1.10.
  3. Порт открыт? С клиента в PowerShell: Test-NetConnection 192.168.1.10 -Port 475. Строка TcpTestSucceeded : True значит, что TCP-порт доступен. UDP эта команда не проверяет — при сомнениях переключите NH_TCPIP_METHOD на TCP.
  4. Файл читается? Убедитесь, что nethasp.ini лежит в нужном conf и не называется nethasp.ini.txt.
  5. Хватает мест в ключе? Утилита Aladdin Monitor показывает, какие ключи видит License Manager и сколько подключений занято.
Диагностика: выберите симптом

Узнать, какие лицензии сейчас занимают сеансы базы, можно через rac session list --licenses с указанием кластера. Это помогает понять, откуда клиент берёт лицензию: из ключа, из локального файла или от сервера.

Терминальный сервер: где прописывать и сколько мест нужно

На терминальном сервере (RDP) 1С запускается для всех пользователей с одной машины. Отсюда две особенности.

Один nethasp.ini на всех. Файл в общем каталоге C:\Program Files\1cv8\conf\ действует для всех сеансов. Прописывать адрес отдельно для каждого пользователя не нужно.

Каждый сеанс занимает своё место. Пять пользователей в RDP — это пять лицензий, даже если физически компьютер один. Однопользовательский локальный ключ на терминальном сервере даст работать только одному. Нужен многопользовательский сетевой ключ с License Manager — его можно поставить прямо на терминальный сервер и прописать NH_SERVER_ADDR = 127.0.0.1 или его собственный IP.

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

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

Перед запуском терминала с 1С
Выполнено: 0 / 6

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

Можно ли прописать два сервера лицензий сразу?
Да. В NH_SERVER_ADDR перечислите адреса через запятую. Клиент опросит их по очереди и возьмёт место в первом ключе, где оно свободно.
Нужно ли прописывать адрес, если ключ и 1С в одной локальной сети?
Не обязательно: широковещательный поиск обычно находит ключ сам. Но явный адрес ускоряет запуск и избавляет от сбоев, если в сети есть VLAN или строгие правила брандмауэра.
Можно ли получить лицензию через интернет по внешнему IP?
Технически nethasp.ini примет внешний адрес, но открывать порт 475 в интернет небезопасно. Правильнее подключить филиал через VPN и указать внутренний адрес сервера с ключом.
Работает ли nethasp.ini для программных лицензий?
Нет. Файл относится только к аппаратным ключам HASP. Программную лицензию клиент берёт локально или от сервера 1С, если для базы включена выдача лицензий сервером.
Почему после обновления платформы ключ перестал находиться?
Если nethasp.ini лежал в bin\conf старой версии, новая версия его не увидит. Перенесите файл в общий каталог C:\Program Files\1cv8\conf — он действует для всех установленных версий.