在给用户安装ArcGIS Desktop浮动版许可以及解答用户关于客户端无法连接许可服务器的过程中,经常会遇到端口的问题,自己一直也是知其然,但不知其所以然,也就是知道怎么设置端口,但是并不知道其背后的原理。最近恰巧又遇到到高校装机需要设置端口,于是进行了深入研究,写了这篇文章,以便帮助更多人。该文章适用于比较专业的ArcGIS用户以及业内人士,单机版许可用户以及破解版用户可绕行。
一、问题描述:
当ArcGIS License Manager所在机器的防火墙开启的状态下,ArcGIS Desktop客户端连接该许可服务器时会报下面的错误:
当然比较简单粗暴的方法就是告诉用户直接将防火墙关闭,关闭之后即可正常连接。但是有些用户为了安全起见,必须要开启防火墙,这时就需要知道具体开放哪个端口,以便客户端可以成功连接该许可服务器。那么,如何设置这个端口呢?下面先看如何设置该端口以及如何在防火墙中开放该端口。
二、解决方法:
1,如何设置该端口可以参考ArcGIS Desktop帮助文档:配置 ArcGIS License Manager 以穿透防火墙,文档中将该过程写的比较清楚,这里简要描述下:
A,打开ArcGIS License Server Administrator,左侧选择启动/停止许可服务,右侧界面选择“停止”服务。
B,找到C:\Program Files (x86)\ArcGIS\License10.6\bin目录下的service.txt文件,打开默认是这样的:
SERVER this_host ANY 27000
VENDOR ARCGIS
USE_SERVER
FEATURE ACT ARCGIS 1 permanent 1 vendor_info=7KNJDRHFHBK4CFDMJ214 SIGN=“052E ABFC 32DD
2473 DEFD E276 4BF3 E0DB 87EB 2203 5A30 C014 19A1 C35E 2154
08B1 9460 A2B9 6701 DC4D CAF2 E2FE 1347 0E36 90FA 4F3B E864
BEC8 D3A2 A615”
如果许可服务器上的27000端口被其它程序占用了,那么需要修改第一行末尾ANY 27000将27000设为27000-27009之间的任意没有被占用的端口即可。如果没有被占用,那么只需要修改第二行,在最后添加想要设置的端口:如PORT = 1234:
SERVER this_host ANY 27000
VENDOR ARCGIS PORT=1234
USE_SERVER
FEATURE ACT ARCGIS 1 permanent 1 vendor_info=7KNJDRHFHBK4CFDMJ214 SIGN=“052E ABFC 32DD
2473 DEFD E276 4BF3 E0DB 87EB 2203 5A30 C014 19A1 C35E 2154
08B1 9460 A2B9 6701 DC4D CAF2 E2FE 1347 0E36 90FA 4F3B E864
BEC8 D3A2 A615”
1234在这里只是随便输入的(任意没有被占用的端口即可,最好在10000号段以下),修改完service.txt后保存。
C,打开ArcGIS License Server Administrator,左侧选择启动/停止许可服务,右侧界面选择“启动”服务。
2,接下来需要在许可服务器所在机器的防火墙中开启1中设置的端口(这里为1234),开启方法如下:
控制面板->Windows Defender防火墙->高级设置->入站规则->新建规则:
规则类型选择端口:
下一步,选择特定端口1234,27000。为什么要开启27000端口,后面文章中会讲到,其实不开启27000端口也是可以的,只不过连接许可管理器时只能使用port@IP一种方式。
下一步,选择允许连接,也就是说1234以及27000端口可以穿过防火墙:
最后设置规则名称和描述信息,这样就开放了1234和27000端口。
注:防火墙入站规则只需要在服务器端设置,客户端不需要设置,打开了防火墙也不影响。
3,打开客户端的ArcGIS Administrator,左侧选择Desktop,右侧选择对应的许可级别,比如我这里是Advanced浮动版,然后在License Manager处输入1234@IP,如果上一步中同时添加了27000端口的话还可以输入27000@IP或者直接IP地址,但如果只填写IP地址的话连接会稍慢一点点,这个后面文章会讲到为什么。
注:如果防火墙中没有添加27000端口而只添加了1234端口的话,那么仅有一种写法,就是1234@IP。
好吧,这篇文章主要讲如何设置端口以及如何配置防火墙,如果想知道其背后原理的话,还请往下看……