Merlin部署KMS

拈花ヽ惹草 提交于 2019-12-14 16:54:33

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

准备工作:
       1.一台刷了merlin的路由器
       2.我的环境,AC66U,merlin380.58(现在使用380.59)
       3.arm架构的路由器如ac68u同样适用
       4.推荐大家购买正版,本帖目的在于讨论如何实现免配置自动激活的技术

一、部署kms服务
       常用的KMS激活服务器程序为py-kms与vlmcsd,分别为python和C语言版本。可运行于各种类linux和windows及mac os环境中。
       个人比较喜欢vlmcsd,虽然需要编译,但是不用在路由器端安装python环境。
        我在ac66u中部署vlmcsd的流程如下
        1.开启jffs和ssh(或telnet),登陆路由器管理界面,通过系统管理-系统设置开启jffs和ssh(或telnet,需要重新启动,格式化jffs)如下图:

  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目录下

  不知道为什么我的ac68u(380.61),sftp出错。需要ftp到web,在wget下载。
  4.通过ssh或telnet连接路由器
  赋予vlmcsd可执行权限
  chmod 700 vlmcsd
  启动vlmcsd

/jffs/vlmcsd

使用命令netstat -an |grep 1688 得到返回结果如下:


kms服务部署完成

   5.手动激活office(非必要步骤)

  Windows下使用管理员权限打开命令提示符(cmd) 执行以下命令(#开头的为注释,请忽略):

#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/*

二、实现局域网用户免配置自动激活(我自己测试不通过,如果不是很多机器的话,上面的手动激活就够了。)
        虽然经在路由器部署完成了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,又能正常激活。搞不懂

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!