Как настроить получение лицензии 1С через VPN для файловых баз данных?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При организации удаленной работы часто возникает ситуация, когда пользователи работают с файловыми базами данных 1С, расположенными непосредственно на их ноутбуках, но лицензию (ключ защиты) должны получать с центрального сервера компании через VPN-туннель. Стандартные механизмы поиска ключа, основанные на широковещательных запросах (broadcast), в таких условиях не работают, так как VPN-соединения обычно представляют собой разные подсети, и широковещательный трафик между ними не проходит. Разберем подробно, как решить эту проблему, настроить конфигурационные файлы и какие альтернативные способы доступа существуют.

Анализ проблемы: почему 1С не видит ключ через VPN?

Рассмотрим стандартный механизм работы системы защиты HASP. Когда клиентское приложение 1С запускается, оно ищет менеджер лицензий (HASP License Manager). По умолчанию поиск происходит по протоколу UDP на порту 475 с использованием широковещательного пакета. В локальной сети, где сервер и клиент находятся в одном сегменте (например, 192.168.0.x), это работает мгновенно. Однако, если клиент подключен через Wi-Fi в другой подсети (например, 10.0.0.x) или через VPN (например, 192.168.99.x), широковещательный запрос просто не дойдет до сервера. Проанализируем способы принудительного указания адреса сервера лицензирования.

Настройка файла nethasp.ini на стороне клиента

Для того чтобы клиент 1С точно знал, куда обращаться за лицензией, необходимо отредактировать файл nethasp.ini. Обычно он располагается в папке C:\Program Files\1cv8\conf (или в папке с конкретной версией платформы). Если файла там нет, его можно создать или скопировать из шаблонов установки.

Выясним, какие параметры критически важны для работы через VPN. Нам необходимо отключить неэффективные методы поиска и жестко прописать IP-адрес сервера. Рассмотрим пример работающей конфигурации:


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

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.10, servername.domain.com
NH_PORT_NUMBER = 475
NH_TCPIP_METHOD = UDP
NH_USE_BROADCAST = Disabled

Разберем, что именно мы настроили в этом примере:

  1. NH_IPX и NH_NETBIOS: В современных сетях протокол IPX давно не используется, поэтому мы его отключаем. Однако параметр NH_NETBIOS = Enabled в некоторых случаях (как у автора темы) помогает системе защиты корректно идентифицировать сервер через механизмы разрешения имен Windows, если IP-адресация работает нестабильно.
  2. NH_SERVER_ADDR: Это самый важный параметр. Здесь мы через запятую указываем IP-адрес сервера, где установлен USB-ключ и запущен HASP License Manager, а также его FQDN-имя.
  3. NH_USE_BROADCAST = Disabled: Мы принудительно запрещаем широковещание, чтобы клиент не тратил время на бесполезные запросы в пустоту, а сразу шел по указанному адресу.
  4. NH_TCPIP_METHOD: Хотя по умолчанию стоит UDP, в сложных VPN-сетях иногда имеет смысл попробовать переключить на TCP, если UDP-пакеты фрагментируются или блокируются сетевым экраном.

Важность сетевой инфраструктуры и DNS

Одной правки конфигурационного файла может быть недостаточно. Проанализируем ситуацию, с которой столкнулся автор темы: проблема решилась только после настройки зоны обратного просмотра на DHCP/DNS сервере. Для стабильной работы HASP License Manager требуется корректное разрешение имен в обе стороны (Forward и Reverse Lookup).

Если сервер 1С имеет IP 192.168.0.10, то клиент в сети VPN должен не только "пинговать" этот адрес, но и получать корректное имя сервера при обратном запросе. Рекомендуется также внести запись в файл etc/hosts на клиентской машине, чтобы исключить задержки DNS:

192.168.0.10 servername servername.domain.com

Проверка доступности портов

Для успешного получения лицензии необходимо убедиться, что брандмауэр на сервере и промежуточные шлюзы VPN пропускают трафик. Основной порт для HASP — 475. Проверим его доступность с помощью утилиты PowerShell или telnet:

Test-NetConnection -ComputerName 192.168.0.10 -Port 475

Помните, что HASP использует и UDP, и TCP. Если telnet проходит, значит порт TCP открыт, но лицензия может все равно не выдаваться, если закрыт UDP 475.

Альтернативное решение: Публикация базы на веб-сервере

Рассмотрим более современный и надежный способ работы через VPN — использование веб-сервера (IIS или Apache). Вместо того чтобы мучиться с пробросом "тяжелых" запросов лицензии через туннель, мы можем опубликовать файловую базу.

В этом случае схема работы меняется: Лицензию запрашивает не клиентский ноутбук, а веб-сервер, на котором запущена база. Поскольку веб-сервер находится в той же локальной сети, что и ключ, он получает лицензию мгновенно. Клиент же подключается к базе по протоколу HTTP/HTTPS, что гораздо эффективнее для тонких каналов связи и VPN. Для пользователя работа в тонком клиенте через веб-сервер практически не отличается от работы с локальной базой, но стабильность возрастает в разы.

Юридические и лицензионные аспекты

Необходимо затронуть важный момент, касающийся лицензионной политики 1С. Использование VPN для доступа к лицензии при работе с локальной файловой базой на ноутбуке может трактоваться правообладателем неоднозначно. Согласно правилам, если информационная база установлена на переносном компьютере, для нее должна быть приобретена отдельная основная поставка (например, "1С:Бухгалтерия").

Если же вы используете VPN для подключения к удаленному рабочему столу (RDP) или к базе, опубликованной на веб-сервере в офисе, то дополнительная основная поставка на ноутбук не требуется — достаточно клиентской лицензии, доступной на сервере.

Итоги и рекомендации

Для успешного запуска файловой базы с ключом через VPN выполним следующие шаги:

  1. Настроим nethasp.ini, указав NH_SERVER_ADDR и отключив NH_USE_BROADCAST.
  2. Проверим доступность порта 475 (UDP/TCP) через туннель.
  3. Убедимся в корректной работе DNS и зоны обратного просмотра (Reverse Lookup).
  4. При сохранении проблем с производительностью или видимостью ключа — перейдем на схему с публикацией базы на веб-сервере (IIS/Apache) или рассмотрим использование программных лицензий вместо аппаратных USB-ключей. Программные лицензии (пин-коды) привязываются к железу ноутбука и вообще не требуют наличия связи с сервером для проверки правомерности использования 1С.
← На главную