准备工做:
1.一台刷了merlin的路由器
2.个人环境,AC66U,merlin380.58(如今使用380.59)
3.arm架构的路由器如ac68u一样适用
4.推荐你们购买正版,本帖目的在于讨论如何实现免配置自动激活的技术
1、部署kms服务
经常使用的KMS激活服务器程序为py-kms与vlmcsd,分别为python和C语言版本。可运行于各类类linux和windows及mac os环境中。
我的比较喜欢vlmcsd,虽然须要编译,可是不用在路由器端安装python环境。
我在ac66u中部署vlmcsd的流程以下
1.开启jffs和ssh(或telnet),登录路由器管理界面,经过系统管理-系统设置开启jffs和ssh(或telnet,须要从新启动,格式化jffs)以下图:php
2.经过官方下载vlmcsd可执行文件(官方提供源码及一堆各环境下的编译好的可执行文件,有兴趣能够本身编译https://forums.mydigitallife.info/threads/50234-Emulated-KMS-Servers-on-non-Windows-platforms)。
3.上传vlmcsd可执行文件到路由器
mips架构的路由器使用/binaries/Linux/mips/little-endian/static/vlmcsd-mips32el-uclibc-static
arm架构的路由器使用/binaries/Linux/arm/little-endian/static/vlmcsd-armv7el-uclibc-static
将文件重命名为vlmcsd,经过xftp,winscp等工具上传到路由器/jffs目录下python
不知道为何个人ac68u(380.61),sftp出错。须要ftp到web,在wget下载。
4.经过ssh或telnet链接路由器
赋予vlmcsd可执行权限
chmod 700 vlmcsd
启动vlmcsdlinux
/jffs/vlmcsd
使用命令netstat -an |grep 1688 获得返回结果以下:git
kms服务部署完成github
5.手动激活office(非必要步骤)web
Windows下使用管理员权限打开命令提示符(cmd) 执行如下命令(#开头的为注释,请忽略):windows
#office2010 32位版本: #cd "%ProgramFiles(x86)%\Microsoft Office\Office14" #office2013 64位版本: cd "%ProgramFiles%\Microsoft Office\Office15" cscript ospp.vbs /sethst:192.168.2.1 cscript ospp.vbs /act cscript ospp.vbs /dstatus
以上四行的大意是:1.切换到office2013目录;2.设置激活服务器地址为192.168.2.1,即你的内网kms服务器地址(即路由地址);3.激活;4.查看激活状态。获得返回信息以下:服务器
6.添加路由启动自动运行功能网络
vi /jffs/scripts/init-start #!/bin/sh sleep 10 /jffs/vlmcsd #参照merlin的用户脚本,记得给权限https://github.com/RMerl/asuswrt-merlin/wiki/User-scripts chmod a+rx /jffs/scripts/*
2、实现局域网用户免配置自动激活(我本身测试不经过,若是不是不少机器的话,上面的手动激活就够了。)
虽然经在路由器部署完成了KMS服务。可是咱们却须要在被激活主机上运行批处理命令,是否是有点繁琐呢,接下来经过配置DNS服务器的SRV记录实现被激活主机接入局域网,不须要任何配置就能够激活系统或office。
merlin固件的dnsmasq配置文件为/etc/dnsmasq.conf,添加自定义项须要开启jffs,在/jffs/configs/dnsmasq.conf.add中添加(详见参考2)。srv记录的格式参考merlin源代码dnsmasq中dnsmasq.conf.example(详见参考3)
1.经过ssh或telnet链接路由器
输入命令
echo “srv-host=_vlmcs._tcp,router,1688”>>/jffs/configs/dnsmasq.conf.add
添加srv记录到/jffs/configs/dnsmasq.conf.add.
其中 _vlmcs._tcp 为服务名;router为路由在内网中的网络名称(可经过uname –n查看,或者改路由的设备名称为router);1688为kms激活服务默认端口号;
输入命令service restart_dnsmasq重启dnsmasq服务。如图:架构
2.Windows下使用管理员打开命令提示符(cmd),使用命令nslookup -type=srv _vlmcs._tcp验证dns配置是否正确,获得返回信息以下图:
nslookup -type=srv _vlmcs._tcp
说明dns配置正确
3.验证office能不能成功发现kms服务器,仍是在管理员模式命令提示符(cmd)下运行如下命令:
cd "%ProgramFiles%\Microsoft Office\Office15" cscript ospp.vbs /remhst cscript ospp.vbs /act cscript ospp.vbs /dstatus
其中第一行切换到office目录,第二行表示清除以前设置的kms激活服务器地址,第三行手动激活,第四行显示激活状态。最终看到信息:
说明office能够彻底免配置自动激活。之后任何电脑只要链接入局域网,便可对其VOL版本的office以及windows进行自动激活。(个人出错了,借用Nap6正确的图。)
参考:
1. https://support.microsoft.com/en-us/kb/816587
2. https://github.com/RMerl/asuswrt-merlin/wiki/Custom-config-files
3. http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq.conf.example
4. http://www.right.com.cn/forum/forum.php?mod=viewthread&tid=174651&highlight=kms
貌似dnsmasq不一样版本之间,又不一样。好比merlin的没有权重。。不作研究了。
后来从新装了win10 16-07版,再装win2013,又能正常激活。搞不懂