i007.cc

i007.cc

优先队列-降维打击

05.价值资料

【进阶类教程】merlin搭建局域网内免配置KMS自动激活环境

[教程] 【进阶类教程】merlin搭建局域网内免配置KMS自动激活环境

   关闭 [复制链接]

11

主题

326

帖子

699

积分

高级魔法师

Rank: 4

精华
0
门户文章
0
魔力币
610
魔法值
0
注册时间
2016-2-27

DDOS纪念勋章

跳转到指定楼层

1#

 发表于 2016-4-27 20:25:27 | 只看该作者 |只看大图 回帖奖励
本帖最后由 eyre0950 于 2016-4-28 09:11 编辑

准备工作:
1.一台刷了merlin的路由器
2.我的环境,AC66U,merlin380.58
一、部署kms服务
常用的KMS激活服务器程序为py-kms与vlmcsd,分别为python和C语言版本。可运行于各种类linux和windows及mac os环境中。
vlmcsd发布地址:
http://forums.mydigitallife.info … n-Windows-platforms
py-kms发布地址:
https://github.com/dzacharo/py-kms
个人比较喜欢vlmcsd,虽然需要编译,但是不用在路由器端安装python环境。
我在ac66u中部署vlmcsd的流程如下
1.开启jffs和ssh(或telnet),登陆路由器管理界面,通过系统管理-系统设置开启jffs和ssh(或telnet,需要重新启动,格式化jffs)如下图:

2.通过官方下载vlmcsd可执行文件(官方提供源码及一堆各环境下的编译好的可执行文件,有兴趣可以自己编译)。
3.上传vlmcsd可执行文件到路由器/
mips架构的路由器使用/binaries/Linux/mips/little-endian/static/vlmcsd-mips32el-uclibc-static
arm架构的路由器使用/binaries/Linux/armlittle-endian/static/vlmcsd-armv7el-uclibc-static
将文件重命名为vlmcsd,通过xftp,winscp等工具上传到路由器/jffs目录下
4.通过ssh或telnet连接路由器
赋予vlmcsd可执行权限
chmod 700 vlmcsd
启动vlmcsd
/jffs/vlmcsd

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

kms服务部署完成
5.手动激活office(非必要步骤)
Windows下使用管理员权限打开命令提示符(cmd) 执行以下命令:

  1. #我使用的是office2010 x64版本
  2. #office2010 64位版本:
  3. cd “%ProgramFiles%\Microsoft Office\Office14”
  4. #office2010 32位版本:
  5. #cd “%ProgramFiles(x86)%\Microsoft Office\Office14”
  6. #office2013把office14替换成office15
  7. cscript ospp.vbs /sethst:192.168.1.1
  8. cscript ospp.vbs /act
  9. cscript ospp.vbs /dstatus

复制代码

以上四行的大意是:1.切换到office2010目录;2.设置激活服务器地址为192.168.1.1,即你的内网kms服务器地址(即路由地址);3.激活;4.查看激活状态。得到返回信息如下:

二、实现局域网用户免配置自动激活
虽然经在路由器部署完成了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查看);1688为kms激活服务默认端口号;
输入命令service restart_dnsmasq重启dnsmasq服务。如图:

2.Windows下使用管理员打开命令提示符(cmd),使用命令nslookup -type=srv _vlmcs_tcp验证dns配置是否正确,得到返回信息如下图:

说明dns配置正确
3.验证office能不能成功发现kms服务器,还是在管理员模式命令提示符(cmd)下运行以下命令:

  1. cd “%ProgramFiles%\Microsoft Office\Office14”
  2. cscript ospp.vbs /remhst
  3. cscript ospp.vbs /act
  4. cscript ospp.vbs /dstatus

复制代码

其中第一行切换到office目录,第二行表示清除之前设置的kms激活服务器地址,第三行手动激活,第四行显示激活状态。最终看到信息:

说明office可以完全免配置自动激活。以后任何电脑只要连接入局域网,即可对其VOL版本的office以及windows进行自动激活。套用螃蟹(玩wow的都知道)的话so coooooooool!
参考:
1. https://support.microsoft.com/en-us/kb/816587
2. https://github.com/RMerl/asuswrt-merlin/wiki/Custom-config-files
3. https://raw.githubusercontent.co … nsmasq.conf.example
补充下py-kms的部署
1.路由器安装entware或optware,请自行论坛搜索
2.安装python环境,entware使用命令opkg install python*,optware使用命令ipkg install python*
3.下载py-kms到/jffs
首先安装git命令,opkg install git
下载py-kms

  1. cd /jffs
  2. git clone git://github.com/dzacharo/py-kms

复制代码

4.运行激活KMS服务
python2.7 /jffs/py-kms/server.py
如果安装了entware也可以使用以下命令安装vlmcsd

  1. opkg install p7zip
  2. cd /opt/tmp
  3. wget http://rghost.net/download/62BgHwKq9/97412839f948a67e494b679d796037775e49e2ba/97412839f948a67e494b679d796037775e49e2ba/vlmcsd-svn818-2016-03-07-Hotbird64.7z
  4. 7za -x vlmcsd-svn818-2016-03-07-Hotbird64.7z -r -o./vlm/  #p7zip
  5. [ `uname -m` = “armv7l” ] && cp /opt/tmp/vlm/binaries/Linux/armlittle-endian/static/vlmcsd-armv7el-uclibc-static /jffs/vlmcsd ||\
  6. cp /opt/tmp/vlm/binaries/Linux/mips/little-endian/static/vlmcsd-mips32el-uclibc-static /jffs/vlmcsd
  7. /jffs/vlmcsd
  8. rm -rf /opt/tmp/vlm
  9. rm -rf /opt/tmp/vlmcsd*

复制代码

评分

发表回复