Как настроить получение сетевой лицензии 1С через Kerio Control VPN Client?

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

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

В данной статье мы подробно разберем, как правильно настроить систему для трансляции сетевых аппаратных лицензий через Kerio Control VPN Client, рассмотрим синтаксис конфигурационных файлов, настроим брандмауэр и проанализируем возможные сетевые проблемы, такие как ограничения MTU и маршрутизация.

Различие между типами лицензий в контексте удаленной работы

Прежде чем переходить к настройке, проанализируем исходные данные. В локальной сети компании могут присутствовать два типа лицензий:

  1. Программные (файловые) лицензии. Такие лицензии привязываются к конкретным параметрам компьютера (материнская плата, процессор, сетевая карта, операционная система), на котором они были активированы. Если файлы лицензий установлены локально на сервере 192.168.0.45 для терминальных сессий (RDP), получить их напрямую на удаленном компьютере через VPN невозможно. Программная лицензия «не умеет» раздаваться по сети силами самого клиента 1С при файловом подключении.
  2. Аппаратные сетевые ключи (HASP USB). Эти ключи вставляются в USB-порт сервера (например, 192.168.0.40), а специальная служба — HASP License Manager — занимается их раздачей по локальной сети. Именно этот тип лицензий можно и нужно транслировать удаленным пользователям, подключенным по VPN.

Выясним, как заставить локальный ПК удаленного пользователя увидеть аппаратный ключ на сервере 192.168.0.40 через Kerio VPN.

Шаг 1. Настройка конфигурационного файла nethasp.ini на клиенте

По умолчанию платформа 1С:Предприятие пытается найти менеджер лицензий HASP с помощью широковещательных (broadcast) запросов по сети. Однако широковещательные пакеты не проходят через VPN-туннели, поскольку виртуальная сеть клиента и физическая локальная сеть офиса представляют собой разные подсети (например, сеть VPN-клиентов — 10.10.10.0/24, а локальная сеть — 192.168.0.0/24).

Чтобы клиент 1С отправлял направленный (unicast) запрос непосредственно на сервер лицензирования 192.168.0.40, необходимо отредактировать конфигурационный файл nethasp.ini на компьютере удаленного пользователя.

Выполним следующие действия по шагам:

  1. Перейдем в каталог установленной платформы 1С на клиентском компьютере. Путь зависит от разрядности операционной системы и версии платформы:
    • Для 32-битного клиента на 64-битной ОС: %ProgramFiles(x86)%\1cv8\conf\ или в папку конкретного релиза, например, %ProgramFiles(x86)%\1cv8\8.3.XX.XXXX\conf\.
    • Для 64-битного клиента: %ProgramFiles%\1cv8\conf\.
  2. Найдем файл nethasp.ini. Если его там нет, создадим обычный текстовый файл с таким именем.
  3. Откроем файл текстовым редактором (например, Блокнотом от имени Администратора) и приведем его к следующему виду:

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

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.40
NH_USE_BROADCAST = Disabled

Разберем подробнее параметры, которые мы указали в файле:

Шаг 2. Настройка правил трафика в Kerio Control

Даже при правильной настройке файла nethasp.ini на стороне клиента, брандмауэр Kerio Control на стороне офиса может блокировать прохождение пакетов авторизации. Менеджер лицензий HASP по умолчанию принимает запросы по протоколу UDP на порт 475. Обратите внимание, что даже если в секции настроек указано [NH_TCPIP], реальный обмен данными между защитой 1С и менеджером лицензий происходит именно по UDP.

Для настройки доступа системному администратору со стороны офиса необходимо создать соответствующее правило в консоли Kerio Control:

  1. Откроем консоль администрирования Kerio Control и перейдем в раздел Правила трафика (Traffic Rules).
  2. Добавим новое правило со следующими параметрами:
    • Название: Доступ к HASP License Manager.
    • Источник (Source): «VPN-клиенты» (VPN Clients) или конкретный IP-адрес удаленного сотрудника из пула VPN.
    • Назначение (Destination): IP-адрес сервера с ключом (в нашем случае — 192.168.0.40).
    • Служба (Service): Создадим новую службу или выберем существующую с портами 475 UDP. Дополнительно, если используются современные ключи Sentinel LDK, рекомендуется открыть порт 1947 (TCP и UDP).
    • Действие (Action): Разрешить (Allow).
    • Трансляция (NAT): Выключена. Трансляцию адресов (NAT) включать не нужно, так как менеджер лицензий должен прозрачно видеть IP-адрес обратившегося клиента для корректного ведения сессий.
  3. Применим изменения.

