При организации удаленной работы часто возникает ситуация, когда пользователи работают с файловыми базами данных 1С, расположенными непосредственно на их ноутбуках, но лицензию (ключ защиты) должны получать с центрального сервера компании через VPN-туннель. Стандартные механизмы поиска ключа, основанные на широковещательных запросах (broadcast), в таких условиях не работают, так как VPN-соединения обычно представляют собой разные подсети, и широковещательный трафик между ними не проходит. Разберем подробно, как решить эту проблему, настроить конфигурационные файлы и какие альтернативные способы доступа существуют.
Рассмотрим стандартный механизм работы системы защиты HASP. Когда клиентское приложение 1С запускается, оно ищет менеджер лицензий (HASP License Manager). По умолчанию поиск происходит по протоколу UDP на порту 475 с использованием широковещательного пакета. В локальной сети, где сервер и клиент находятся в одном сегменте (например, 192.168.0.x), это работает мгновенно. Однако, если клиент подключен через Wi-Fi в другой подсети (например, 10.0.0.x) или через VPN (например, 192.168.99.x), широковещательный запрос просто не дойдет до сервера. Проанализируем способы принудительного указания адреса сервера лицензирования.
Для того чтобы клиент 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
Разберем, что именно мы настроили в этом примере:
NH_NETBIOS = Enabled в некоторых случаях (как у автора темы) помогает системе защиты корректно идентифицировать сервер через механизмы разрешения имен Windows, если IP-адресация работает нестабильно.UDP, в сложных VPN-сетях иногда имеет смысл попробовать переключить на TCP, если UDP-пакеты фрагментируются или блокируются сетевым экраном.Одной правки конфигурационного файла может быть недостаточно. Проанализируем ситуацию, с которой столкнулся автор темы: проблема решилась только после настройки зоны обратного просмотра на 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 выполним следующие шаги:
nethasp.ini, указав NH_SERVER_ADDR и отключив NH_USE_BROADCAST.