Адрес сервера лицензий в 1С: где и как его указать
Содержание
Адрес сервера лицензий 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 Manager | nethasp.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. Разместите лицензии на сервере
Клиентские программные лицензии активируют на компьютере с сервером 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С ключ не видит» — это закрытый порт. Сводка портов, которые участвуют в лицензировании:
| Порт | Протокол | Где открыть | Зачем |
|---|---|---|---|
| 475 | UDP и TCP | На ПК с HASP License Manager (входящие) | Обращения клиентов к ключу |
| 1540 | TCP | На сервере 1С | Агент сервера (ragent) |
| 1541 | TCP | На сервере 1С | Менеджер кластера (rmngr) |
| 1560–1591 | TCP | На сервере 1С | Рабочие процессы (rphost), диапазон по умолчанию |
| 1545 | TCP | На сервере 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С:Предприятия» — все пользователи потеряют сеансы и несохранённые данные. Делайте это вне рабочего времени и после предупреждения сотрудников.
Проверка связи и разбор ошибок лицензирования
Порядок проверки от простого к сложному. Не перескакивайте: чаще всего проблема находится на первых двух шагах.
- Ключ вообще жив? На компьютере с ключом светится светодиод, ключ виден в Диспетчере устройств, служба HASP License Manager запущена.
- Компьютер доступен? С клиента:
ping 192.168.1.10. - Порт открыт? С клиента в PowerShell:
Test-NetConnection 192.168.1.10 -Port 475. СтрокаTcpTestSucceeded : Trueзначит, что TCP-порт доступен. UDP эта команда не проверяет — при сомнениях переключитеNH_TCPIP_METHODнаTCP. - Файл читается? Убедитесь, что
nethasp.iniлежит в нужномconfи не называетсяnethasp.ini.txt. - Хватает мест в ключе? Утилита 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 утра в день сдачи отчётности. Лицензий нужно не меньше этого числа.