Лекарство HASPEMUL 4.2 от 26.12.2023
pass. ruboard
Удобная, быстрая, компактная и легкоразвёртываемая на всех основных гипервизорах виртуальная машина, предназначенная для раздачи эмулированных USB-ключей (изначально от продуктов 1С), создана на базе Debian 10 x86. Ключи могут быть прокинуты в том числе на Windows. Поставляется в виде полностью готовых к использованию образов виртуального диска.
Изменения в 4.2
- панель управления: изменена папка загрузки/выгрузки данных
- панель управления: автоматическое создание папки загрузки/выгрузки данных
Пользователи ВМ: ruboard/ruboard, root/ruboard
Внутри набор дампов ключей для 1С:
- серверные x86, x64
- клиентские на 1,5,10,20,50,100,300,500
По умолчанию активны 2 ключа: x64 и Net-100
Все настройки выполняются через Панель управления
Панель управления запускается при входе в систему или "sudo control" из командной строки
Знания линукс не обязательны
Потребление памяти:
- до Оптимизации памяти HASPEMUL рекомендуется запускать на не менее 256 Мб (для версии 1 - 384 Мб)
- после выполнения Оптимизации памяти объем оперативной памяти может быть понижен до 128 Мб и ниже (для версии 1 - 256 Мб)
Оптимизация памяти запускается из Панели управления. Более точно количество используемой памяти подбирается в зависимости от используемого гипервизора.
Размер занимаемого места на диске зависит от версии и формата виртуального диска от 600 Мб до 2 Гб (для версии 1 от 900 Мб до 4 Гб).
Рекомендуемые образы для разных гипервизоров и особенности их настройки.
Рекомендуемые образы для разных гипервизоров:
- VirtualBox - OVA*, VHD, VMDK
- Hyper-V - VHD
- VMware - OVA*, VMDK
- Proxmox/QEMU/KVM - QCOW2
*OVA это не только образ виртуального диска, но и готовые настройки ВМ. Импортируется на VirtualBox, VMware WS, VMware ESXi
VMDK можно извлечь из OVA с помощью архиватора
VHD, QCOW2 можно получить сконвертировав VMDK с помощью конвертера StarWind V2V Converter
Как сделать VHD для Hyper-V на Windows
1. Распаковать файл OVA с помощью 7-Zip
2. Конвертировать VMDK -> VHD с помощью StarWind V2V Converter
Как сделать QCOW2 для Proxmox/QEMU/KVM на Linux
1. Распаковать файл OVA
# tar -xvf haspemul.ova
2. Конвертировать VMDK -> QCOW с помощью qemu-img
# qemu-img convert -f vmdk -O qcow2 haspemul-disk001.vmdk haspemul-disk001.qcow2
Особенности настройки на некоторых гипервизорах:
- VirtualBox на Win11 - установить 2 процессора
- Hyper-V - Поколение 1 + виртуальных процессоров 1
Настройка HASPEMUL Порядок настройки в клиент-серверном режиме:
1. На сервер 1С нужно прокинуть 2 ключа (серверный и клиентский) с помощью USB Redirector или VirtualHere
2. Установить драйвера на появившиеся USB устройства, если не встали (Установка драйвера защиты)
3. После установки драйвера защиты может потребоваться перезагрузка компьютера
4. На сервере включить "Разрешить выдачу лицензий сервером 1С: Предприятия" в настройках Информационной базы.
5. В настройках клиента 1С (где запускается 1С) отключить "Использовать аппаратную лицензию (ключ защиты)"
Порядок настройки в файловом режиме (вариант 1):
*только для локальных компьютеров (по RDP работать не будет)
1. Прокинуть только 1 клиентский ключ с помощью USB Redirector или VirtualHere
2. Установить драйвера на появившиеся USB устройства, если не встали (Установка драйвера защиты)
3. После установки драйвера защиты может потребоваться перезагрузка компьютера
4. В настройках клиента 1С (где запускается 1С) включить "Использовать аппаратную лицензию (ключ защиты)"
Порядок настройки в файловом режиме (вариант 2):
*работает по RDP, но только с сетевыми ключами
1. На виртуальной машине положить клиентский ключ в контейнер и включить HASP LM
2. Настроить nethasp.ini на клиенте 1С (где запускается 1С) с указанием ip адреса виртуальной машины
3. В настройках клиента 1С (где запускается 1С) включить "Использовать аппаратную лицензию (ключ защиты)"
Настройки HASPEMUL:
1. Подключение к ВМ и авторизация
Подключиться к ВМ можно непосредственно через окно ВМ на гипервизоре, так и удаленно через протокол SSH.
При первом запуске подключаемся через окно ВМ на гипервизоре. Вводим логин и пароль пользователя "ruboard".
После авторизации появится меню Панели управления ВМ.
После настройки сети к ВМ можно также подключаться удаленно через SSH, для чего можно использовать connect.bat или бесплатную утилиту PuTTY.
2. Настройка сети (соответствующий раздел в Панели управления)
Напротив сетевого устройства отображается IP-адрес ВМ. При первом входе адрес может не отображаться, т.к. сеть ещё не настроена.
а) Настройка DHCP. Получать IP-адрес автоматически от DHCP-сервера. Например, ВМ может получить IP-адрес от роутера.
б) Настройка static (Статический адрес). Настроить сетевые настройки вручную с указанием постоянного IP-адреса.
Статический адрес указывается в формате CIDR - XXX.XXX.XXX.XXX/XX (подробную информацию можно найти в интернете)
Если не знаете как настраивается статический адрес, попробуйте для начала использовать DHCP.
Имейте ввиду, что IP-адрес, полученный через DHCP, в дальнейшем может изменяться и это не всегда удобно.
3. Эмулятор (соответствующий раздел в Панели управления)
В данном разделе можно настроить свой набор дампов ключей из встроенного комплекта или своих.
Дампы ключей собираются в контейнеры, в каждый из которых можно положить до 7 штук.
Контейнеры запускаются на отдельных USB-шинах. Номера шин присваиваются в порядке запуска контейнеров.
Чтобы загрузить собственные дампы, их нужно предварительно положить в сетевую папку \\IP\ruboard (\\haspemul\ruboard)
или через SSH загрузить в папку /home/ruboard. Загружать дампы можно в двух форматах .reg и .json.
Дампы в формате .reg предварительно конвертируются в .json через встроенный конвертер reg2json.
4. HASP License Manager (соответствующий раздел в Панели управления)
Менеджер лицензий HASP LM выдаёт клиентские лицензии 1С по сети. Может быть использован для запуска с файловыми базами.
"Использование лицензий" отображает информацию о подключенном ключе к HASP LM и количестве занятых лицензий.
Через HASP LM могут передаваться:
- 1 ключ из серии ORGL8 (ключи net5, net10, net20, net50, net100)
- 1 ключ из серии ORG8A (net250+ ключ на 300 клиентов)
- 1 ключ из серии ORG8B (net250+ ключ на 500 клиентов)
Ключ в каждой серии выбирается случайный. Дампы, добавленные в USB Redirector, HASP LM не раздает.
5. VirtualHere & USB Redirector (соответствующие разделы в Панели управления)
Позволяют пробрасывать USB устройства с ВМ на любой другой компьютер. С помощью данных средств можно прокинуть сами USB-ключи.
В комплекте идут программы-клиенты под Windows.
Особенности:
- VirtualHere не требуется предварительной настройки на ВМ кроме активации (запускается при первой загрузке).
Лицензия VirtualHere включает пробрасывание до 63 USB-устройств. Все настройки выполняются на стороне клиента.
- USB Redirector требует предварительно настроить доступ к конкретным USB-устройствам.
Либо включить автоматический доступ, тогда ко всем USB-устройства будет сразу открываться доступ, кроме списка исключения.
К устройствам с открытым доступом закрывается доступ остальных программ, в том числе HASP LM, что удобно использовать для совместного их использования. Клиент USB Redirector укомплектован ключом на 10 подключений.
6. Сетевая папка (SMB) (соответствующий раздел в Панели управления)
Позволяет управлять сетевой папкой для загрузки дампов и обновлений ВМ.
!! Для доступа к сетевой папке с ОС Windows Server необходимо в настройках ВМ добавить пользователя с тем же логином и паролем, что и пользователь Windows Server.
7. Управление памятью (соответствующий раздел в Панели управления)
Отображает информацию о количестве используемой и свободной оперативной памяти.
Также есть возможность сократить количество используемой оперативной памяти за счет некоторой оптимизации.
Подробнее в инструкции "Как минимизировать количество используемой оперативной памяти".
8. В разделе Ещё управление Файерволом и другими настройками.
Как минимизировать количество используемой оперативной памяти Оптимизация используемой оперативной памяти:
1. Отключить все неиспользуемые службы
а) Отключить автозагрузку неиспользуемых контейнеров
б) Отключить автозагрузку, если не используются, HASP LM, VirtualHere, USB Redirector. Для запуске 1С на 1 компьютере достаточно только HASP LM.
в) Отключить автозагрузку Samba и отключить Сетевое обнаружение
г) Отключить файервол
2.Запустить "Оставить при загрузке только текущие модули устройств" в разделе "Оптимизация памяти" Панели управления Это позволит убрать лишние драйвера при загрузке ОС, но привяжет ОС к оборудованию ВМ.
3. а) Запустить "Использовать сжатие памяти" в разделе "Оптимизация памяти" Панели управления
Это создаст в половине оперативной памяти сжатый кэш.
б) Или дополнительно с помощью команд можно отключить такие службы как sshd, apparmor, cron, rsyslog
# sudo systemctl disable sshd
# sudo systemctl disable apparmor
# sudo systemctl disable cron
# sudo systemctl disable rsyslog
4. Теперь можно выключить ВМ и изменить количество оперативной памяти в настройках. После данных настроек ВМ на VirtualBox запускается на 64 Мб оперативной памяти и использует около 24 Мб.
5. Результат увидете сразу после перезагрузки.
Перезапуск HASP License Manager по расписанию:
Включить перезапуск HASP LM ежедневно в 0:10
$ echo "10 0 * * * root systemctl restart hasplm" | sudo tee /etc/cron.d/hasplm-restart
$ sudo systemctl restart cron
Отключить перезапуск HASP LM
$ sudo rm /etc/cron.d/hasplm-restart
$ sudo systemctl restart cron[/MORE]
Как включить КОРП 1С-сервер/отключить напоминания (Windows)
1. Остановить службу сервера (для 1С-сервера)
2. Переименовать techsys.dll в папке bin платформы. Например, в t.dll
3. Скопировать в bin techsys.dll от MIMO (v5)
4. Запустить 1С на сервере от имени Администратора
5. В появившемся окне указать путь к переименованной библиотеке (t.dll) и установить опции HASP 0, КОРП, deLIC, Следы.
6. Запустить службу сервера (для 1С-сервера)
Всё должно работать!
* не переименовывайте исходную библиотеку techsys.dll в techsys_N.dll, т.к. наличие этих файлов проверяется 1С
** начиная с 8.3.23 данный функционал не работает
Список кодов ошибок HASP License Manager
Warning=CODE в Журнале поиска ключа 1С
0 Операция выполнена успешно.
1 Протоколы IPX, NetBIOS или TCP/IP установлены неправильно. Действуй соответственно.
2 Ошибка связи. Не удалось получить номер сокета. Применяется к IPX и TCP/IP. Убедитесь, что протокол установлен правильно.
3 Ошибка связи.
- NetBIOS: невозможно установить сеанс. Убедитесь, что протокол установлен правильно.
- IPX: невозможно получить непосредственный адрес HASP License Manager. Убедитесь, что протокол установлен правильно.
- TCP/IP: невозможно подключиться к серверу. Убедитесь, что адрес сервера указан в INI-файле правильно.
4 HASP License Manager не найден. Проверьте, есть ли у вашего программного обеспечения путь и разрешение на чтение адресного файла.
5 Не удается прочитать адресный файл HASP License Manager.
6 Не удается закрыть адресный файл HASP License Manager.
7 Ошибка связи. Не удалось отправить пакет. Убедитесь, что протокол установлен правильно.
8 Нет ответа от HASP License Manager.IPX - Сеть занята или найдены некорректные адресные файлы. В последнем случае удалите все копии файлов HASPADDR.DAT и NEWHADDR.DAT. NetBIOS — сеть занята. TCP/IP — если используется метод TCP, сеть занята. Если используется метод UDP, то сеть занята или в INI-файле указан неверный адрес.
10 Вы вызвали функцию без предварительного вызова функции входа в систему.
11 Ошибка связи. Ошибка адаптера. Применяется только к NetBIOS. Эта ошибка также может произойти, если протокол NetBIOS не установлен. Убедитесь, что протокол установлен правильно.
15 Активный HASP License Manager не найден.
18 Не удается выполнить вход в сеть HASP, поскольку вызов SetServerByName не был успешным.
19 Синтаксическая ошибка в конфигурационном файле (сервис LastStatus возвращает номер строки, в которой произошла ошибка в Par2).
Если LastStatus возвращает 0 в par2, то либо переменная окружения имеет недопустимое значение, либо IP-адрес не найден (при работе с TCP/IP или UDP для хоста).
20 Ошибка обработки файла конфигурации. Файловая операция, такая как «открыть файл» или «прочитать файл», не удалась. Возможной причиной может быть то, что в системе закончились дескрипторы файлов. Служба LastStatus возвращает код системной ошибки ОС в Par2.
21 Сетевому ключу HASP не удалось выделить память. Эта ошибка уникальна для интерфейсов сетевых ключей HASP для приложений Microsoft Windows и расширителей DOS. Попробуйте освободить память DOS.
22 Сетевому ключу HASP не удалось освободить память. Эта ошибка уникальна для интерфейсов сетевых ключей HASP для приложений Microsoft Windows и расширителей DOS.
23 Неверный адрес памяти сетевого ключа HASP.
25 Не удалось загрузить DLL (winsock.dll или w32sock.dll). Применяется только к TCP/IP или IPX.
26 Не удалось выгрузить библиотеку DLL (winsock.dll или w32sock.dll). Применяется только к TCP/IP или IPX.
28 Ошибка запуска Winsock.dll. Применяется только для TCP/IP.
30 Не удалось закрыть сокет. Применяется только к TCP/IP.
33 Протокол уже установлен. Возвращается только при попытке установить протокол без полного выхода из API.
34 Доступ к ключу запрещен, так как приложение работает на Citrix Winframe или Windows Terminal Server.
129 Правильный сетевой ключ HASP не подключен к HASP License Manager.
130 Указанный номер программы (ProgNum) отсутствует в списке программ памяти ключа HASP.
131 Ошибка чтения из памяти ключа HASP.
132 Ошибка записи в память ключа HASP.
133 Текущий запрос на вход превышает количество станций, на которых может одновременно работать программное обеспечение.
134 Текущий запрос на вход превышает количество авторизованных активаций программного обеспечения.
135 Вы вызвали функцию выхода без предварительного вызова функции входа в систему. Это может произойти, если Менеджер лицензий был перезагружен или вы вышли из Менеджера лицензий.
136 HASP License Manager занят.
137 В списке пользователей сетевого ключа HASP нет места.
138 Количество авторизованных станций превышает максимальное количество, указанное в модели HASP.
139 Вы вызвали функцию без предварительного вызова функции входа в систему.
140 HASP License Manager не обслуживает сеть вашей станции.
141 Недействительная служба или новая версия HASP API обменивается данными со старой версией HASP License Manager.
142 Не удалось найти HASP License Manager с именем, указанным в файле конфигурации HASP.
150 HASP License Manager с присвоенным именем не найден.
151 Обнаружены два или более разных HASP License Manager с назначенным именем.
152 Операция декодирования завершилась неудачно, так как служба не поддерживалась оборудованием.
155 Обнаружена старая версия Менеджера лицензий. Используемый API требовал установки более новой версии License Manager.
157 Размер буфера слишком мал для запрошенной функции.
158 HASP License Manager работает на машине со старым драйвером HASP.
159 HASP License Manager работает на машине без установленного драйвера HASP.
Настройка WireGuard
В режиме сервера
1. Установить WireGuard, если он не установлен ("Система" - "Менеджер пакетов")
2. Заходим в модуль "WireGuard" в основном меню)
3. Добавляем новый локальный пир (в меню "Новый")
4. После создания локального пира заходим в настройки пира (установить курсор на созданный пир и выбрать в меню "Настройки") и заполняем:
- IP-адрес - это адрес пира внутри VPN
- Адрес подключения удаленных пиров - это адрес, на который будут стучаться удаленный пиры. Может быть как IP-адрес, так и DNS-имя
- Порт подключения удаленных пиров - это порт, который будет прослушиваться сервером в ожидании удаленных пиров
5. Переходим к удаленным пирам нашего нового локального пира (установить курсор на созданный пир и выбрать в меню "Удаленные пиры")
6. Создаем удаленный пир для каждого подключаемого узла (в меню выбираем "Новый", а поле "Открытый ключ" оставляем неизменным или пустым)
7. После создания удаленного пира заходим в настройки этого пира (установить курсор на созданный пир и выбрать в меню "Настройки") и заполняем:
- Имя (не обязательно) - Имя нужно для более удобного поиска пиров
- IP-адрес пира - это адрес удаленного пира внутри VPN
- Проверка активности (сек) - с какой частотой будет осуществляться проверка VPN-соединения
- Предварительный ключ (не обязательно) - Ключ дополнительного шифрования с симметричным ключом поверх штатного шифрования с асимметричным ключом
8. Выгружаем конфиг для удаленного пира (установить курсор на созданный пир и выбрать в меню "Выгрузить конфиг")
Файл конфигурации будет сохранен в сетевую папку \\<ip>\ruboard, где <ip> - IP-адрес HASPEMUL
Этот файл нужно будет импортировать на клиенте WireGuard
9. Возвращаемся в Локальные пиры и Включаем пир (установить курсор на локальный пир и выбрать в меню "Включить")
10. Необходимо в Файерволе разрешить подключение к указанному в п.4 порту.
11. Теперь можем подключаться с клиента.
Основное отличие настройки в режиме Клиента - на шаге 6 нужно заполнить "Открытый ключ"