Как настроить систему защиты «1С-Рарус» (Катран) на виртуальной машине Hyper-V и исправить ошибку v8maket.dll

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

Развертывание отраслевых решений от компании «1С-Рарус» в виртуальной среде часто сопровождается серьезными трудностями. Особенно остро эта проблема встает при использовании гипервизора Microsoft Hyper-V и устаревших систем аппаратной защиты, таких как семейство ключей «Катран». При запуске программного продукта (например, популярной конфигурации «1С-Рарус: Торговый комплекс. Продовольственные товары 8» (ТКПТ)) администраторы регулярно сталкиваются с невозможностью загрузки внешней компоненты защиты v8maket.dll и сбоями при обращении к аппаратному USB-ключу.

В этой статье мы подробно разберем природу этих ошибок, выясним, почему аппаратная защита конфликтует с виртуализацией Hyper-V, и изучим пошаговый алгоритм обхода этих ограничений без покупки дорогостоящего стороннего программного обеспечения.

Что такое компонента v8maket.dll и почему она не загружается?

Внешняя компонента v8maket.dll представляет собой программное связующее звено (библиотеку) между технологической платформой «1С:Предприятие» и локальной или сетевой службой защиты «1С-Рарус». Название файла исторически связано с проектным наименованием конфигурации ТКПТ (внутреннее название «Макет»). Данный модуль отвечает за отправку запросов к серверу лицензирования, проверку подлинности сертификатов защиты и контроль сессий пользователей.

Давайте рассмотрим основные причины, по которым платформа «1С» может выдавать ошибку загрузки этого модуля или аварийно завершать работу:

  1. Несовместимость разрядности (32-bit против 64-bit): Это наиболее распространенная проблема. Большинство старых версий систем защиты от «1С-Рарус» (особенно поставлявшихся на физических дисках вместе со старыми релизами) используют строго 32-разрядную версию библиотеки v8maket.dll. Если вы пытаетесь запустить информационную базу через 64-битный клиент «1С:Предприятия», платформа физически не сможет загрузить 32-битную DLL. В результате мастер настройки защиты зависает или выдает критическую ошибку.
  2. Отсутствие прав доступа (UAC и права Администратора): При первом запуске конфигурации вызывается специализированная утилита настройки (например, RarusFirstStartSetup.exe), которая распаковывает компоненты защиты в системные папки (обычно в каталог C:\ProgramData\Protect\LocalProtect\) и регистрирует их в реестре Windows. Если у пользователя нет полных прав локального администратора или активен контроль учетных записей (UAC), процесс регистрации завершается неудачно.
  3. Повреждение службы WMI: Вспомогательные утилиты защиты (такие как SUv8.exe) активно используют инструментарий управления Windows (WMI). Если эта служба в операционной системе работает некорректно, система защиты не сможет проверить параметры окружения и аварийно завершит работу с ошибкой доступа к памяти (Access Violation).

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


Попытка
    ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаЗащиты", "RarusProtect", МетодПодключенияВнешнейКомпоненты.СистемныйРеестр);
    ЗащитаОбъект = Новый ("AddIn.RarusProtect.v8maket");
Исключение
    ЗаписьЖурналаРегистрации("Защита Рарус", УровеньЖурналаРегистрации.Ошибка,,, "Не удалось загрузить v8maket.dll: " + ОписаниеОшибки());
    ВызватьИсключение "Ошибка инициализации системы защиты! Убедитесь, что используется 32-разрядный клиент 1С.";
КонецПопытки;

Проблема работы ключей «Катран» на гипервизоре Hyper-V

Специфика гипервизора Microsoft Hyper-V заключается в том, что он, в отличие от VMware ESXi или Proxmox VE, не поддерживает штатную функцию сквозного проброса локальных физических USB-устройств (USB Passthrough) с хост-машины внутрь гостевой виртуальной машины. Физический USB-ключ защиты «Катран», вставленный в разъем сервера, гостевая операционная система внутри Hyper-V просто не увидит.

Для решения этой проблемы системные администраторы часто используют внешние программные эмуляторы или USB-over-IP концентраторы. Однако такие методы являются нестабильными, требуют дополнительных финансовых затрат и часто приводят к падению службы лицензирования 1С из-за микроразрывов сетевого соединения. Но существует гораздо более надежное, бесплатное и элегантное архитектурное решение.

Пошаговый алгоритм настройки защиты Рарус на Hyper-V без проброса USB

Давайте разберем наиболее надежный способ организации защиты. Вместо того чтобы пытаться пробросить USB-ключ внутрь виртуальной машины с помощью стороннего софта, мы развернем сервер лицензирования (LicServer) непосредственно на хост-системе (физическом сервере под управлением Windows Server / Windows Enterprise, где запущен гипервизор), а гостевую ОС настроим на работу с ним по локальной сети.

