使用騰訊雲輕量應用伺服器自行搭建 KMS 服務
使用騰訊雲輕量應用伺服器自行搭建 KMS 服務
很多時候我們會選擇使用使用 KMS 服務來啟用 windows 和 Office,但公共的 KMS 服務通常是不穩定的,本文將會介紹幾種快速部署私有 KMS 服務的方法。
什麼是 KMS
KMS 是為在本地網路上啟用 Microsoft 產品的一項服務,無需計算機連線到微軟公司的伺服器啟用,以便於大批量的 windows 正版部署。
KMS 啟用流程
- 將 KMS 安裝在伺服器上。
- 將 KMS 主機金鑰(
GVLK
,將會在稍後介紹)安裝在 KMS 客戶端上。 - 啟用 KMS 後,KMS 伺服器會在每次啟動 KMS 時或以每天一次的頻率,在域名系統 (DNS) 中註冊一條 SRV 記錄。
- KMS 客戶端從配置的登錄檔項或通過 DNS 中的 KMS SRV 記錄發現 KMS 主機。
- 客戶端通過 1688/TCP(預設設定)向 KMS 主機發送 RPC 請求。此請求包括加密的客戶端計算機 ID。如果計算機從未被啟用並且 KMS 主機沒有響應,則客戶端會在兩個小時後傳送新請求。如果計算機已啟用,則客戶端會在 7 天后傳送新的重新啟用請求。
- KMS 主機將客戶端計算機 ID 新增到表中,並將啟用計數返回給客戶端。
- 客戶端根據許可證策略評估啟用計數,並在滿足啟用閾值時啟用。
由此可以看出,整個過程除 KMS 客戶端與服務端互動以外並沒有多餘的動作,關於網路上“使用 KMS 啟用會讓其他人能夠控制你的計算機”的流言是完全錯誤的,你更應該防備的是某些來路不正的“一鍵啟用”工具。
我沒有微軟公司提供的祕鑰,自建 KMS 的原理?
通過逆向官方軟體,我們得以瞭解 KMS 的工作原理,並偽造合法的 KMS 伺服器響應以欺騙客戶端。你可以通過閱讀相關開源專案的程式碼來學習,不過不要真的在未經微軟公司許可的情況下拿來啟用 Windows(特別是企業)。注意,從 Windows 8.1開始,KMS伺服器與客戶機必須是兩臺不同的電腦。
搭建
本例中用到騰訊雲輕量應用伺服器,新使用者低至 99 元,獨享 CPU 和 6M 起步的頻寬有超高的價效比,同時免費的 2Gbps 攻擊防禦為我們的 KMS 服務提供了一定的安全保障。
如果你介意 AFF,這裡也有無 AFF 的連結(不過看在你閱讀本文的緣分上,走下 AFF 又何妨 QAQ):正價、輕量專場優惠、輕量無憂計劃
法一:使用 vlmcsd
手動搭建 kms 服務
這裡使用 Linux 操作,在 Windows 上操作幾乎一樣,這裡就不多贅述了。
vlmcsd 是一個用 C 語言實現的開源 KMS 模擬器,支援幾乎所有的作業系統和處理器架構。
vlmcsd 是
- 微軟 KMS 伺服器的替代品。
- 它包含 vlmcs,一個 KMS 測試客戶端,主要用於除錯目的,也可以驗證真正的 KMS 伺服器。
- 設計用於在永遠線上或經常線上的裝置上執行,例如路由器或 NAS ...
- 旨在幫助那些失去合法擁有的許可證啟用的人,例如因硬體(主機板、CPU 等)的變化而失去啟用的人
vlmcsd 不是
- 一鍵啟用或破解工具
- 旨在啟用非法軟體副本(Windows、Office、Project、Visio)
-
curl -o binaries.tar.gz https://github.com/Wind4/vlmcsd/releases/download/svn1113/binaries.tar.gz
在 releases頁 下載最新版本的 vlmcsd(示例程式碼使用 2020-03-28 編譯版本),這裡提供一份 2020-03-28 編譯版本映象。 -
tar zxvf ./binaries.tar.gz
解壓縮檔案。 -
chmod +x ./binaries/Linux/intel/glibc/vlmcsd-x64-glibc ./binaries/Linux/intel/glibc/vlmcsd-x64-glibc
授予執行許可權並執行 vlmcsd,預設會監聽 1688 埠,注意成功後沒有任何提示。
-
chmod +x ./binaries/Linux/intel/glibc/vlmcs-x64-glibc ./binaries/Linux/intel/glibc/vlmcs-x64-glibc
授予執行許可權並執行 vlmcs,檢查 vlmcsd 是否正常執行,預設檢查本機 1688 埠。
-
firewall-cmd --zone=public --add-port=1688/tcp --permanent
在本機防火牆放通相關埠(本例使用的是TCP/1688
),若是你是用的雲服務,也需要在控制檯放通相關埠。
法二:在 Windows 上轉發公有云廠商的 kms 服務
能白嫖啊?自建幹什麼?(戰術後仰
注意只有幾大叫得上名字的公有云能夠保證是使用的 KMS 啟用你的雲伺服器,其它小廠的雲伺服器不能保證。
注意:全程需要命令列工具需要被授予管理員許可權
-
檢查你的供應商提供的 KMS 伺服器地址
在 Windows 上使用命令slmgr /dlv
找到本機已設定的 KMS 伺服器地址。 -
配置埠轉發
在 Windows 上使用命令netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=1688 connectaddress=<剛才得到的 IP> connectport=<剛才得到的埠號>
配置埠轉發服務。其中:
listenaddress
:監聽地址,0.0.0.0 表示監聽所有地址。
listenport
:監聽埠,指的是本地的埠。
connectaddress
:需要轉發的主機 IP。
connectport
:需要轉發的埠。在 Windows 上使用命令
netsh interface portproxy show all
檢查配置埠轉發服務,若成功應看到以下提示。
記得在本機防火牆和雲服務控制檯放通相關埠放通相關埠(本例使用的是
TCP/1688
)。
啟用
注意:全程需要命令列工具需要被授予管理員許可權。
注意,以下命令都只有在 VOL 版軟體上有效,也就是說,零售版本的 Windows 和 Office 無法正常啟用,什麼是零售版?什麼是批量啟用版?如何將零售版轉為批量啟用版?請自行搜尋。
Windows
-
安裝 GVLK
在 Windows 上使用命令slmgr /ipk <GVLK>
安裝 GVLK。
每個作業系統對應不同的 GVLK,可以在官網找到,本文就不重複說明了 -
設定 KMS 伺服器地址
在 Windows 上使用命令slmgr /skms <IP[:PORT]>
設定 KMS 伺服器地址,埠若省略則預設是 1688 埠。 -
啟用 Windows
在 Windows 上使用命令slmgr /ato
來啟用 windows,若能連線 KMS 伺服器,windows 將會自動續期。
Office
-
安裝 GVLK
在 Windows 上使用命令cscript ospp.vbs /inpkey:<GVLK>
安裝 GVLK。
每個版本的 Office 對應不同的 GVLK,可以在官網找到。 -
設定 KMS 伺服器地址
在 Windows 上使用命令cscript ospp.vbs /sethst:<IP[:PORT]>
設定 KMS 伺服器地址,埠若省略則預設是 1688 埠。 -
啟用 Office
在 Windows 上使用命令cscript ospp.vbs /act
來啟用 Office,若能連線 KMS 伺服器,Office 將會自動續期。
本文以 署名-非商業性使用-相同方式共享 4.0 國際 (CC BY-NC-SA 4.0) 協議共享,轉載請署名並保留來源。