许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  FlexNet License Server从零搭建完整教程(Linux/Windows双环境)

FlexNet License Server从零搭建完整教程(Linux/Windows双环境)

阅读数 1
点赞 0
article_banner

搞FlexNet License Server最怕什么?不是买不起许可,是安装包解压完、license文件配好、服务启动一看log报错“Invalid (inconsistent) license key”——然后全员卡在软件登录界面,电话被打爆。本文基于FlexNet Publisher 11.16-11.19版本,覆盖Linux(CentOS 7/8、Ubuntu 20.04/22.04)和Windows Server 2016/2019/2022双环境,从安装包获取、license文件生成、服务安装调试到客户端配置,全流程实操。读完你能独立完成一套生产级许可服务的部署。

一、为什么FlexNet License Server部署总卡在中途?

实际企业环境中,FlexNet License Server的搭建失败率不低,尤其是第一次接触这套体系的IT运维。典型卡点包括:

  • 主机名与MAC地址绑定错误:license文件中SERVER行的主机名或网卡MAC地址与服务器实际配置不一致,导致服务启动时报告“Cannot find hostname”或“Invalid host”。
  • 端口被防火墙或已占用:FlexNet默认使用两个端口(lmgrd的端口和vendor daemon的端口),端口冲突或被安全策略拦截,客户端无法与服务器握手。
  • license文件格式不对:从软件厂商拿到的license文件包含不可见字符、换行符被破坏(特别是Windows和Linux之间拷贝时),导致FlexNet解析失败。
  • 动态库依赖缺失:Linux环境下缺少lsb-core或libstdc++等基础库,lmgrd或vendor daemon无法执行。

二、底层逻辑:搞懂FlexNet的三层结构

在动手之前,脑子里得有这张图。

第一层:lmgrd(主守护进程) 。它负责启动和管理vendor daemon,监听客户端连接请求,并将请求转发给对应的vendor daemon处理。lmgrd本身不关心具体软件授权,只做调度。

第二层:vendor daemon(业务守护进程) 。这是跟具体软件厂商绑定的进程,比如SolidWorks的是“solidworks”或“sw_d”,ANSYS的是“ansyslmd”。它读取license文件中的FEATURE行,执行实际的许可发放和回收逻辑。

第三层:license文件(核心配置) 。包含SERVER行(定义服务器主机名和MAC)、VENDOR行(指定vendor daemon路径)、FEATURE或INCREMENT行(定义具体的许可Feature名称、版本、数量、过期时间)。

这三层任何一个环节出问题,服务都起不来。

三、完整搭建步骤(建议按顺序执行)

以下步骤按“Linux”和“Windows”双环境并行标注,无特殊说明则操作通用。

Step 1:准备工作——收集服务器基础信息

无论哪种操作系统,先记录以下三要素,后面license文件里都会用到:

  • 主机名(Hostname) :Linux执行hostname,Windows执行hostname或在系统属性中查看。注意:主机名不能包含下划线“_”和中文字符,否则FlexNet识别异常。
  • MAC地址(物理网卡) :FlexNet默认取eth0(Linux)或主网卡(Windows)的MAC。Linux执行ifconfig -a或ip link show,Windows执行ipconfig /all,找到“物理地址”那一项。关键:多网卡服务器务必确认哪块网卡是实际对外提供服务的,license文件里填它的MAC,大小写均可,但建议全大写。
  • IP地址:记录服务器固定IP,用于后续客户端配置。

【专家提示】 若服务器部署在虚拟化平台(VMware、Hyper-V),MAC地址在克隆或迁移后可能变化。建好服务器后先固定MAC地址,再生成license文件,否则服务一重启就废。

Step 2:获取FlexNet安装包与license文件

FlexNet Publisher的安装包通常由软件厂商随软件一同提供,路径一般在安装介质中的“License_Server”或“FlexNet”文件夹内。如果找不到,可联系厂商技术支持获取对应版本的FlexNet SDK或预编译二进制文件。

license文件(通常命名为license.dat*.lic)由软件厂商根据你的主机名和MAC地址生成并发送。收到后务必用文本编辑器(推荐Notepad++、VS Code或Linux下的vim)打开,检查以下内容:

