UG许可证服务器连不上怎么排查?
UG(NX)软件报“未能连接到许可证服务器”,核心原因是客户端启动时通过环境变量指向的许可证端口和服务器地址没有响应,处理顺序明确:先确认服务在不在跑,再测端口通不通,接着检查环境变量写法,最后处理防火墙和端口占用,多数情况下十分钟内能定位。
UG许可证服务器连不上?先说最常见的四个原因
业内专家指出,处理NX类软件许可连接问题,必须先区分症状再动手,你不是唯一遇到这个报错的人,每天都有相当一部分用户因为同一个原因卡在原地。
先看最常见的四种场景:
- 许可证服务没启动:Windows服务器上装好了西门子许可证服务,但重启后服务没有自动运行,或者手动被停止
- 环境变量指向错误:NX客户端找不到SERVER,是因为UGS_LICENSE_SERVER变量写错,或变量指向了不存在的端口
- 服务器防火墙拦截:Windows防火墙或物理防火墙把28000端口拦截,客户端连不上
- 许可证文件过期或端口占用:license文件里的DAEMON端口和实际启动端口不一致,导致连接失败
每种情况的现象略有差异,比如生病提示的报错编号是-96还是-15,又或者是“无法连接”与“连接超时”,都需要针对各自原因处理,下面分模块给你讲透。
用三个步骤判断UG许可证服务器未启动问题
排查连接问题,第一步永远是确认服务是否存在,这一步可以绕开后续所有瞎折腾。
打开任务管理器检查后台进程
NX许可证服务(Siemens PLM License Server)在Windows上表现为两个关键进程:
lmgrd.exe许可证主守护进程ugslmd.exeUG/NX专用供应商守护进程
按Ctrl + Shift + Esc打开任务管理器,在“详细信息”选项卡里搜索这两个进程,如果两个都在,说明许可证服务处于活状态,如果完全没有ugslmd.exe,几乎可以确定服务没有正常启动。
用lmutil命令快速判断许可证状态
打开CMD命令行,切换到许可证工具的bin目录,默认路径通常是:
C:Program FilesSiemensPLMLicenseServerbin
执行许可证状态查询命令:
lmutil lmstat -a
如果服务在运行,回显会明确列出如下信息:
- License server status: UP
- 许可证文件路径
- 当前已使用的许可数量
如果回显提示Cannot connect to license server,说明服务进程虽然存在但没有正常监听端口,这时候需要检查服务状态。
重启服务的一个关键操作
Windows服务面板里找到Siemens PLM License Server右键重新启动,这里有个细节:有些服务显示“正在运行”,但守护进程已经僵死,可以先停止,等待几秒后再启动,确保lmgrd完全退出后重新拉取ugslmd进程。
多数情况下,重启服务能让ugslmd.exe重新拉起。
局域网环境下UG许可证服务器设置的三个要点
连接到许可证服务器出错,环境变量是最容易被忽视的环节,特别是公司局域网内多台工作站同时接入许可证服务器时,环境变量写错会让所有机子一起报错。
第一个要点:确认变量名和格式
NX软件读取以下三类环境变量中的一种:
| 变量名 | NX版本 | 写法示例 |
|---|---|---|
UGS_LICENSE_SERVER |
NX6及以上 | 28000@server-pc |
SPLM_LICENSE_SERVER |
NX1847及以后 | 28000@192.168.1.100 |
LM_LICENSE_FILE |
部分旧版/定制模块 | 28000@server-pc |
格式为端口号@服务器主机名,注意端口在前,服务器地址在后,中间是英文半角符号,环境变量设置方式为:右键“此电脑”→“属性”→“高级系统设置”→“环境变量”,在系统变量中检查以上三个变量的当前值。
如果变量值为空,新建对应变量即可,如果你的NX版本比较新,优先设置SPLM_LICENSE_SERVER;如果版本较旧,则检查UGS_LICENSE_SERVER。
第二个要点:检查服务器主机名能不能被解析
环境变量里写了主机名(如28000@lic-server),那客户端必须能通过DNS或hosts文件解析到这个名称,局域网内部署常见的问题是服务器改过机器名,导致环境中指向旧主机名,而旧名称已经无法解析。
此时在CMD中执行:
ping lic-server
如果出现“找不到主机”或请求超时,说明主机名解析失败,此时有两种修正方式:
- 把环境变量里的hostname改成服务器IP地址:
28000@192.168.1.100 - 修改客户端hosts文件,将服务器IP与主机名手动绑定到
C:WindowsSystem32driversetchosts中
第三个要点:环境变量修改后必须重启NX
该步骤特别容易踩坑:环境变量设置完成后,有些用户没有完全退出NX软件,或者没重启电脑,直接重新打开NX仍然报错,环境变量是启动时读取的,软件不完整退出,新配置不会生效。
建议设置好之后重启一次NX,不行就注销Windows后再试。
防火墙拦截UG许可证服务连不上怎么补救
防火墙上对许可证端口放行是很多局域网用户忽略的一步,NX许可证默认使用TCP 28000端口作为主守护端口,具体到ugslmd的通讯端口则在许可证文件中指定。
查许可证文件确认两个端口
在许可证服务器上的license文件中,会看到类似这样的一行:
SERVER lic-server MAC 28000
VENDOR ugslmd PORT=28001
注意这里存在两个端口:主守护端口28000和供应商守护端口28001,防火墙必须对这两个端口全部放行,缺一个都会导致连接不稳定或连接超时。
在Windows防火墙中放行许可证端口
打开“控制面板”→“Windows Defender防火墙”→“高级设置”→“入站规则”→“新建规则”,选择端口,协议选TCP,特定本地端口填入28000,28001,操作允许连接,应用到域、专用、公用全部场景。
如果NX客户端分布在多个子网段,还需要确认物理防火墙交换机ACL放行了这些端口,行业共识认为,许可证端口属于长期稳定端口,不会频繁变动,放行后不需要额外加固策略。
深度处理:许可证文件与端口占用的隐藏问题
如果服务在运行、环境变量正确、防火墙端口也放行了,但还是连不上,下一步就要查许可证文件和端口占用冲突。
用netstat定位端口状态
在服务器CMD中执行:
netstat -ano | findstr 28000
检查28000端口是否处于LISTENING状态,如果没有任何返回,说明服务没有成功监听该端口。
再执行:
netstat -ano | findstr 28001
如果28001端口没有监听,而license文件中写死了PORT=28001,那这次连接失败的直接原因就是守护进程没有绑定供应商端口。
端口被占用的处理办法
有些时候ugslmd起不来的原因,是该端口被其他程序占了,找到PID后任务管理器加上进程确认程序,然后重新选择端口,修改license文件中的PORT=参数,大范围重启后,新端口即可生效。
许可证文件过期与版本不匹配
NX许可证文件有固定格式,换版本或换服务器网卡后,需要对许可证文件重新生成。服务器MAC地址变化会导致许可证失效,经常有用户换了服务器网卡后,重启电脑忽然连不上,就是MAC地址不匹配导致守护进程半启动状态正常,但业务端口直接拒绝连接。
用记事本打开服务器上的lic文件,检查SERVER行的MAC地址是否和当前服务器网卡MAC一致,可通过ipconfig /all查看物理地址。
UG许可证连不上:如何快速解决(Q&A)
为什么我的NX启动时提示UG许可证服务器未启动,但服务器上明明有服务?
这通常存在于环境变量指向错误,许可证服务运行在公司内网的一台服务器上,但客户端环境变量指向了旧服务器地址或旧主机名,就会导致提示服务未正常运行,可以先在客户端CMD中执行telnet 服务器IP 28000,如果连接失败,参考前文环境变量模块重新修改指向地址。
UG许可证服务器设置后需要重装软件才能生效吗?
不需要重装软件,也不建议为此重新安装NX,修改环境变量后确保环境变量生效,然后完整退出NX并重启一次即可,如果重启后弹窗依然报错,再去检查拼写、端口、防火墙,重装NX不会改变许可证读取逻辑,纯属浪费时间。
局域网UG许可证服务器设置中,客户端需要额外配置什么?
客户端不需要安装任何许可证服务文件,只需要设置正确的环境变量并保证网络能访问服务器端口,NX客户端所在机器的Windows防火墙也要放行出站连接,出站规则默认放行,但如果你之前手动改过安全策略,需要检查28000和28001端口出站方向是否受阻。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/686938.html


![三秒解决UG NX12.0报许可证错误:无法连接至许可证服务器系统[-15]](https://i1.hdslb.com/bfs/archive/cb6251cc568acaf692b81edd703b4da5695f3329.jpg)


