前几天重装本站的主机之后,本站部署的KMS服务器也一并失效了。
于是我在今天中午抽空重新部署了KMS服务器,顺便把部署过程发出来分享给大家~
不要担心,文章的内容看似很长,实际上需要进行的操作只有四五步。其余的都是对软件或命令的介绍,以及排除故障的思路。
首先是服务器的基本情况:
- 操作系统:CentOS 7.5 (X64)
- KMS服务端:2017-06-17 (1111)
第一步:下载vlmcsd
- vlmcsd发布地址:http://forums.mydigitallife.info/threads/50234-Emulated-KMS-Servers-on-non-Windows-platforms
- 2017-06-17 (1111)版二进制包下载:http://rgho.st/6c6R7RwMZ 或 https://www.upload.ee/files/7131474/vlmcsd-1111-2017-06-17-Hotbird64.7z.html
- 2017-06-17 (1111)版源码包下载:http://rgho.st/7JwqCtsJG 或 https://www.upload.ee/files/7131476/vlmcsd-1111-2017-06-17-Hotbird64-source-only.7z.html
第二步:解压缩并进行安装
- 从以上几个地址下载到的7zip压缩包的解压密码应该都是:2017
1.解压后找到 \vlmcsd-1111-2017-06-17-Hotbird64\binaries\Linux\intel\glibc 这个文件夹。
2.检查服务器操作系统的位数,可以通过以下两个命令中的任意一个来查看linux机器是32位还是64位
- file /sbin/init
- file /bin/ls
3.根据自己的操作系统位数找到 vlmcsd-x**-glibc 这个文件,这个文件就是vlmcsd的服务端。
4.使用winscp把 vlmcsd-x64-glibc 这个文件上传到服务器的/root目录。
5.使用putty连接服务器,为vlmcds创建文件夹并把程序拷贝过去,复制以下两条命令即可完成。
- mkdir /usr/local/vlmcsd
- cp vlmcsd-x64-glibc /usr/local/vlmcsd/
6.给vlmcsd-x64-glibc加入执行权限,并改名为vlmscd,复制以下两条命令即可完成。
- cd /usr/local/vlmcsd/
- chmod u+x vlmcsd-x64-glibc
- mv vlmcsd-x86-glibc vlmcsd
第三步:测试启动
执行命令:
- ./vlmcsd
查看启动的进程:
- ps aux|grep vlmcsd
如果启动成功则可以看到所启动的进程的PID及命令行等,使用kill pid可以关闭进程。
PS:
如果有其他端口占用1688,会报如下错误:
- Warning: 0.0.0.0:1688: Address already in use
- Fatal: Could not listen on any socket.
找出占用的进程关闭即可,可以使用lsof命令和netstat命令。
上文中supervisor关闭命令为。
- supervisorctl shutdown
第四步:设置开机启动
把命令加到/etc/rc.local或/etc/rc.d/rc.local,并加上可执行权限即可完成开机启动的设置。
为了查看日志,加上vlmcsd -l /var/log/vlmcsd.log。
以下是原教程中的操作过程:
- echo “/usr/local/vlmcsd/vlmcsd -l /var/log/vlmcsd.log > /dev/null 2>&1” » /etc/rc.d/rc.local
- chmod +x /etc/rc.local
经过我的测试发现在腾讯云的CENTOS中无效,简单排查了一下修改为一下操作即可:
- echo “/usr/local/vlmcsd/vlmcsd -l /var/log/vlmcsd.log > /dev/null 2>&1” » /etc/rc.d/rc.local
主要原因是因为CentOS 7中系统启动管理已经由传统的Linux SysV init改为systemd,所以配置方法跟原来的不一样。
重启服务器
- reboot
第五步:客户端测试
首先,为服务器添加解析记录(kms.tracewalker.com)。
在windows中打开CMD。
使用cd命令跳转到 \vlmcsd-1111-2017-06-17-Hotbird64\binaries\Windows\intel 这个目录下。
执行命令:
- vlmcs-Windows-x86.exe -v -l 3 kms.tracewalker.com
如果是64位系统,可以执行:
- vlmcs-Windows-x64.exe -v -l 3 kms.tracewalker.com
命令后面的参数的含义是:
- -v 输出详细信息
- -l 3表示发送Windows Server 2008 Datacenter的激活请求,具体版本对应列表可以通过vlmcs.exe -x查看
- kms.tracewalker.com 表示KMS服务器的域名,也可以直接输入服务器的IP地址
结果如下:
Request Parameters
==================
Protocol version : 6.0
Client is a virtual machine : No
Licensing status : 2 (OOB grace)
Remaining time (0 = forever) : 43200 minutes
Application ID : 55c92734-d682-4d71-983e-d6ec3f16059f (Windows)
SKU ID (aka Activation ID) : 2d5a5a60-3040-48bf-beb0-fcd770c20ce0 (Windows 10 Enterprise 2016 LTSB)
KMS ID (aka KMS counted ID) : 969fe3c0-a3ec-491a-9f25-423605deb365 (Windows 10 2016 (Volume))
Client machine ID : 20b9abc8-bf3c-4ff5-9b01-eacc92ff00bc
Previous client machine ID : 00000000-0000-0000-0000-000000000000
Client request timestamp (UTC) : 2018-10-16 06:09:22
Workstation name : we-love.acer.biz
N count policy (minimum clients): 25
Connecting to 123.206.61.224:1688 … 123.206.61.224:1688: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接 尝试失败。
Fatal: Could not connect to any KMS server
可以看到在连接服务器的时候服务器没有响应,我检查了一下,是因为没有在服务器上放心kms服务使用的1688端口导致的。
因为安装了宝塔面板,所以直接打开宝塔面板添加放行:
填加了放行后再次打开CMD运行客户端进行测试:
Request Parameters
==================
Protocol version : 6.0
Client is a virtual machine : No
Licensing status : 2 (OOB grace)
Remaining time (0 = forever) : 43200 minutes
Application ID : 55c92734-d682-4d71-983e-d6ec3f16059f (Windows)
SKU ID (aka Activation ID) : 2d5a5a60-3040-48bf-beb0-fcd770c20ce0 (Windows 10 Enterprise 2016 LTSB)
KMS ID (aka KMS counted ID) : 969fe3c0-a3ec-491a-9f25-423605deb365 (Windows 10 2016 (Volume))
Client machine ID : 4a5ba140-673b-49d7-adf0-b94773d0d2c1
Previous client machine ID : 00000000-0000-0000-0000-000000000000
Client request timestamp (UTC) : 2018-10-16 06:13:15
Workstation name : kms.apple.ua
N count policy (minimum clients): 25
Connecting to 123.206.61.224:1688 … successful
Performing RPC bind …
… NDR64 … BTFN … NDR32 … successful
Sending activation request (KMS V6) 1 of 1
Response from KMS server
========================
Size of KMS Response : 260 (0x104)
Protocol version : 6.0
KMS host extended PID : 06401-00206-484-791593-03-1052-9600.0000-2682017
KMS host Hardware ID : 3A1C049600B60076
Client machine ID : 4a5ba140-673b-49d7-adf0-b94773d0d2c1
Client request timestamp (UTC) : 2018-10-16 06:13:15
KMS host current active clients : 50
Renewal interval policy : 10080
Activation interval policy : 120
可以看到客户端成功的收到了来自服务端的相应,到了这一步,kms服务器的搭建就算成功了!
另附:在虚拟中快速的进行搭建的方法
在 \vlmcsd-1111-2017-06-17-Hotbird64\floppy 文件夹中找到 floppy144.vfd 这个文件。
将其改名为floppy144.flp或floppy144.img,然后用vmware加载为软盘就能运行了。启动后直接就能用了。
本文的部分内容参考或转载自以下文章,并根据自身的实际情况进行了修改和注释:
- 使用vlmcsd搭建KMS服务器激活环境:https://blog.csdn.net/gsls200808/article/details/50326201
- Emulated KMS Servers on non-Windows platforms:https://forums.mydigitallife.net/threads/emulated-kms-servers-on-non-windows-platforms.50234/