典型license文件结构:

SERVER hostname MAC_ADDRESS 27000VENDOR vendor_daemon_name /opt/flexnet/vendor_daemon_pathFEATURE feature_name vendor_daemon_name version expiration_date quantity SIGN=xxx

检查要点:

  • SERVER行的主机名和MAC必须与Step 1记录的一致。
  • VENDOR行指定的vendor daemon文件路径必须正确,且该文件具有可执行权限(Linux下需chmod +x)。
  • FEATURE或INCREMENT行的格式完整,签名(SIGN=)未损坏。

【避坑指南】 切勿直接用Word或WPS编辑license文件,它们可能自动转换引号或添加格式字符,破坏FlexNet的ASCII解析。编辑后务必保存为“无BOM的UTF-8”或“ANSI”编码。

Step 3:安装FlexNet Publisher(Linux / Windows)

Linux环境(以CentOS 7为例):

  1. 创建安装目录(建议统一放在/opt/flexnet/下):mkdir -p /opt/flexnet/mkdir -p /var/log/flexnet/
  2. 将FlexNet安装包(通常包含lmgrd和vendor daemon文件)解压或复制到/opt/flexnet/bin/目录。
  3. 赋予执行权限:chmod +x /opt/flexnet/bin/lmgrdchmod +x /opt/flexnet/bin/vendor_daemon_name
  4. 安装依赖库(Ubuntu/Debian):apt-get install lsb-core libstdc++6 libc6(CentOS/RHEL):yum install redhat-lsb-core libstdc++.i686

Windows环境(以Windows Server 2019为例):

  1. 创建目录,例如C:\FlexNet\。
  2. 将lmgrd.exe、vendor daemon的.exe文件以及license文件放置于该目录下。
  3. 无需额外安装,FlexNet Publisher在Windows下为绿色可执行文件。

Step 4:启动FlexNet License Server(核心验证步骤)

Linux下启动:

/opt/flexnet/bin/lmgrd -c /opt/flexnet/license.dat -l /var/log/flexnet/lmgrd.log

其中-c指定license文件路径,-l指定日志输出路径。

Windows下启动: 打开CMD(管理员模式),进入安装目录:

C:\FlexNet\lmgrd.exe -c C:\FlexNet\license.dat -l C:\FlexNet\lmgrd.log

启动后立即查看日志文件:

tail -f /var/log/flexnet/lmgrd.log

或Windows下打开lmgrd.log

正常启动的日志应包含:

lmgrd: FlexNet Licensing version v11.16.x
lmgrd: Server started on hostname for vendor daemon
vendor_daemon_name: License server started (pid=xxxx)

若出现“Invalid license key”或“Cannot find SERVER line”,立即检查license文件格式,特别是SERVER行末尾是否有额外的空格或不可见字符。

【专家提示】 首次启动建议在前台运行(不加-l参数),这样所有输出直接打印在终端,方便实时排错。确认无误后再以后台模式运行。

Step 5:配置开机自启(生产环境必备)

Linux(Systemd服务):

创建/etc/systemd/system/flexnet.service文件:

[Unit]
Description=FlexNet License Server
After=network.target

[Service]
Type=forking
ExecStart=/opt/flexnet/bin/lmgrd -c /opt/flexnet/license.dat -l /var/log/flexnet/lmgrd.log
ExecStop=/opt/flexnet/bin/lmdown -c /opt/flexnet/license.dat
Restart=on-failure
User=root

[Install]
WantedBy=multi-user.target

然后执行:

systemctl daemon-reload
systemctl enable flexnet.service
systemctl start flexnet.service

Windows(服务注册):

使用FlexNet自带的lmutil.exe工具,或使用Windows自带sc命令创建服务:

sc create "FlexNet License Server" binPath= "C:\FlexNet\lmgrd.exe -c C:\FlexNet\license.dat -l C:\FlexNet\lmgrd.log" start= auto

注意sc命令中binPath=后面的等号后必须加一个空格,否则命令不生效。

Step 6:客户端配置与连接验证

