OpenWRT 部署 KMS 服务

在OpenWrt上部署KMS服务,最常用的方案是使用轻量级的 vlmcsd(KMS模拟器)。它资源占用低,非常适合在路由器上运行。下面为你梳理从安装到配置的完整步骤。 📦 安装 vlmcsd 服务端 根据你的OpenWrt固件版本和软件源情况,可以选择以下方式安装。 方法一:通过 opkg 官方源安

在OpenWrt上部署KMS服务,最常用的方案是使用轻量级的 vlmcsd(KMS模拟器)。它资源占用低,非常适合在路由器上运行。下面为你梳理从安装到配置的完整步骤。

📦 安装 vlmcsd 服务端

根据你的OpenWrt固件版本和软件源情况,可以选择以下方式安装。

方法一:通过 opkg 官方源安装(推荐)

如果固件源中包含了该软件包,这是最简单的方式。通过SSH登录路由器后执行:

opkg update
opkg install vlmcsd luci-app-vlmcsd

安装 ​luci-app-vlmcsd​ 后,你可以在LuCI界面的“服务”菜单下找到图形化的KMS配置入口,方便管理。

方法二:手动安装 IPK 包

若官方源没有该软件包,可以手动下载对应你路由器CPU架构的 ​.ipk​ 文件进行安装。先上传到路由器 ​/tmp​ 目录,然后执行:

cd /tmp
opkg install vlmcsd*.ipk
opkg install luci-app-vlmcsd*.ipk

方法三:使用 Docker 部署(如果你的设备支持)

对于支持Docker的OpenWrt设备,可以直接运行容器,免去安装依赖的麻烦:

docker run -d --name vlmcsd -p 1688:1688 --restart=always ghcr.io/mogeko/vlmcsd:latest

此镜像已升级为无root容器,安全性更好。

⚙️ 配置 KMS 服务

安装完成后,需要进行必要的配置才能正常提供服务。

1. 启动服务并设置开机自启

如果通过IPK安装,通常会生成服务脚本。执行以下命令启用并启动:

/etc/init.d/vlmcsd enable
/etc/init.d/vlmcsd start

2. 配置防火墙

KMS服务默认监听 TCP 1688 端口。你需要确保防火墙允许局域网设备访问。可以通过以下UCI命令快速添加规则:

uci add firewall rule
uci set firewall.@rule[-1].name='Allow-KMS'
uci set firewall.@rule[-1].src='lan'
uci set firewall.@rule[-1].proto='tcp'
uci set firewall.@rule[-1].dest_port='1688'
uci set firewall.@rule[-1].target='ACCEPT'
uci commit firewall
/etc/init.d/firewall restart

3. 配置 DNS SRV 记录(实现自动发现)

为了让局域网内的Windows和Office客户端自动发现KMS服务器,建议在DNS中配置SRV记录。编辑 ​/etc/dnsmasq.conf​,添加以下内容(请根据你的实际域名和主机名调整):

srv-host=_vlmcs._tcp.lan,OpenWrt.lan,1688,0,100

​注意​:这里的 ​lan​ 是你本地的域名,​OpenWrt.lan​ 是KMS服务器的主机名。配置后重启 dnsmasq 服务:​/etc/init.d/dnsmasq restart​。

💻 客户端激活命令

配置完成后,在需要激活的Windows或Office客户端上执行相应命令。

激活 Windows

以管理员身份打开命令提示符(CMD):

slmgr /skms 192.168.1.1
slmgr /ato

将 ​192.168.1.1​ 替换为你的OpenWrt路由器IP地址。成功后会提示“成功地激活了产品”。

激活 Office

同样以管理员身份打开CMD,导航到Office安装目录(如 ​C:\Program Files\Microsoft Office\Office16​),然后执行:

cscript ospp.vbs /sethst:192.168.1.1
cscript ospp.vbs /act

🔍 验证与排错

  • ​检查服务状态​:在路由器上执行 ​netstat -tln | grep 1688​,应能看到 ​0.0.0.0:1688​ 处于监听状态。

  • ​查看服务日志​:使用 ​logread | grep vlmcsd​ 可以排查启动失败的具体原因,常见问题包括​依赖库缺失​(如 libopenssl)或​二进制文件权限不足​。

  • ​检查激活状态​:在Windows客户端执行 ​slmgr /dlv​,在Office客户端目录执行 ​cscript ospp.vbs /dstatus​,可以查看详细的激活信息。

💡 注意事项

  • ​硬件要求​:建议路由器至少有32MB的存储空间,vlmcsd进程运行时大约占用12MB内存。

  • ​网络环境​:确保KMS服务器和待激活设备在同一局域网内,并为路由器分配​静态IP​,避免IP变动导致激活失败。

  • ​防火墙冲突​:如果你使用了OpenClash等带有防火墙模式的插件,可能会影响KMS服务,必要时需调整相关规则。

评论