К статье
Практический материал

Администрирование · 10 мин

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

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

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

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

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

Определите, какой механизм лицензирования используется

Прежде чем что-либо запрещать, выясните, откуда клиенты получают лицензии. Возможны три варианта: локальный USB-ключ на компьютере пользователя, сетевой HASP-ключ с менеджером лицензий (HASP License Manager) и программные лицензии, которые раздаёт сервер 1С:Предприятия. Узнать источник можно в клиенте: «О программе» показывает серию и способ получения лицензии, а в консоли кластера видно, выдаёт ли сервер программные лицензии.

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

Запрет выдачи по сети для HASP-ключей

Самый частый случай — в сети два и более сервера с ключами, и клиенты захватывают лицензии с «чужого» сервера. Запрет реализуется на стороне клиента через файл nethasp.ini, который лежит в каталоге conf установки 1С (например, C:\Program Files\1cv8\<версия>\bin\conf). В секции [NH_COMMON] отключите широковещательный поиск, а в [NH_TCPIP] явно укажите адрес разрешённого сервера:

ini
[NH_COMMON]
NH_IPX = Disabled
NH_NETBIOS = Disabled
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.10
NH_USE_BROADCAST = Disabled

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

Дополнительный уровень — ограничения на самом HASP License Manager. В его настройках можно задать список имён или адресов машин, которым разрешено (или запрещено) получать лицензии, а также максимальное число выдаваемых лицензий. Это удобно, когда клиентов много и централизованно править nethasp.ini сложно.

Сетевой запрет как дополнительная мера

Если сервер лицензий должен быть полностью недоступен для части сети, закройте обращения к нему на уровне межсетевого экрана: менеджер лицензий работает по UDP и TCP на порту 475. Блокировка этого порта на маршрутизаторе или файрволе надёжно отсекает лишних клиентов, но требует аккуратности, чтобы не отрезать легитимных пользователей.

Запрет выдачи программных лицензий сервером 1С

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

Основные способы ограничить выдачу:

  • перенести лицензии на выделенный сервер лицензирования и запретить обращения к нему со стороны нежелательных кластеров сетевыми правилами;
  • ограничить права учётной записи службы агента сервера на каталог с файлами программных лицензий (обычно C:\ProgramData\1C\licenses на Windows или /var/1C/licenses на Linux) — без доступа к файлам сервер не сможет их выдать;
  • настроить резервный сервер лицензирования и распределить, какой сервер обслуживает какие информационные базы;
  • для отдельных баз задать требования назначения функциональности, чтобы лицензии выдавал только нужный рабочий сервер кластера.

Требования назначения функциональности

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

Временная остановка выдачи без остановки сервера

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

Порядок действий
  1. 1
    Предупредите пользователей о технологическом окне и попросите не перезапускать клиенты.
  2. 2
    Убедитесь, что есть резервный источник лицензий или сеансы можно не прерывать.
  3. 3
    Заблокируйте новые обращения: сетевым правилом на порт службы лицензирования или требованием назначения функциональности.
  4. 4
    Проверьте, что существующие сеансы работают, а новые подключения не получают лицензию с этого сервера.
  5. 5
    После завершения работ снимите ограничение и проверьте выдачу тестовым подключением.

Для HASP License Manager временный запрет делается остановкой службы менеджера лицензий — активные клиенты при этом обычно сохраняют лицензию до завершения сеанса, но новые запуски клиентов уже не пройдут. Это поведение зависит от версии менеджера, поэтому проверяйте на тестовом клиенте заранее.

Как проверить, что запрет сработал

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

Контрольные точки

Как проверить результат

Запуск клиента с рабочей станции
Норма

Лицензия получена с разрешённого сервера, адрес виден в журнале

Тревожный признак

Клиент получил лицензию с запрещённого сервера — nethasp.ini не применён

Содержимое nethasp.ini на клиенте
Норма

Указан NH_SERVER_ADDR и отключён broadcast

Тревожный признак

Файл отсутствует или лежит не в каталоге conf используемой версии платформы

Новые сеансы при сетевом запрете
Норма

Новые подключения не получают лицензию с закрытого сервера

Тревожный признак

Порт 475 доступен — правило файрвола не сработало

Учтите типичную ловушку: на компьютере может стоять несколько версий платформы, и у каждой свой каталог conf. Если вы поправили nethasp.ini в одной версии, а пользователь запускает другую — запрет не сработает.

Типичные ошибки и ограничения

Типичные ошибки
01
Правка nethasp.ini только на сервере — клиенты читают этот файл локально, серверная копия на них не влияет.
02
Остановка службы лицензирования в рабочее время — разрывает сеансы и приводит к потере несохранённых данных пользователей.
03
Запрет по broadcast без указания NH_SERVER_ADDR — клиент вообще не находит ключ и не запускается.
04
Изменение прав на каталог licenses без резервного источника — после перезапуска сеансов никто не сможет войти.
05
Ожидание, что запрет отзовёт уже выданные лицензии — действующие сеансы продолжают работать до завершения.

Ещё одно ограничение: программные лицензии привязаны к аппаратной конфигурации сервера. Если вы переносите лицензии на другой сервер, чтобы запретить выдачу на старом, потребуется повторная активация с использованием резервных пин-кодов. Рассчитывайте запас пин-кодов заранее — их число ограничено условиями поставки.

Сравнение вариантов

nethasp.ini на клиентах

Подходит для HASP-ключей при небольшом числе ПК; требует раскладки файла на каждую машину и каждую версию платформы.

Ограничения HASP License Manager

Централизованный запрет по именам и адресам ПК; не работает для программных лицензий сервера 1С.

Сетевые правила (порт 475)

Надёжно отсекает целые сегменты сети; грубый инструмент, легко задеть легитимных пользователей.

Требования назначения функциональности

Штатный механизм кластера для программных лицензий; требует понимания структуры кластера и не подходит для HASP.

FAQ

Отзовёт ли запрет лицензии у уже работающих пользователей?

Нет. Запрет действует только на новые запросы. Активные сеансы продолжат работу до завершения, перезапуска службы или разрыва соединения. Чтобы освободить лицензии немедленно, сеансы завершают принудительно через консоль кластера.

Клиент всё равно берёт лицензию с чужого сервера, хотя nethasp.ini настроен. Почему?

Чаще всего файл изменён не в том каталоге — проверьте папку conf именно той версии платформы, которой пользуется клиент. Также убедитесь, что broadcast отключён, а адрес сервера указан без опечаток, и перезапустите клиента после правки.

Можно ли запретить выдачу лицензий только одной конкретной информационной базе?

Да, через требования назначения функциональности в консоли кластера: создайте требование для объекта «Клиентское соединение с ИБ» с указанием базы и типом «Не назначать» на нужном рабочем сервере.

Что будет, если закрыть порт 475 на файрволе сервера лицензий?

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

Как временно остановить раздачу, не разрывая работу пользователей?

Заблокируйте новые обращения сетевым правилом или требованием назначения функциональности, не останавливая службы. Существующие сеансы продолжат работу, а новые подключения лицензию не получат.

Переносятся ли программные лицензии на другой сервер автоматически?

Нет. Программная лицензия привязана к аппаратной конфигурации сервера, на котором активирована. Для переноса её активируют заново на новом сервере с помощью резервного пин-кода из комплекта поставки.

Итог

Что важно запомнить

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