FlexNet 许可证文件的核心在于 SERVER 和 VENDOR 这两行。它们共同定义了许可证服务器的身份、位置以及谁来管理具体的授权。
下面我们来详细拆解这两行每个参数的含义。
SERVER 行:定义许可证服务器的位置SERVER 行的作用是告诉客户端和服务管理进程(lmgrd),许可证服务器在哪里,以及该通过哪个端口联系它。
基本格式如下:
text
SERVER 主机名 主机ID 端口号 [可选参数]每个参数的具体含义见下表:
| 参数 | 说明 | 示例/备注 |
|---|---|---|
主机名 | 许可证服务器在网络中的名称。可以是完整的域名(FQDN)或IP地址。 | license-server 或 192.168.1.100 |
主机ID | 服务器的唯一硬件标识,用于将许可证“绑定”到这台特定的机器上。 | 17007ea8DISK_SERIAL_NUM=12341234ANY |
端口号 | lmgrd 进程监听的TCP端口。客户端通过此端口连接服务器。 | 如果不指定,默认在 27000 到 27009 之间选择一个。建议手动指定一个大于1024的端口。 |
特殊情况:冗余服务器
为了实现高可用,FlexNet 支持三服务器冗余配置。此时,许可证文件中会包含三行 SERVER 行,并且必须指定端口号。前两台为主备,第三台为仲裁,不会主动成为主服务器。
对于这种配置,还可以在第一行 SERVER 行末尾添加可选参数:

VENDOR 行:定义许可证的管理者VENDOR 行定义了负责管理具体软件许可证的供应商守护进程(Vendor Daemon)。这个守护进程负责实际的许可签出、签入和计数。
基本格式如下:
text
VENDOR 守护进程名称 [守护进程路径] [可选参数]每个参数的具体含义见下表:
| 参数 | 说明 | 示例/备注 |
|---|---|---|
守护进程名称 | 供应商守护进程的名字。不同软件的守护进程名称不同。 | snpslmd (Synopsys)cdslmd (Cadence)mgcld (Mentor) |
守护进程路径 | 指定守护进程可执行文件的完整路径。如果省略,lmgrd 会尝试在同目录下寻找。 | /opt/EDA/synopsys/scl/2021.03/linux64/bin/snpslmd |
可选参数 | 常用的是 port=,用于固定Vendor Daemon的通信端口。 | port=27020 |
port= 参数是解决防火墙问题的关键。
Vendor Daemon 默认使用随机端口,这会给防火墙配置带来很大麻烦。通过在 VENDOR 行指定 port=,可以固定其端口。例如:
text
VENDOR snpslmd port=27020这样,防火墙只需要开放 SERVER 行的端口和这个固定的 port= 端口即可。
一个极其重要的提醒:许可证文件中的签名(SIGN 或 SIGN2)是基于文件完整内容(包括 SERVER 和 VENDOR 行)计算出来的。
这意味着:
SERVER 行和 VENDOR 行是 FlexNet 许可证文件的基石。SERVER 行定义了“在哪里”(服务器地址)和“哪个门”(端口),而 VENDOR 行则指定了“谁来开门”(供应商守护进程)。
理解并正确配置这两行,是成功部署 FlexNet 许可证服务器的第一步。