Как 1С серверу получить клиентские лицензии с удаленного компьютера, подключенного через VPN?

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

Рассмотрим подробно проблему, с которой сталкивается автор, а именно – возможность настройки сервера 1С:Предприятия 8 таким образом, чтобы он мог «забирать» клиентские лицензии с удаленной рабочей машины, подключенной через VPN, в случае, если все серверные лицензии заняты. Мы проанализируем принципы работы лицензирования 1С, разберем различия между программными и аппаратными лицензиями, а также выясним, какие методы централизованного управления лицензиями существуют и почему предложенная автором схема напрямую неработоспособна.

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

Принципы работы программных лицензий 1С:Предприятия 8

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

  1. Привязка к компьютеру: Программная лицензия 1С активируется и жестко привязывается к уникальным параметрам конкретного компьютера, на котором она была установлена. В число таких параметров входят:
    • Сетевое имя компьютера;
    • Объем оперативной памяти;
    • Модель материнской платы и тип BIOS;
    • Список жестких дисков и их серийные номера;
    • Сетевые адаптеры и их MAC-адреса;
    • Параметры процессоров.

    Любое значительное изменение этих параметров (например, замена материнской платы, процессора, или установка нового жесткого диска) может привести к тому, что лицензия "слетит", и потребуется повторная активация с использованием резервного пин-кода. Это создает определенные неудобства при обновлении оборудования, но обеспечивает защиту от несанкционированного копирования.

  2. Локальное использование: Однопользовательская программная лицензия, будучи активированной на клиентском компьютере, предназначена исключительно для использования на этом конкретном компьютере. Она позволяет запускать с него любое количество сеансов с базами 1С:Предприятия (будь то файловые или клиент-серверные базы). Ключевой момент здесь — использование происходит локально на машине, где лицензия активирована.
  3. Отсутствие сетевой раздачи: В отличие от аппаратных ключей защиты (USB-ключи HASP), для которых существует специальный менеджер лицензий
    
    HASP License Manager
    
    , позволяющий раздавать лицензии по сети, программные лицензии не имеют подобного механизма. Сервер 1С не может напрямую получить программную лицензию с другого ПК, если этот ПК не является частью кластера серверов 1С и не выполняет функцию сервиса лицензирования. Этот факт является ключевым ответом на основной вопрос автора. Ваш компьютер, даже подключенный через VPN, является обычным клиентским компьютером, а не сервисом лицензирования, способным раздавать программные лицензии другим серверам.

Алгоритм поиска лицензий клиентским приложением 1С

Чтобы понять, почему у автора создалось впечатление, что сервер "забирает" его лицензии, необходимо рассмотреть, как клиентское приложение 1С:Предприятия ищет доступные лицензии при своем запуске:

  1. Поиск по последнему успешному подключению: В первую очередь клиентское приложение пытается получить лицензию того типа (файл или ключ HASP), которая использовалась при последнем успешном подключении.
  2. Поиск локальных программных лицензий: Затем выполняется поиск программных лицензий, активированных непосредственно на локальном компьютере пользователя.
  3. Поиск локального ключа HASP: После этого ищет физический USB-ключ HASP, подключенный к локальному компьютеру.
  4. Поиск сетевого ключа HASP: И только если предыдущие шаги не дали результата, клиентское приложение обращается к сети для поиска многопользовательского ключа HASP, который доступен через
    
    HASP License Manager
    
    .
  5. Обращение к серверу 1С:Предприятия: Если ни один из вышеперечисленных способов не дал результата (нет локальных лицензий, нет доступных сетевых HASP-ключей), только тогда клиентское приложение обращается к серверу 1С:Предприятия за клиентской лицензией. Если на сервере есть свободные лицензии, он выдает одну клиенту.

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

Различия между Веб-клиентом и Тонким клиентом 1С

