Installer proprement et durcir une installation FlexNet (FLEXlm)

FlexNET Publisher, ou FLEXlm, est un logiciel de gestion de licences, développé par la société Flexera Software. Ce logiciel permet notamment la gestion de licences flottantes (floating licence). Ce procédé permet le partage de licences pour de multiples utilisateurs, avec une gestion de « sièges ». Il est assez fastidieux de réaliser une installation correcte et sécurisée. C’est pourquoi je vous propose de voir dans cet article comment installer proprement et durcir une instance de FLEXlm.

J’ai pu lors de mon expérience professionnelle installer un bon nombre d’instances, permettant de gérer des logiciels tels que MatLab, Autocad, Cadence, Mentor, Lumerical, et bien d’autres…. De Windows 7 virtualisés à des RHEL, en passant par des contrôleurs de domaines, j’ai vu ces instances sur une multitude de systèmes.

Il va sans dire que, évidemment, je recommande fortement d’installer FlexLM sur un système d’exloitation Linux. Dans cet article, j’expliciterai comment faire cela un RHEL/CentOS 8. Bien sûr, cet article est applicable aux systèmes d’exploitation utilisant systemd.

I. Introduction

Avant toute chose, il est bon de rappeler comment fonctionne FLEXlm sous Linux. Ci-dessous, un schéma simpliste du fonctionnement de ce dernier :

Fonctionnement de FLEXlm sous un système utilisant systemd, avec une licence Cadence.

On retrouve, systemd, qui va charger le service FLXElm avec un compte non privilégié. C’est le binaire lmgrd qui est démarré en tant que service. Ce dernier va ouvrir un port TCP, et ensuite charger le daemon vendor (cdslmd dans le cas de Cadence). Ceci aura pour effet de d’ouvrir un second processus, qui va lui aussi ouvrir un port.

Détails du service FLEXlm.

II. Création d’un compte de service non privilégié

En première étape, nous allons créer un compte utilisateur, non privilégié, qui servira exclusivement à faire tourner la ou les instances FLEXlm.

On crée d’abord un utilisateur avec la commande useradd. Cette commande créera automatiquement le home utilisateur :

[[email protected]<hostname> ~]# useradd <username>

Je vous conseille de générer une chaîne de caractères aléatoires, comme par exemple :

[[email protected]<hostname> ~]# useradd bn209xd097z

On affecte ensuite un mot de passe fort au compte :

[[email protected]<hostname> ~]# passwd <username>

III. Fichier de licence

Qui dit instance FLEXlm dit fichier de licence. Après avoir fournit une empreinte du système d’exploitation, l’adresse MAC ou le VM_UUID (au format hexadécimal généré par FLEXlm), l’éditeur va générer un fichier de licence permettant de démarrer une instance FLEXlm. Ce fichier de licence contiendra le ou les logiciels utilisables, le nombre de sièges, la date de validité de la licence, etc…

Deux lignes sont très importantes :

  • La ligne commençant par « SERVER »
  • La ligne commençant par « DAEMON »

La ligne « SERVER » spécifie le nom de la machine, son HOSTID ou VM_UUID et le port du service FLEXlm, selon la syntaxe suivante :

SERVER <hostname> VM_UUID=<VM_UUID> <tcp_port>

Soit par exemple :

SERVER SERV-LIC01 VM_UUID=3e3fc43b-4a73-4d41-a7f8-6e337db505a0 22000

La ligne « VENDOR » spécifie le nom du binaire du daemon de l’éditeur, son path et son port :

VENDOR <daemon_name> </path/> PORT=<tcp_port>

Soit par exemple :

VENDOR cdslmd /opt/flexlm/cadence/lnx64.o/cdslmd PORT=220001

IV. Ouverture des ports sur le pare-feu système

Sur firewalld :

[[email protected]<hostname> ~]# firewall-cmd --add-port=22000/tcp --permanent
[[email protected]<hostname> ~]# firewall-cmd --add-port=22001/tcp --permanent

[[email protected]<hostname> ~]# firewall-cmd --reload

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *