Merlin部署KMS

分類:IT技術 時間:2017-03-21

準備工作:
       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,又能正常激活。搞不懂


Tags: windows 官方下載 執行文件 路由器 python

文章來源:


ads
ads

相關文章
ads

相關文章

ad