Шаг 1. Подготовка физического хоста (гипервизора)

Поскольку физический хост работает под управлением полноценной ОС Windows, на нем без проблем запустятся низкоуровневые драйверы защиты. Выполним следующие действия:

  1. Подключите физический USB-ключ «Катран» в свободный USB-порт сервера-гипервизора.
  2. Установите на хост-системе драйверы ключа защиты защиты и сервер лицензирования «1С-Рарус» из официального дистрибутива (папка Protect на установочном диске или официальный пакет обновлений защиты от техподдержки).
  3. Убедитесь, что служба сервера защиты (например, LicServer или служба Катран) успешно запустилась и находится в статусе «Работает» (Running).
  4. Откройте консоль управления сервером лицензирования (обычно доступна в браузере по адресу http://localhost:11998 или http://localhost:9099 в зависимости от версии СЛК) и убедитесь, что ваш аппаратный ключ успешно определился системой и лицензии активны.

Шаг 2. Настройка сетевых экранов (Firewall)

Для того чтобы виртуальная машина могла свободно общаться с сервером лицензирования на хосте, нам необходимо открыть сетевые порты. По умолчанию система защиты использует следующие порты:

Создайте входящее правило брандмауэра на физическом хосте, разрешающее трафик по указанным портам для IP-адреса вашей виртуальной машины.

Шаг 3. Настройка гостевой виртуальной машины (клиентской части)

Теперь перейдем к настройке окружения внутри гостевой ОС, где развернута база 1С:

  1. Обязательно установите на рабочие места (или на сервер терминалов внутри виртуальной машины) 32-разрядный клиент «1С:Предприятие 8.3». Даже если серверная часть 1С работает в 64-битном режиме, пользователи должны запускать базу через 32-битное клиентское приложение, чтобы библиотека v8maket.dll смогла успешно инициализироваться в адресном пространстве процесса.
  2. Запустите конфигурацию «1С» от имени администратора. При первом старте запустится «Мастер настройки системы защиты».
  3. В окне настроек подключения укажите, что сервер защиты расположен на удаленном компьютере, и введите локальный IP-адрес физического хоста-гипервизора (например, 192.168.1.100), а также соответствующий порт (11999).
  4. Мастер настройки запишет эти параметры в файл конфигурации защиты. Обычно этот файл называется config.xml или protect.cfg и располагается в папке общего доступа защиты. Проанализируем пример структуры такого файла конфигурации:

<?xml version="1.0" encoding="UTF-8"?>
<ProtectSettings>
    <Connection>
        <Host>192.168.1.100</Host>
        <Port>11999</Port>
        <Timeout>30</Timeout>
    </Connection>
    <Trace>
        <Level>0</Level>
    </Trace>
</ProtectSettings>

После сохранения настроек перезапустите клиентское приложение 1С. Платформа успешно загрузит 32-битную внешнюю компоненту v8maket.dll, которая, в свою очередь, через сетевой сокет обратится к физическому серверу-гипервизору, опросит ключ «Катран» и предоставит сессии пользователя необходимую лицензию.

Решение проблемы с аварийным завершением работы (Access Violation)

Если после перехода на 32-битный клиент и настройки сетевого пути к серверу лицензий программа «1С» продолжает вылетать с ошибкой нарушения прав доступа (Access Violation по адресу 0x000... в модуле v8maket.dll), это говорит о конфликте версий сертификатов защиты.

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

  1. Полностью закройте все сессии «1С».
  2. Остановите службу локальной защиты на клиентском компьютере (если она была установлена ошибочно).
  3. Перейдите в каталог C:\ProgramData\Protect\LocalProtect\ и полностью удалите все временные файлы, а также файлы сертификатов с расширением *.lic или *.pem (предварительно сделав их резервную копию).
  4. Обратитесь в техническую поддержку компании «1С-Рарус» для получения актуального обновления драйверов защиты, совместимого с вашим релизом платформы «1С:Предприятие 8.3». Дело в том, что старые компоненты защиты не умеют работать с новыми механизмами безопасности современных операционных систем семейства Windows Server 2019 / 2022 и требуют обязательного обновления бинарных файлов защиты.

Таким образом, мы рассмотрели полный цикл диагностики и устранения проблем с защитой продуктов «1С-Рарус» на виртуальных платформах Microsoft Hyper-V. Использование схемы с выносом сервера лицензирования на физический хост позволяет гарантировать стабильную работу системы и полностью исключает риски внезапного отключения USB-ключей в виртуальной среде.

← На главную