使用腾讯云轻量应用服务器自行搭建 KMS 服务
使用腾讯云轻量应用服务器自行搭建 KMS 服务
很多时候我们会选择使用使用 KMS 服务来激活 windows 和 Office,但公共的 KMS 服务通常是不稳定的,本文将会介绍几种快速部署私有 KMS 服务的方法。
什么是 KMS
KMS 是为在本地网络上激活 Microsoft 产品的一项服务,无需计算机连接到微软公司的服务器激活,以便于大批量的 windows 正版部署。
KMS 激活流程
- 将 KMS 安装在服务器上。
- 将 KMS 主机密钥(
GVLK
,将会在稍后介绍)安装在 KMS 客户端上。 - 启用 KMS 后,KMS 服务器会在每次启动 KMS 时或以每天一次的频率,在域名系统 (DNS) 中注册一条 SRV 记录。
- KMS 客户端从配置的注册表项或通过 DNS 中的 KMS SRV 记录发现 KMS 主机。
- 客户端通过 1688/TCP(默认设置)向 KMS 主机发送 RPC 请求。此请求包括加密的客户端计算机 ID。如果计算机从未被激活并且 KMS 主机没有响应,则客户端会在两个小时后发送新请求。如果计算机已激活,则客户端会在 7 天后发送新的重新激活请求。
- KMS 主机将客户端计算机 ID 添加到表中,并将激活计数返回给客户端。
- 客户端根据许可证策略评估激活计数,并在满足激活阈值时激活。
由此可以看出,整个过程除 KMS 客户端与服务端交互以外并没有多余的动作,关于网络上“使用 KMS 激活会让其他人能够控制你的计算机”的流言是完全错误的,你更应该防备的是某些来路不正的“一键激活”工具。
我没有微软公司提供的秘钥,自建 KMS 的原理?
通过逆向官方软件,我们得以了解 KMS 的工作原理,并伪造合法的 KMS 服务器响应以欺骗客户端。你可以通过阅读相关开源项目的代码来学习,不过不要真的在未经微软公司许可的情况下拿来激活 Windows(特别是企业)。注意,从 Windows 8.1开始,KMS服务器与客户机必须是两台不同的电脑。
搭建
本例中用到腾讯云轻量应用服务器,新用户低至 99 元,独享 CPU 和 6M 起步的带宽有超高的性价比,同时免费的 2Gbps 攻击防御为我们的 KMS 服务提供了一定的安全保障。
如果你介意 AFF,这里也有无 AFF 的链接(不过看在你阅读本文的缘分上,走下 AFF 又何妨 QAQ):正价、轻量专场优惠、轻量无忧计划
法一:使用 vlmcsd
手动搭建 kms 服务
这里使用 Linux 操作,在 Windows 上操作几乎一样,这里就不多赘述了。
vlmcsd 是一个用 C 语言实现的开源 KMS 模拟器,支持几乎所有的操作系统和处理器架构。
vlmcsd 是
- 微软 KMS 服务器的替代品。
- 它包含 vlmcs,一个 KMS 测试客户端,主要用于调试目的,也可以验证真正的 KMS 服务器。
- 设计用于在永远在线或经常在线的设备上运行,例如路由器或 NAS ...
- 旨在帮助那些失去合法拥有的许可证激活的人,例如因硬件(主板、CPU 等)的变化而失去激活的人
vlmcsd 不是
- 一键激活或破解工具
- 旨在激活非法软件副本(Windows、Office、Project、Visio)
-
curl -o binaries.tar.gz https://github.com/Wind4/vlmcsd/releases/download/svn1113/binaries.tar.gz
在 releases页 下载最新版本的 vlmcsd(示例代码使用 2020-03-28 编译版本),这里提供一份 2020-03-28 编译版本镜像。 -
tar zxvf ./binaries.tar.gz
解压缩文件。 -
chmod +x ./binaries/Linux/intel/glibc/vlmcsd-x64-glibc ./binaries/Linux/intel/glibc/vlmcsd-x64-glibc
授予执行权限并运行 vlmcsd,默认会监听 1688 端口,注意成功后没有任何提示。
-
chmod +x ./binaries/Linux/intel/glibc/vlmcs-x64-glibc ./binaries/Linux/intel/glibc/vlmcs-x64-glibc
授予执行权限并运行 vlmcs,检查 vlmcsd 是否正常运行,默认检查本机 1688 端口。
-
firewall-cmd --zone=public --add-port=1688/tcp --permanent
在本机防火墙放通相关端口(本例使用的是TCP/1688
),若是你是用的云服务,也需要在控制台放通相关端口。
法二:在 Windows 上转发公有云厂商的 kms 服务
能白嫖啊?自建干什么?(战术后仰
注意只有几大叫得上名字的公有云能够保证是使用的 KMS 激活你的云服务器,其它小厂的云服务器不能保证。
注意:全程需要命令行工具需要被授予管理员权限
-
检查你的供应商提供的 KMS 服务器地址
在 Windows 上使用命令slmgr /dlv
找到本机已设置的 KMS 服务器地址。 -
配置端口转发
在 Windows 上使用命令netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=1688 connectaddress=<刚才得到的 IP> connectport=<刚才得到的端口号>
配置端口转发服务。其中:
listenaddress
:监听地址,0.0.0.0 表示监听所有地址。
listenport
:监听端口,指的是本地的端口。
connectaddress
:需要转发的主机 IP。
connectport
:需要转发的端口。在 Windows 上使用命令
netsh interface portproxy show all
检查配置端口转发服务,若成功应看到以下提示。
记得在本机防火墙和云服务控制台放通相关端口放通相关端口(本例使用的是
TCP/1688
)。
激活
注意:全程需要命令行工具需要被授予管理员权限。
注意,以下命令都只有在 VOL 版软件上有效,也就是说,零售版本的 Windows 和 Office 无法正常激活,什么是零售版?什么是批量激活版?如何将零售版转为批量激活版?请自行搜索。
Windows
-
安装 GVLK
在 Windows 上使用命令slmgr /ipk <GVLK>
安装 GVLK。
每个操作系统对应不同的 GVLK,可以在官网找到,本文就不重复说明了 -
设置 KMS 服务器地址
在 Windows 上使用命令slmgr /skms <IP[:PORT]>
设置 KMS 服务器地址,端口若省略则默认是 1688 端口。 -
激活 Windows
在 Windows 上使用命令slmgr /ato
来激活 windows,若能连接 KMS 服务器,windows 将会自动续期。
Office
-
安装 GVLK
在 Windows 上使用命令cscript ospp.vbs /inpkey:<GVLK>
安装 GVLK。
每个版本的 Office 对应不同的 GVLK,可以在官网找到。 -
设置 KMS 服务器地址
在 Windows 上使用命令cscript ospp.vbs /sethst:<IP[:PORT]>
设置 KMS 服务器地址,端口若省略则默认是 1688 端口。 -
激活 Office
在 Windows 上使用命令cscript ospp.vbs /act
来激活 Office,若能连接 KMS 服务器,Office 将会自动续期。
本文以 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议共享,转载请署名并保留来源。