在 CentOS 中部署 KMS 伺服器(vlmcsd)
準備 vlmcsd
下載 vlmcsd
本文使用的 vlmcsd 版本為 svn1111,支援的產品:
- Windows Vista – 10
- Windows Server 2008 - 2016
- Office 2013 - 2019
- Visio 2013 - 2019
- Project 2013 – 2019
需要的可以點選此處下載已製作成 ISO 映象檔案的 vlmcsd 安裝檔案。
或者從 進行下載,然後製作成 ISO 映象檔案(注:需科學上網,並註冊下載網站的會員)。
製作 vlmcsd 的 ISO 映象檔案
此步驟僅適用於從 vlmcsd釋出頁下載的 vlmcsd。
將下載的 vlmcsd 解壓縮(解壓密碼請檢視 vlmcsd釋出頁上的說明),並製作成 ISO 映象檔案。
注:將 vlmcsd 的內容直接放在映象檔案根目錄下。
安裝 CentOS 6.8
本文使用的虛擬機器軟體為:VMware Wrokstation,安裝的 CentOS 版本對應的映象檔案為:CentOS-6.8-i386-minimal.iso,需要的可以點選此處進行下載,或從各大 Linux 映象站點進行下載。
注:硬體相容性選擇 Workstation 6,並且安裝最小系統即可。
虛擬機器只保留基本的硬體(光碟機可在 vlmcsd 全部安裝完成後移除,需使用光碟機時可再次新增),選項中的內容無需更改,如圖:
安裝 vlmcsd
注:以下命令均以 root 許可權執行,可使用 su
載入 ISO 映象到光碟機
將準備好的 vlmcsd 的 ISO 映象檔案載入到光碟機。
注意:虛擬機器硬體中已指明光碟機使用主機上的哪個驅動器,不要載入錯了。
掛載光碟機到 CentOS
步驟及命令如下:
- 在 /mnt 目錄下建立 cdrom 目錄:mkdir /mnt/cdrom
- 掛載光碟機:mount /dev/cdrom /mnt/cdrom
若不確定光碟機的名稱,可使用如下命令確定:
ls -l /dev | grep cdrom,如圖:
複製檔案並賦予執行許可權
步驟及命令如下:
- 建立目錄:mkdir /usr/local/vlmcsd
- 進入目錄:cd /mnt/cdrom/ binaries/linux/intel/glibc
- 復件檔案並重命名:cp vlmcsd-x86-glibc /usr/local/vlmcsd/vlmcsd
- 進入目錄:cd /usr/local/vlmcsd
- 賦予執行許可權:chmod 755 vlmcsd
設定防火牆規則
vlmcsd 使用 tcp 協議的 1688 埠進行通訊,所以必須開啟 1688 埠,否則客戶機將無法連線至 KMS 伺服器,步驟及命令如下:
CentOS 6:
- 新增規則:iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
- 儲存規則:service iptables save
- 重啟 CentOS:shutdown -h now
CentOS 7:
- 停止自帶防火牆:systemctl stop firewalld.service
- 禁止自帶防火牆開機自啟動:systemctl disable firewalld.service
- 安裝 iptables:yum install iptables-services
安裝其間可能會有 1-2 次確認,輸入 y 後回車即可。
若已安裝 iptables 則忽略此步驟,可通過檢查 /etc/sysconfig 目錄下是否存在 iptables 檔案來確定,命令如下:
ls -l /etc/sysconfig | grep iptables,結果如圖:
- 開啟 /etc/sysconfig/iptables 檔案:vi /etc/sysconfig/iptables
- 新增防火牆規則
在 -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 後新增以下兩行內容:
# vlmcsd port(這是一行註釋)
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1688 -j ACCEPT
- 重啟 iptables 使配置生效:systemctl restart iptables.service
- 設定 iptables 開機自啟動:systemctl enable iptables.service
設定 vlmcsd 開機自啟動
- 將以下內容新增到 /etc/rc.local:
echo "/usr/local/vlmcsd/vlmcsd -l /var/log/vlmcsd.log > /dev/null 2>&1" >> /etc/rc.local
注:-l /var/log/vlmcsd.log 用於記錄日誌。
- 設定許可權:chmod +755 /etc/rc.local
注:此命令可暫時忽略,若測試不成功再執行此命令。
修改IP設定
- 檢視所有網絡卡的狀態,以確定使用的網絡卡的名稱:ifconfig -a
注:網絡卡的名稱通常為:eth0
- 編輯網絡卡配置檔案:vi /etc/sysconfig/network-scripts/ifcfg-eth0
隨系統啟動:ONBOOT=no 或 ONBOOT=yes
IP 分配方式:BOOTPROTO=dhcp 或 BOOTPROTO=static
若 BOOTPROTO=static,則:
IP 地址:IPADDR=192.168.1.x
子網掩碼:NETMASK=255.255.255.0
閘道器:GATEWAY=192.168.1.1
DNS:DNS1=202.96.128.166
DNS2=202.96.134.133
注:實際使用時,根據網路情況替換為合適的 IP地址、子網掩碼、閘道器及DNS。
- 重啟 CentOS:shutdown -h now
注意事項
- 在防火牆規則新增完成後,可先手動執行 vlmcsd,命令如下:
/usr/local/vlmcsd/vlmcsd
- 如果 1688 埠被其它程式佔用,會有如下報錯:
Warning: 0.0.0.0:1688: Address already in use
Fatal: Could not listen on any socket.
- 如需確認 vlmcsd 是否已執行,可使用如下命令:
ps aux | grep vlmcsd,結果如圖:
最後奉上已經部署好 vlmcsd 的 VMware Workstation 虛擬機器檔案,需要的點選此處進行下載。