“我的许可证到底是浮动的还是节点锁定的?”这个问题问得频率不低。明明买的时候说的是浮动,结果安装时只能绑一台机器;或者以为只能固定用,结果发现可以多人共享。
解决办法很直接:打开你的许可证文件(.lic或.dat),看几行关键信息就能判断。 不用问厂商,不用猜,文件本身已经把答案写好了。
下面四个方法,按准确度从高到低排列。
SERVER行——最直接这是区分浮动和节点锁定最明确的标志,没有之一。
浮动许可证(Floating License) 的文件开头一定有SERVER行:
text
SERVER hostname MAC地址 27000
VENDOR sampled
FEATURE ...SERVER行告诉客户端:许可证装在服务器上,来找我拿。客户端通过网络向这台服务器请求许可,服务器给你就签出,不给就排队。
节点锁定许可证(Node-Locked License) 没有SERVER行。文件直接以VENDOR或FEATURE/INCREMENT行开头:
text
VENDOR sampled
FEATURE sampled_app sampled 2025.12 1 ...没有SERVER行意味着没有中央服务器。许可证直接绑定在某台机器上,只能在那台机器上用。所以叫“节点锁定”——锁在特定节点。
特殊情况: 某些节点锁定许可证的文件里可能有一行类似SERVER this_host ANY的写法,不要被这个迷惑——ANY表示不绑定特定服务器,实际上还是节点锁定。真正的浮动许可证,SERVER行里一定有一个具体的MAC地址或HOSTID值。

HOSTID的值——判断绑定方式不管是浮动还是节点锁定,许可证都会绑定一个硬件标识。
浮动许可证的HOSTID通常是ANY、DEMO或一个具体的服务器MAC地址:
text
FEATURE myapp sampled 2025.12 10 HOSTID=ANY ...
FEATURE myapp sampled 2025.12 10 HOSTID=001122334455 ...浮动许可的HOSTID=ANY表示不限制服务器,随便装在哪台机器上都能当服务器用。如果是个具体MAC地址,那这台服务器就锁死了。
节点锁定许可证的HOSTID一定是一个具体的值:
text
FEATURE myapp sampled 2025.12 1 HOSTID=001122334455 ...HOSTID=001122334455在节点锁定场景下,表示这个许可只能在这台机器上用。不是用来做服务器的,是用来固定在某台工作站上的。
区分的关键: 浮动许可的HOSTID要么是ANY,要么是某台服务器的主机ID,但它的价值在于多人共享。节点锁定的HOSTID必须是具体值,而且只有那台机器能用。
num_lic字段)——间接判断浮动许可的许可证数量通常大于1,而且配合SERVER行使用才有意义:
text
FEATURE myapp sampled 2025.12 10 HOSTID=ANY ...数字10表示最多10个人同时用。这个数字如果没有SERVER行就毫无意义——单机不可能有10个用户同时用同一台机器。
节点锁定许可的数量通常是1,偶尔出现uncounted:
text
FEATURE myapp sampled 2025.12 1 HOSTID=001122334455 ...
FEATURE myapp sampled 2025.12 uncounted HOSTID=001122334455 ...uncounted在节点锁定文件中表示不计并发数,实际就是1——给你一个人用。
FEATURE/INCREMENT行的版本号——辅助判断这是一个冷知识。早期FlexNet版本中,某些浮动许可证的FEATURE行会带有版本号后缀,比如feature_name_ver,而节点锁定的同名feature不带。但这个方法不通用,不同厂商的命名规则差异太大,只能作为辅助参考。
示例1:标准的浮动许可证
text
SERVER license-server 001122334455 27000
VENDOR sampled
FEATURE CAD_Design sampled 2025.12 50 HOSTID=ANY SIGN=...判断:有SERVER行,有具体的MAC地址作为服务器标识,feature数量50,HOSTID=ANY——典型的浮动许可证。50人可以同时使用。
示例2:绑定服务器的浮动许可证
text
SERVER license-server 001122334455 27000
VENDOR sampled
FEATURE CAD_Design sampled 2025.12 50 HOSTID=001122334455 SIGN=...判断:有SERVER行,feature数量50,HOSTID就是SERVER行里那个MAC地址——服务器固定死了,但仍然是浮动许可(多人共享)。

示例3:标准的节点锁定许可证
text
VENDOR sampled
FEATURE CAD_Design sampled 2025.12 1 HOSTID=001122334455 SIGN=...判断:没有SERVER行,没有VENDOR行(或VENDOR行没有指定路径),feature数量1,HOSTID是具体MAC——节点锁定,只能在那台机器上用。
示例4:看似浮动实为节点锁定的写法
text
SERVER this_host ANY
VENDOR sampled
FEATURE CAD_Design sampled 2025.12 1 HOSTID=001122334455 SIGN=...判断:SERVER this_host ANY是个迷惑项——ANY表示不指定服务器,实际上还是绑定在本地。结合feature数量1和具体HOSTID,这是节点锁定。
| 特征 | 浮动许可证 | 节点锁定许可证 |
|---|---|---|
有无SERVER行 | 一定有 | 没有(或SERVER this_host ANY) |
HOSTID值 | ANY或具体MAC | 必须是具体MAC或硬盘序列号 |
| 许可证数量 | 通常≥5或更大 | 通常是1或uncounted |
| 使用方式 | 网络共享,多人同时 | 单机使用,绑定硬件 |
如果你拿到了一个license文件,不确定它是什么模式,先看有没有SERVER行。有就是浮动,没有就是节点锁定。这是最干净利落的判断方法,不需要看别的。
有些厂商的license文件里把SERVER行注释掉了(行首带#),那就相当于没有——注释掉的内容不会被lmgrd读取,实际上是节点锁定。去掉注释后重启服务才能变成浮动模式。这种情况偶尔会遇到,也算是个排查方向。