Важным аспектом, который часто вызывает путаницу, является различие между веб-клиентом и тонким клиентом 1С, особенно когда база опубликована на веб-сервере. Автор упомянул: "подключаюсь чз VPN, далее чз 1С:Платформу, чз Веб клиент запускаю 1С". Разберем это подробнее:

  1. Тонкий клиент 1С:Предприятия: Это полноценное клиентское приложение 1С, установленное на рабочем компьютере пользователя. Оно может подключаться к базе данных по протоколам HTTP/HTTPS (если база опубликована на веб-сервере) или TCP/IP (напрямую к серверу 1С:Предприятия). Тонкий клиент 1С способен:
    • Использовать локальные программные лицензии, активированные на компьютере пользователя.
    • Использовать локальные ключи HASP.
    • Использовать сетевые ключи HASP (через
      
      HASP License Manager
      
      ).
    • Получать лицензии от сервера 1С:Предприятия.

    Именно в случае использования тонкого клиента 1С, подключенного по HTTP к опубликованной базе, клиентская часть может и будет использовать свои локальные лицензии, если они у нее есть.

  2. Веб-клиент (браузер): Это работа с 1С через обычный интернет-браузер (например, Chrome, Firefox). В этом режиме на компьютере пользователя не установлено клиентское приложение 1С. Все операции выполняются на стороне веб-сервера и сервера 1С:Предприятия, а в браузер передается только интерфейс. Веб-клиент не может:
    • Использовать локальные программные лицензии пользователя.
    • Использовать локальные или сетевые ключи HASP.

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

Получение лицензий через VPN: Аппаратные ключи vs Программные лицензии

Возможность получения лицензий через VPN различается для аппаратных и программных ключей:

  1. Аппаратные ключи (HASP):

    Теоретически, аппаратные ключи HASP можно "пробросить" через VPN. Для этого на сервере, к которому подключен USB-ключ HASP, должен быть установлен и запущен

    
    HASP License Manager
    
    . Клиентские машины, подключенные по VPN, могут быть настроены (например, через файл
    
    hasp.ini
    
    или прямое указание IP-адреса) для обращения к этому
    
    HASP License Manager
    
    по VPN-туннелю. Это требует корректной настройки VPN, обеспечения стабильности и доступности сети.

  2. Программные лицензии:

    Как мы уже выяснили, передача программных лицензий по VPN для использования на другом компьютере напрямую невозможна. Они привязаны к конкретному оборудованию. Ваш компьютер, подключенный через VPN, не является "сервисом раздачи программных лицензий" для 1С сервера.

Централизованное управление программными лицензиями: Сервис лицензирования в кластере 1С

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

  1. Назначение и цель:

    В клиент-серверном варианте работы, вы можете поднять отдельный сервер 1С:Предприятия и назначить ему функциональность "Сервис лицензирования". Этот сервер будет отвечать за хранение и выдачу программных лицензий для всех рабочих серверов в кластере. Это позволяет:

    • Избежать потери лицензий: При изменении конфигурации основного сервера 1С или его переустановке, лицензии, активированные на отдельном сервере лицензирования, не слетят.
    • Централизовать управление: Все программные лицензии будут храниться в одном месте, что упрощает их учет и администрирование.
    • Эффективно использовать лицензии: Сервер лицензирования будет выдавать лицензии по запросу рабочим серверам, обеспечивая их оптимальное распределение.

  2. Ограничения:
    • Только для клиент-серверных баз: Сервис лицензирования работает только в клиент-серверном варианте 1С:Предприятия и не поддерживает файловые информационные базы.
    • Только лицензии ПРОФ или КОРП: Этот механизм предназначен для многопользовательских программных лицензий уровня ПРОФ или КОРП.
  3. Настройка (общие шаги):

    Для реализации такой схемы вам потребуется:

    1. Установить сервер 1С:Предприятия на обе машины: на основной сервер 1С и на выделенный сервер, который будет выполнять роль лицензионного сервера.
    2. Создать кластер серверов 1С:Предприятия.
    3. Добавить оба сервера в этот кластер как рабочие серверы.
    4. Для выделенного сервера назначить функциональность "Сервис лицензирования" в настройках кластера.
    5. Для остальных рабочих серверов кластера назначить функциональность "Клиентское соединение с ИБ".

  4. VPN и кластер – не рекомендуется:

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

    • Стабильность и производительность: Кластер серверов 1С требует высокоскоростного и стабильного соединения между его узлами. VPN-соединение, особенно через интернет, по своей природе менее надежно и обладает большей задержкой, чем локальная сеть. Это может привести к нестабильной работе кластера, зависаниям и потере лицензий.
    • Безопасность: Хотя VPN обеспечивает шифрование, расширение внутреннего кластера за пределы физической локальной сети всегда сопряжено с дополнительными рисками безопасности.
    • Поддержка: Такая нестандартная схема работы кластера, скорее всего, не будет поддерживаться вендором и может создать серьезные трудности при диагностике проблем.

