许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  FlexNet默认端口27000被占用,如何修改为其他端口

FlexNet默认端口27000被占用,如何修改为其他端口

阅读数 4
点赞 0
article_banner


一台服务器上跑着多个服务,27000被占了,或者公司安全策略要求不能用默认端口,需要改成其他端口。

改端口其实就一步:改license文件里的SERVER行。

但改完端口后,有三件事要跟着调整,缺一件客户端都连不上。下面把完整的操作步骤和连带影响说清楚。

一、修改SERVER行的端口号

找到license文件中的SERVER行,它的标准格式是三个参数:

text

SERVER 主机名 HOSTID 端口号

默认情况下,如果不指定端口号,FlexNet会在27000到27009之间选一个,通常是27000。

要改成其他端口,直接在第三参数位置写上你想要用的端口号:

text

# 原行(默认端口)
SERVER license-server 001122334455

# 修改后(指定端口27001)
SERVER license-server 001122334455 27001

# 或者使用其他端口,比如30000
SERVER license-server 001122334455 30000

选端口时注意几点:

sw2010-2015

  • 端口号范围是1到65535,但建议用1024以上的端口(1024以下是系统保留端口,需要root权限才能监听)
  • 确认你要用的端口没有被其他进程占用。用netstat -anp | grep 端口号(Linux)或netstat -ano | findstr 端口号(Windows)检查
  • 避免和其他已知服务冲突,比如MySQL的3306、Redis的6379、Nginx的80等
  • 如果服务器上有多套FlexNet服务,每套用不同的端口

修改完后保存license文件。

二、连带影响之一:Vendor Daemon的端口也要固定

改完SERVER行的端口,只是解决了lmgrd的监听端口问题。但vendor daemon仍然使用动态端口,每次启动随机分配。这会导致防火墙配置更复杂——你不仅要开放SERVER端口,还得开放vendor daemon的随机端口。

所以趁这个机会,建议在VENDOR行里也固定vendor daemon的端口:

text

VENDOR snpslmd /opt/synopsys/snpslmd PORT=27002

这样所有通信端口都固定了。防火墙只需要开放两个端口:SERVER端口和VENDOR端口。

三、连带影响之二:防火墙和安全组要同步开放

改完端口后,服务器端的防火墙必须放行新端口。

Linux防火墙(firewalld):

text

sudo firewall-cmd --add-port=27001/tcp --permanent
sudo firewall-cmd --add-port=27002/tcp --permanent
sudo firewall-cmd --reload

Linux防火墙(iptables):

text

iptables -A INPUT -p tcp --dport 27001 -j ACCEPT
iptables -A INPUT -p tcp --dport 27002 -j ACCEPT
service iptables save

Windows防火墙:

  1. 打开"高级安全Windows Defender防火墙"
  2. 入站规则 → 新建规则 → 端口
  3. TCP,特定本地端口,输入27001,27002
  4. 允许连接,完成

云服务器(AWS/阿里云/腾讯云):
除了操作系统防火墙,还需要在安全组(Security Group)的入站规则中放行新端口。这点经常被忽略——系统防火墙改了,但安全组没改,客户端还是连不上。

FlexNet默认端口27000被占用

四、连带影响之三:客户端配置要同步更新

服务器端口改了,客户端必须指向新端口,否则找不到服务器。

环境变量方式:

text

LM_LICENSE_FILE=27001@license-server

或者

text

SNPSLMD_LICENSE_FILE=27001@license-server

(具体变量名取决于软件厂商)

配置文件方式:
某些软件在安装目录下有一个license配置文件,里面写死了服务器地址和端口。需要找到这个文件,把端口号从27000改成27001。

修改客户端配置后,最好测试一下连接:

text

lmutil lmstat -c 27001@license-server -a

如果能看到feature列表和用户使用情况,说明客户端能正常连接新端口。

五、修改后的验证

完成上面所有步骤后,重启lmgrd服务:

text

lmdown -c /path/to/license.lic
lmgrd -c /path/to/license.lic -l /var/log/flexnet/debug.log

然后用lmstat确认服务在新端口上正常运行:

text

lmutil lmstat -c 27001@license-server -a

查看debug.log,确认lmgrd监听的端口是修改后的端口。日志里会有一条类似这样的记录:

text

(lmgrd) Listening on port 27001

如果看到端口号已经更新,说明修改成功了。

六、一个容易被忽略的细节

修改SERVER行端口后,不要只改license文件就完事了

有些服务器上的lmgrd是通过systemd服务管理的,service文件里可能用-c参数指定了license文件路径。如果端口写在了license文件里,重启服务时会自动读取新端口,不需要额外操作。

但有些systemd service文件里用-c参数同时指定了端口(比如-c 27000@localhost这种写法),这种情况下,端口是在命令行里指定的,不是从license文件里读取的。需要同步修改service文件里的命令行参数,否则systemctl restart后服务仍然用旧端口启动。

检查方法:

text

sudo systemctl cat flexnet

如果ExecStart行里有-c 27000@localhost这类写法,把27000改成新端口。

七、总结

修改FlexNet默认端口,核心操作就一行——改SERVER行的第三个参数。但真正让改动能正常运行,需要做三件事:

  1. 改license文件:SERVER行加上新端口
  2. 固定vendor daemon端口:在VENDOR行加PORT=参数,避免动态端口
  3. 同步客户端配置:更新环境变量或配置文件中的端口号,否则客户端连不上

如果使用了systemd服务管理,还要检查service文件中是否直接指定了端口。改完后用lmstat验证,确保服务在新端口上正常监听。服务器防火墙和云平台安全组也要同步开放新端口,否则客户端请求根本到不了lmgrd进程。



相关文章
技术文档
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
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空