Как заставить 1С видеть сетевой ключ и лицензии сервера
Содержание
Чтобы подключиться к серверу
лицензий 1С, на компьютер с сетевым ключом ставят драйвер защиты и HASP License Manager, открывают порт 475 (TCP и UDP), а на клиентах прописывают адрес этого компьютера в файле nethasp.ini. В клиент-серверном варианте проще другой путь: включить выдачу лицензий сервером
1С, тогда клиентам доступ к менеджеру лицензий вообще не нужен.
Типичная картина: ключ торчит в сервере, а у бухгалтера при запуске всплывает Не обнаружена лицензия для использования программы. Ниже по шагам — как устроено получение лицензии, что настроить на сервере и на рабочих местах и как найти, где рвётся цепочка.
Откуда 1С берёт лицензию: ключи, менеджер и сервер
Платформа 1С:Предприятие 8.3 при запуске ищет клиентскую лицензию в нескольких местах. Источников два вида, и подключение к каждому настраивается по-разному.
| Источник | Где хранится | Через что выдаётся | Порт |
|---|---|---|---|
| Сетевой аппаратный ключ HASP (красный, на 5, 10, 20, 50 и более мест) | USB-ключ в любом компьютере сети | HASP License Manager | 475 TCP/UDP |
| Программная лицензия | Файл .lic на компьютере, где её активировали | Сама платформа или сервер 1С | — |
| Лицензии на сервере 1С (ключ или программные) | На компьютере с кластером 1С | Сервер 1С при включённой выдаче лицензий | 1540, 1541, 1560–1591 |
Отсюда два разных смысла фразы «сервер лицензий»:
- 🔑 Менеджер лицензий HASP. Отдельная служба, которая раздаёт места с сетевого ключа по сети. Ставится на любой постоянно включённый компьютер, не обязательно на сервер 1С.
- 🖥️ Сервер 1С:Предприятия как раздатчик лицензий. Клиент подключается к базе, а лицензию за него получает рабочий процесс сервера — из своего ключа, через свой
nethasp.iniили из программных лицензий, активированных на сервере.
Аппаратные и программные лицензии суммируются. Ключ на 10 мест плюс программная лицензия на 5 рабочих мест дают 15 одновременных пользователей.
Одна клиентская лицензия покрывает все сеансы, запущенные с одного компьютера. На терминальном сервере каждый терминальный сеанс считается отдельным компьютером и занимает отдельную лицензию.
Шаг 1. Драйвер защиты на компьютере с ключом
Без драйвера ключ — просто флешка, которую система не понимает. Драйвер нужен только там, куда воткнут ключ. На клиентах он для сетевого ключа не требуется.
- При установке платформы отметьте компонент «Драйвер защиты» (Sentinel HASP / LDK Run-time). Если платформу ставить не нужно, возьмите отдельный установщик драйвера
haspdinst.exe. - Установка из командной строки от имени администратора:
haspdinst.exe -i
- Если драйвер встал криво (ключ не мигает или Windows показывает неизвестное устройство), удалите и поставьте заново:
haspdinst.exe -r
haspdinst.exe -i
- Проверьте, что ключ виден. Откройте в браузере на этом компьютере
http://localhost:1947— это Admin Control Center драйвера. В разделе ключей должен появиться подключённый HASP.
Переустановку драйвера делайте, когда в базе никто не работает : на время удаления ключ пропадает, и все, кто сидит на его лицензиях, получат ошибку.
Шаг 2. HASP License Manager и порт 475
Менеджер лицензий слушает сеть и выдаёт клиентам места с ключа. Порт 1947 у Admin Control Center — для другой задачи; клиенты 1С ходят к менеджеру через 475.
Установка менеджера
- Запустите
lmsetup.exe— установщик HASP License Manager. - На шаге выбора режима укажите Service — менеджер будет работать службой
HASP Loaderи стартовать без входа пользователя. - Согласитесь на изменение настроек брандмауэра или откройте порт вручную.
Проверка: в списке служб (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С:Предприятия» выберите «Да» и сохраните.
То же через утилиту 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. Если автообнаружение не срабатывает
Автопоиск ломается чаще всего в трёх ситуациях: клиент в другой подсети, в сети два менеджера лицензий, широковещательные пакеты режет коммутатор или антивирус.
Порядок ручного подключения:
- Узнайте IP компьютера с ключом командой
ipconfigи закрепите его в DHCP за MAC-адресом. Если адрес «уплывёт», все клиенты с жёстко прописанным адресом потеряют лицензию разом. - Проверьте доступность порта с клиента:
Test-NetConnection 192.168.1.10 -Port 475
Строка TcpTestSucceeded : True значит, что сеть и брандмауэр в порядке.
- Пропишите адрес в
nethasp.iniи выключите broadcast, как в шаге 3. - Для 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-адрес вручную в настройках ВМ, чтобы гипервизор не сгенерировал новый при переносе.
- 🧾 Храните пин-коды из конверта лицензии и регистрационную анкету: при смене оборудования лицензию активируют повторно резервным пин-кодом, а число повторных активаций ограничено.
В контейнерах и на ВМ, которые часто пересоздаются, программная лицензия слетает при каждом пересоздании. Для таких сред надёжнее сетевой аппаратный ключ на отдельной физической машине.