客户端机器上,在软件许可配置文件中(如SolidWorks的sw_d.lic、ANSYS的ansyslmd.ini)填入服务器地址和端口,格式为:

SERVER=192.168.1.100 27000

或通过环境变量指定(适用于多数FlexNet客户端):

export LM_LICENSE_FILE=27000@192.168.1.100

Windows下则添加系统环境变量LM_LICENSE_FILE,值为27000@192.168.1.100

验证连接:在客户端执行:

lmutil lmstat -a -c 27000@192.168.1.100

若返回信息包含“license server UP”和Features列表,则搭建成功。

【避坑指南】 服务器防火墙务必放行lmgrd监听端口(如27000)和vendor daemon动态分配的端口(通常是27000+1,具体查看日志中的“TCP port”信息)。同时检查SELinux(Linux),可临时setenforce 0测试,确认是SELinux问题后再编写策略。

四、长期运维与优化

服务跑起来只是第一步,接下来这三个方面决定你的许可服务能稳定多久。

1. 日志轮转与监控 FlexNet日志会持续增长,建议配置logrotate(Linux)或Windows事件日志定期清理。同时使用lmstat定时检查服务状态,结合监控工具(Zabbix、Prometheus)对许可使用率做阈值告警。

2. 高可用架构 单点故障(单台许可服务器宕机)会直接导致全公司设计软件不可用。可部署冗余的FlexNet License Server,配合DNS轮询或虚拟IP浮动,实现主备切换。部分软件厂商(如ANSYS、Siemens)支持分布式许可池配置。

3. 闲置许可自动回收 许可资源永远是稀缺的。通过选项文件(.opt)配置闲置超时自动回收,或部署专业的许可管理平台。武汉格发信息技术有限公司的格发许可优化器支持对FlexNet体系下的各类工业软件(CAD/CAE/EDA)进行统一监控、闲置许可自动回收和可视化报表输出,帮助IT部门摆脱“人肉运维”的被动局面。

五、常见问题 FAQ

Q1:lmgrd启动后立即退出,日志里没有任何错误信息,怎么排查?

A:这种情况通常是因为license文件中SERVER行的主机名与系统实际主机名不匹配。先用lmhostid命令查看FlexNet识别到的MAC地址,再与license文件中的MAC比对。若不一致,要么修改主机名配置,要么重新生成license文件。另外检查端口是否被占用:netstat -tunlp | grep 27000(Linux)或netstat -ano | findstr 27000(Windows)。

Q2:客户端能ping通服务器,但lmstat显示“Cannot connect to license server”,是什么原因?

A:这是FlexNet服务端口被防火墙拦截的典型现象。检查服务器防火墙是否放行了tcp/27000以及vendor daemon的动态端口。Windows Server上尤其要注意“高级安全Windows防火墙”的入站规则。另外,确认lmgrd启动时是否绑定了127.0.0.1(本地回环),如果是,修改license文件中的SERVER行为服务器实际IP。

Q3:license文件里的FEATURE行和INCREMENT行有什么区别?

A:FEATURE是永久许可的一次性声明,INCREMENT是增量许可(支持多个INCREMENT行叠加同一个Feature的总量)。在FlexNet 11.10之后的版本中,两者在语法上均被支持,但多数软件厂商更习惯使用INCREMENT,因为便于管理许可的增量和过期时间。两者不可混用在同一个Feature上,否则服务启动时会报冲突。

六、SEO 元数据

  • Meta Description(页面描述): 从零搭建FlexNet License Server完整教程,覆盖Linux/Windows双环境,含license文件配置、服务启动调试、开机自启及客户端连接验证,IT运维可直接照抄部署。
  • 核心关键词: FlexNet License Server搭建
  • 长尾关键词:FlexNet License Server安装教程lmgrd启动失败排查方法FlexNet license文件格式详解Linux搭建FlexNet许可服务Windows Server部署FlexNet步骤FlexNet高可用部署方案


本文由武汉格发信息技术有限公司(gofarlic.com)许可管理专家团队整理,基于实际项目交付经验总结,未经授权请勿转载。

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空