"Cannot connect to license server"和"No such feature"是FlexNet运维中最容易混淆的两个错误。用户看到的都是"软件打不开",但问题的根源完全不同。
这篇文章把两者的区别说清楚——怎么区分、怎么定位、怎么解决。
"Cannot connect to license server" 是网络层的问题。客户端找不到许可证服务器,或者找到了但连不上。跟许可证文件里有什么内容没关系——连上门都进不去,根本还没到查"有没有这个feature"那一步。
"No such feature exists" 是配置层的问题。客户端连上了服务器,服务器也正常运行,但你请求的feature名称不在许可证文件里。或者名称拼错了,或者这个feature确实没买。
用一个比喻来理解:
"Cannot connect"就像你拿着钥匙去一栋楼,但找不到那栋楼在哪里。地址写错了,或者路被封了。
"No such feature"就像你找到了楼,进去了,但你要找的房间号在这栋楼里不存在。前台查了一下,说没这个房间。
两种错误,问题的位置完全不同。
报错信息:
text
FlexNet Licensing error: -15, 570.
Cannot connect to license server system.
The license server manager (lmgrd) has not been started yet,
the wrong port@host or license file is being used, or the
port or hostname in the license file has been changed.错误码: 通常是-15,也可能是-96(服务器无响应)。
判断方法: 在客户端执行lmstat -a -c 27000@license-server。如果返回Cannot connect to license server system,那就是这类错误。
常见原因:

排查顺序:
先ping服务器IP确认网络通不通,再用telnet测试端口是否可访问,最后在服务器上用ps确认lmgrd进程是否存在。三个步骤走完基本能定位问题出在哪一环。
报错信息:
text
FlexNet Licensing error: -5, 357.
No such feature exists.
Feature: CAD_Design错误码: -5,有时也显示-1。
判断方法: 在客户端执行lmstat -f feature_name -c 27000@license-server。如果返回No such feature exists或Feature not found,那就是这类错误。
注意一个关键点:执行lmstat -a -c 27000@license-server能看到服务器上所有feature的列表。 如果列表里没有你请求的那个feature,问题就在这。
常见原因:
一个容易被忽略的场景: 某个软件的不同版本可能用不同的feature名称。比如2023版叫CAD_Design_2023,2025版叫CAD_Design_2025。你的license里只有2023的feature,但客户端请求的是2025的feature。
用户报错时,执行以下操作可以快速区分:
第一步:从客户端查询服务器状态
bash
lmutil lmstat -a -c 27000@license-server第二步:看输出结果
如果输出了Cannot connect to license server——这是"Cannot connect"类型的问题,按网络层排查。
如果输出了完整的feature列表,但列表里没有用户要的那个feature——这是"No such feature"类型的问题,检查license文件内容和服务重读情况。
如果输出了feature列表,而且列表里有用户要的那个feature,但用户还是报错——检查用户软件的配置,看它请求的是不是同一个feature名称(大小写、拼写、版本号)。

情况一:lmstat能连上但用户软件报Cannot connect
有些软件在报错时把"Cannot connect to license server"当作默认错误提示,不管实际原因是什么。你可能看到的是Cannot connect,但实际上服务器是通的,问题是别的。
这时候用lmstat -a确认一下——如果能连上并返回feature列表,说明网络没问题。需要检查用户软件的license配置方式,看它用的是环境变量还是配置文件。
情况二:feature名称存在但报No such feature
这个情况更隐蔽。用户请求的feature名称在license里确实有,但用户软件请求的是带版本号的写法。
比如license里写的是CAD_Design,但软件请求的是CAD_Design_2025。或者反过来。FlexNet的匹配规则是精确字符串匹配,多一个下划线、少一个数字都算不匹配。
| 操作 | "Cannot connect"的结果 | "No such feature"的结果 |
|---|---|---|
ping 服务器IP | 通常不通 | 通常通 |
telnet 服务器IP 27000 | 不通或拒绝 | 通 |
lmstat -a | 报连接错误 | 返回feature列表 |
lmstat -f feature_name | 报连接错误 | 报No such feature |
两个报错的核心区别就在于能不能通过lmstat获取到服务器的feature列表。 能获取到,就是feature名称的问题。获取不到,就是网络/连接的问题。
"Cannot connect"和"No such feature"虽然都让用户打不开软件,但问题的位置完全不同。
Cannot connect:
No such feature:
现场排查时,用lmstat -a -c 27000@license-server测试。能连上就按"No such feature"的路子查,连不上就按"Cannot connect"的路子查。不要看用户报错信息里的文字来判断——统一用lmstat的结果做判断依据。