需配置vlmcsd实现本地KMS激活服务:一、下载解压二进制包,赋权后运行监听1688端口;二、Docker部署镜像并映射端口,注意首次启动需等待15分钟;三、客户端执行slmgr命令设置KMS地址、密钥并激活;四、防火墙须同时放行TCP/UDP 1688端口;五、用kms-tester工具验证响应有效性。

如果您希望在本地网络中部署KMS激活服务以实现Windows或Office产品的批量授权验证,则需配置符合KMS协议的响应服务。以下是搭建本地KMS激活服务器的具体操作步骤:
一、使用vlmcsd开源项目部署KMS服务
vlmcsd是一个轻量级、跨平台的KMS服务器实现,支持Linux、Windows及macOS系统,无需依赖微软官方KMS组件,且具备稳定响应能力。
1、访问GitHub仓库https://github.com/Wind4/vlmcsd/releases,下载最新版预编译二进制包(如vlmcsd-x64-musl-static.tar.gz)。
2、将压缩包解压至目标服务器目录,例如Linux系统中执行tar -xzf vlmcsd-x64-musl-static.tar.gz -C /opt/vlmcsd/。
3、进入解压目录,赋予vlmcsd可执行权限:chmod +x ./vlmcsd。
4、运行服务:./vlmcsd -L 0.0.0.0:1688,其中1688为默认KMS端口,-L参数指定监听所有网卡地址。
5、确认服务已启动:执行netstat -tuln | grep :1688,若显示LISTEN状态,则表示服务正常运行。
二、通过Docker快速部署vlmcsd容器
Docker方式可避免环境依赖冲突,适合多系统统一管理,且支持后台常驻与端口映射控制。
1、确保主机已安装Docker并处于运行状态,执行docker --version验证版本。
2、拉取社区维护的vlmcsd镜像:docker pull ghcr.io/wind4/vlmcsd:latest。
3、创建并启动容器:docker run -d --name vlmcsd-server --restart=always -p 1688:1688/tcp -p 1688:1688/udp ghcr.io/wind4/vlmcsd:latest。
4、检查容器运行状态:docker ps | grep vlmcsd-server,确认STATUS列显示“Up”。
5、重要提示:首次启动后需等待约15分钟,KMS服务才具备激活资格,因微软要求KMS主机必须累积至少25次请求或运行满1小时才能响应激活请求。
三、配置Windows系统指向本地KMS服务器
客户端需明确指定KMS主机地址与端口,使系统向本地服务发起激活请求,而非连接微软公有KMS服务器。
1、以管理员身份打开命令提示符或PowerShell。
2、输入命令设置KMS服务器地址:slmgr /skms 192.168.1.100:1688,其中192.168.1.100替换为实际KMS服务器IP。
3、输入命令指定产品密钥(以Windows 10 Pro为例):slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX。
4、执行激活命令:slmgr /ato。
5、查看激活状态:slmgr /dlv,输出中“KMS主机名”应显示为所设IP,“激活ID”不为空即表示通信成功。
四、启用防火墙放行KMS端口
若KMS服务无法被客户端访问,极可能因系统防火墙拦截TCP/UDP 1688端口,必须显式开放该端口。
1、在Linux服务器上执行:ufw allow 1688/tcp && ufw allow 1688/udp(Ubuntu/Debian);或firewall-cmd --permanent --add-port=1688/tcp && firewall-cmd --permanent --add-port=1688/udp && firewall-cmd --reload(CentOS/RHEL)。
2、在Windows服务器上,打开“高级安全Windows Defender防火墙”,新建入站规则,协议类型选“TCP”,特定本地端口填“1688”,再新建另一条规则,协议类型选“UDP”,端口同样设为“1688”。
3、注意:必须同时放行TCP和UDP协议,KMS协议在初始协商阶段使用TCP,密钥交换阶段使用UDP,任一协议阻断均会导致激活失败。
五、验证KMS服务响应能力
使用独立工具主动发起KMS协议请求,可绕过客户端系统限制,直接检测服务是否正确解析并返回有效响应。
1、下载kms-tester工具(如kms-tester-v2.0.zip),解压后运行kms-tester.exe。
2、在Host栏输入本地KMS服务器IP地址,在Port栏填写1688,点击Start测试。
3、观察返回结果:若出现“Connection established”、“Got valid response”及“KMS version: 6.3.9600”等字样,则表明服务可正常处理KMS协议。
4、若返回“Connection refused”或“Timeout”,则需检查vlmcsd进程是否运行、端口是否被占用、防火墙是否放行。