Лицензии КОРП и расширенные возможности

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

  1. Масштабирование и управление нагрузкой:

    Лицензии КОРП необходимы, если в информационных базах предполагается более 500 одновременных сеансов пользователей или используются более 12 ядер процессора для работы сервера 1С. Они позволяют более гибко управлять нагрузкой в кластере, распределять сеансы по рабочим серверам, используя различные стратегии балансировки.

  2. Фоновое обновление конфигурации:

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

  3. Дополнительное управление распределением по рабочим серверам:

    Тонкая настройка распределения функциональности (например, фоновые задания, регламентные задания) между рабочими серверами кластера.

  4. Внешнее управление сеансами:

    Дополнительные механизмы для управления активными пользовательскими сеансами.

Для использования этих возможностей требуются не только клиентские лицензии уровня КОРП, но и лицензия на сервер 1С:Предприятия уровня КОРП.

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

Помимо технических ограничений, существуют и юридические:

  1. Лицензионное соглашение: Каждое рабочее место, с которого осуществляется доступ к данным информационной базы 1С:Предприятия 8, должно быть обеспечено отдельной клиентской лицензией.
  2. Невозможность сдачи в аренду: Сдавать принадлежащие вам лицензии 1С в аренду третьим лицам или использовать свои NFR-лицензии для обеспечения работы клиентских пользователей в производственной среде напрямую запрещено лицензионным соглашением. NFR-лицензии (Not For Resale) предназначены для использования партнерами 1С в демонстрационных, обучающих или внутренних целях, но не для обеспечения работы конечных пользователей.

Учитывая все вышеизложенное, можно сделать следующие выводы и дать рекомендации:

  1. Решение проблемы с "зависающими сеансами": Если основная причина нехватки лицензий заключается в "зависающих сеансах", которые не освобождают лицензии, то в первую очередь необходимо решать эту проблему на уровне веб-сервера (IIS) и сервера 1С. Анализируйте логи, оптимизируйте настройки веб-сервера, кластера 1С, настройте правильное завершение сеансов.
  2. Централизация лицензий: Предпочтительным и наиболее стабильным решением для клиент-серверного варианта является перенос всех многопользовательских программных лицензий на основной сервер 1С:Предприятия или на выделенный сервер с функциональностью "Сервис лицензирования" в рамках одного, физически объединенного кластера. Это обеспечит централизованное управление, эффективное использование и минимизацию проблем с "слетанием" лицензий.
  3. Терминальный сервер (RDP): Для удаленных пользователей, работающих через VPN, наиболее стабильным и управляемым решением является подключение через терминальный сервер (например, RDP). На таком сервере можно централизованно активировать многопользовательские лицензии. В этом случае одна лицензия будет выдаваться на каждую терминальную сессию, независимо от количества запущенных информационных баз в рамках этой сессии. Это также позволяет более эффективно контролировать и завершать "зависшие" сеансы.
  4. Веб-клиент vs. Тонкий клиент: Еще раз подчеркнем, что если пользователи работают через веб-клиент (браузер), то лицензии должны быть активированы на сервере. Если используется тонкий клиент 1С, он может использовать как серверные, так и свои локальные лицензии.
  5. Нестандартные схемы: Попытки настроить "раздачу" лицензий с удаленного ПК через VPN или объединять разноудаленные машины в кластер ради лицензирования сопряжены с высокими рисками нестабильности, проблемами с производительностью, сложностью администрирования и потенциальными нарушениями лицензионных соглашений.

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

← На главную