В данной инструкции будет подробно рассмотрена установка защиты FlexLM на Ubuntu Server 16.04. Возможна установка и на десктопную версию (лично проверена версия 17.10).
В качестве серверов будут выступать как специально разработанные под Linux (Autodesk), так и существующие только под Windows (Nanosoft/CSoft).
Подробнее о лицензировании читайте ниже.
Установка Autodesk NLM
Ubuntu в списке поддерживаемых ОС нет, но это поправимо.
0) Установка ОС за вами.
1) Скачайте актуальный NLM от Autodesk.
На момент написания статьи это 11.13.1.2
wget http://download.autodesk.com/us/support/files/network_license_manager/11_13_1_2_v2/Linux/nlm11.13.1.2_ipv4_ipv6_linux64.tar.gz
2) Распакуйте архив.
tar -xvzf nlm11.13.1.2_ipv4_ipv6_linux64.tar.gz
На выходе получается rpm-пакет.
3) Установите необходимые пакеты для работы.
sudo apt-get install alient lsb -y
4) Конвертируйте пакет в deb.
sudo alien nlm11.13.1.2_ipv4_ipv6_linux64.rpm
На выходе получается adlmflexnetserver_12.0.36-1_amd64.deb.
5) Инсталлируйте получившийся пакет.
sudo dpkg -i adlmflexnetserver_12.0.36-1_amd64.deb
Инсталляция происходит в /opt/flexnetserver
6) Поместите вашу лицензию на продукты Autodesk на сервер. Как получить лицензию читайте ниже.
7) Создайте папку для логов и задайте нужные права.
sudo mkdir /var/log/flex
sudo chmod 777 /var/log/flex
8) Протестируйте работу лицензии.
cd /opt/flexnetserver
./lmgrd -c /opt/flexnetserver/adskflex.lic -l /var/log/flex/flex.log
./lmutil lmstat -a
Путь к вашей лицензии может отличаться.
Если сервер отрабатывает верно, то переходите к следующему пункту. Если нет, то читайте лог и приступайте к дебагу.
9) Для запуска сервера лицензий в автоматическом режиме необходимо его прописать в rc.local. Запускать желательно от имени непривилегированного пользователя и через nohup. Эта утилита позволяет процессу работать даже при выходе пользователя.
sudo nano /etc/rc.local
и укажите строку перед exit 0
su user -c 'nohup /opt/flexnetserver/lmgrd -c /opt/flexnetserver/adskflex.lic -l /var/log/flex/flex.log'
10) Перезагрузите сервер и проверьте работу (пункт 8).
Все достаточно просто, когда есть нативный сервер. А что делать, если вендор игнорирует Linux?
Установка Nanosoft NLM
Или любого другого Windows-сервера NLM. Работает это конечно же через Wine.
0) Установка ОС за вами.
1) Установите wine. Рекомендую ставить по инструкции с официального сайта.
wget -nc https://dl.winehq.org/wine-builds/Release.key
sudo apt-key add Release.key
sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/
sudo apt-get update && sudo apt-get install --install-recommends winehq-stable -y
2) Сконфигурируйте wine. Делается это строго от имени пользователя.
winecfg
Посыпятся предупреждения, игнорируйте их.
3) Установите Nanosoft NLM на любую Windows машину и перенесите папку с исполнительными файлы на целевой сервер. Установку можно производить без файла лицензии. В соответствии со структурой переносить файлы нужно в /home/user/.wine/drive_c/Program Files (x86)/Nanosoft/Nanosoft License Server/. Вместо user указываете имя своего пользователя.
Строго говоря, данный путь использовать не обязательно. Достаточно, чтобы он был внутри drive_c или другого примонтированного диска (смотри инструкцию).Также перенесите файл лицензии.
4) Протестируйте работу сервера.
wine "C:\Program Files (x86)\Nanosoft\Nanosoft License Server\lmgrd.exe" -z -c "путь_к_вашей_лицензии"
Если терминал замирает на команде (lmgrd) NANOSOFT using TCP-port *, то сервер находится в рабочем состоянии. Разорвать выполнение как обычно можно через Ctrl + C.
Возможны ошибки в случае, если у вас уже установлен какой-то софт. К примеру, в случае с MC необходимо исправить права на папку .local/share.
Также советую включить логирование. Сделать это можно, просто добавив соответствующий аргумент.
wine "C:\Program Files (x86)\Nanosoft\Nanosoft License Server\lmgrd.exe" -z -c "путь_к_вашей_лицензии" -l +"путь_к_лог-файлу"
В этом случае (lmgrd) pid * означает рабочее состояние.
О других аргументах можно узнать из руководства по администрированию [с.103].
5) Для корректной работы lmutil.exe пропишите вендора и путь к файлу лицензии.
wine "C:\Program Files (x86)\Nanosoft\Nanosoft License Server\lmutil.exe" lmpath -add nanocad "путь_к_вашей_лицензии"
6) Для запуска сервера лицензий в автоматическом режиме необходимо его прописать в rc.local.
sudo nano /etc/rc.local
и укажите строку перед exit 0
su user -c 'nohup wine «C:\Program Files (x86)\Nanosoft\Nanosoft License Server\lmgrd.exe» -z -c «путь_к_вашей_лицензии» -l +«путь_к_лог-файлу»'
7) Перезагрузите машину и проверьте работу сервера.
wine "C:\Program Files (x86)\Nanosoft\Nanosoft License Server\lmutil.exe" lmstat -a
Подробнее о лицензировании
Лицензирование FlexLM бывает 2 видов: с привязкой к MAC-адресу или к USB-ключу. Второй в эпоху массового внедрения гипервизоров, по моему мнению, менее гибкий с точки зрения инфраструктуры. Ведь гораздо проще поднять выделенную ВМ с нужным MAC'ом, чем мучаться с пробросом ключа. В случае с Ubuntu Server получить лицензию онлайн не получится. Вам придется поднимать другую ВМ с другой ОС с таким же MAC.
Кстати, на Ubuntu 17.10 получить лицензию через Интернет возможно :).
Смена типа лицензирования
Если же у вас уже закуплен софт с защитой по ключу, как у меня например, то не расстраивайтесь! Обычно вендор допускает обмен типа лицензирования.
В большинстве случаем достаточно обращения в ТП.
К примеру, Nanosoft требует скан письма за подписью/печатью с просьбой о повторной выдаче с использованием МАС, кроме того следует указать S/N и логин. После получения новой лицензии, старую необходимо уничтожить.
Ну и конечно же лицензии FlexLM можно мониторить Заббиксом!