Шаг 3. Диагностика соединения и устранение неполадок

Если после выполнения шагов 1 и 2 программа 1С по-прежнему выдает ошибку «Ключ защиты не найден», проведем диагностику сетевого соединения по шагам:

  1. Проверка маршрутизации. На удаленном компьютере запустим командную строку и выполним команду: ping 192.168.0.40 Если пинг не проходит, проблема в маршрутах Kerio Control. Убедитесь, что клиент получает IP-адрес из пула VPN и трафик между VPN-сетью и LAN-сетью разрешен политиками маршрутизации.
  2. Проверка доступности порта 475 UDP. Поскольку стандартный ping использует протокол ICMP, успешный пинг не гарантирует доступность нужного порта. Проверить доступность UDP-порта можно с помощью утилиты PortQry от Microsoft или аналогичных сканеров портов. Выполним в командной строке: portqry -n 192.168.0.40 -p udp -e 475 Статус должен быть LISTENING или FILTERED (в зависимости от настроек брандмауэра на самом сервере лицензирования).
  3. Анализ брандмауэра Windows на сервере 192.168.0.40. Убедимся, что встроенный брандмауэр Windows на сервере лицензирования разрешает входящие подключения по порту 475 UDP для службы nhsrvice.exe (HASP Loader). При необходимости создадим разрешающее правило для входящих подключений.

Проблема MTU и фрагментации UDP-пакетов

Специфическая проблема, с которой часто сталкиваются администраторы при работе HASP через VPN — периодические «отвалы» лицензии в процессе работы 1С. Пользователь может успешно запустить программу, но через некоторое время получить аварийное завершение работы с ошибкой потери ключа.

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

Если размер кадра превышает стандартное значение MTU (Maximum Transmission Unit) провайдера или виртуального адаптера Kerio Virtual Network (обычно это 1500 байт), пакет начинает фрагментироваться на стороне отправителя. Многие промежуточные роутеры или правила безопасности на шлюзе офиса настроены на автоматический сброс фрагментированных UDP-пакетов в целях безопасности. Как результат — лицензия теряется.

Для решения этой проблемы настроим оптимальный размер MTU на виртуальном адаптере удаленного пользователя:

  1. На клиентском ПК откроем список сетевых подключений. Найдем адаптер Kerio Virtual Network.
  2. Запустим командную строку от имени Администратора и проверим текущее значение MTU: netsh interface ipv4 show subinterfaces
  3. Уменьшим значение MTU для адаптера Kerio до 1300 или 1350 байт (это гарантирует отсутствие фрагментации):
    
    netsh interface ipv4 set subinterface "Kerio Virtual Network" mtu=1350 store=persistent
    
  4. Перезапустим VPN-соединение и проверим стабильность работы 1С.

Альтернатива: Работа через веб-сервер (IIS/Apache) для программных лицензий

Что делать, если на сервере 192.168.0.45 установлены именно программные (файловые) многопользовательские лицензии, и вы не можете раздать их через HASP LM? Есть отличное архитектурное решение — публикация базы данных на веб-сервере.

Рассмотрим эту схему:

  1. На сервере 192.168.0.45 разворачивается веб-сервер (Microsoft IIS или Apache).
  2. Файловая база 1С публикуется на веб-сервере.
  3. Удаленный пользователь подключается к базе через Тонкий клиент 1С или через обычный веб-браузер по адресу вида http://192.168.0.45/MyBase (подключение идет через VPN-канал).
  4. При такой топологии запуск сессий и подсчет лицензий происходит непосредственно на стороне веб-сервера. Веб-сервер сам забирает программные лицензии, установленные на сервере 192.168.0.45, и передает удаленному пользователю уже готовый сеанс работы. На ПК пользователя никакие файлы лицензий и драйверы защиты ставить не требуется.

Этот способ является наиболее современным, быстрым и стабильным при работе через VPN-каналы с низкой пропускной способностью.

← На главную