Как подключиться к сетевому ключу защиты HASP 1С 7.7 через Интернет

Системный администратор 1С v7.7 IT и автоматизация бизнеса
← На главную

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

Сетевые особенности поиска ключа защиты в 1С 7.7

По умолчанию клиентское приложение 1С 7.7 выполняет поиск сетевого менеджера лицензий HASP License Manager с помощью широковещательных рассылок (Broadcast-пакетов) в локальном сегменте сети. Широковещательные пакеты не могут проходить через маршрутизаторы в глобальную сеть Интернет. Из-за этого при прямом запуске программы на удаленном компьютере ключ защиты автоматически найден не будет.

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

Разберем параметры файла nethasp.ini для принудительного обращения к серверу лицензий по протоколу TCP/IP:


[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_USE_BROADCAST = Disabled
NH_SERVER_ADDR = 198.51.100.1
NH_PORT_NUMBER = 475
NH_TCPIP_METHOD = UDP
NH_SESSION = 30
NH_SEND_RCV = 5

Проанализируем ключевые параметры данной конфигурации:

  1. NH_USE_BROADCAST = Disabled — отключает безадресный опрос локальной сети, ускоряя запуск и исключая зависание при поиске.
  2. NH_SERVER_ADDR — указывает белый статический IP-адрес модема или маршрутизатора компании.
  3. NH_PORT_NUMBER = 475 — стандартный порт работы службы HASP License Manager (требуется проброс портов TCP и UDP 475 на сетевом оборудовании).
  4. NH_TCPIP_METHOD = UDP — предпочтительный метод передачи пакетов для старых версий HASP API.
  5. NH_SESSION и NH_SEND_RCV — увеличенные таймауты сетевых сессий, позволяющие сгладить кратковременные сетевые задержки.

Проблема маршрутизации при отсутствии шлюза по умолчанию

Если на сервере с ключом защиты в целях безопасности не задан основной шлюз (Default Gateway), стандартный проброс портов (DNAT) на внешнем маршрутизаторе работать не сможет. Входящий пакет от удаленного клиента поступит на сервер, но сервер не сможет отправить ответ обратно, так как внешний IP-адрес отправителя находится вне локальной подсети.

Рассмотрим способы решения этой проблемы:

  1. Использование Source NAT (SNAT) или обратного прокси: если проброс порта настраивается через промежуточный хост (вторичный сервер) или функциональный маршрутизатор с подменой адреса источника, пакеты поступают на сервер лицензий от имени локального IP-адреса. В этом случае сервер успешно отправляет ответы внутри локальной сети без наличия внешнего маршрута.
  2. Блокировка на уровне брандмауэра: на сервере прописывается шлюз по умолчанию, но с помощью Windows Firewall создаются правила, полностью запрещающие исходящие подключения в глобальную сеть, кроме локальной подсети и ответов на запросы менеджера лицензий по порту 475.

Риски работы с ключом и базой через мобильные каналы (3G/4G)

Платформа 1С 7.7 регулярно опрашивает ключ защиты во время работы сеанса. При использовании нестабильного беспроводного интернета (3G/4G) возможны кратковременные потери пакетов. Если программа не получает ответ от менеджера лицензий в течение заданного таймаута, сеанс аварийно завершается с сообщением «Ключ защиты программы не обнаружен».

Кроме того, если удаленный клиент подключается к файловой базе данных (DBF) через VPN или общий сетевой ресурс, любой разрыв связи неминуемо приведет к повреждению таблиц базы данных и индексных файлов .cdx.

Рекомендуемые архитектурные решения

Для надежной и безопасной работы удаленных пользователей в 1С 7.7 оптимально использовать следующие подходы:

  1. Терминальный сервер (RDP / RemoteApp):

    Удаленные пользователи подключаются по RDP к серверу терминалов, находящемуся в одной локальной сети с сервером лицензий. В этом случае клиент 1С запускается непосредственно на терминальном сервере, опрос ключа и работа с базой происходят внутри локальной сети на высокой скорости. При кратковременном обрыве интернет-канала сессия пользователя просто остается активной и база не повреждается.

  2. Управление распределенными информационными базами (УРБД):

    На удаленной точке разворачивается локальная информационная база, работающая автономно. Синхронизация данных с центральным узлом осуществляется пакетами обмена по расписанию (через FTP, сетевую папку или электронную почту). В этом случае постоянное соединение с офисным ключом защиты не требуется.

Таким образом, прямой опрос сетевого ключа через интернет технически реализуем с помощью настройки nethasp.ini и проброса порта 475, однако для стабильной и безопасной работы рекомендуется использовать терминальный доступ RDP или распределенную архитектуру данных.

← На главную