ค้นหาเว็บไซต์

การติดตั้งเซิร์ฟเวอร์ KMS แบบโอเพ่นซอร์ส (Vlmcsd) บน Linux


มีโครงการโอเพ่นซอร์สที่น่าสนใจบน GitHub ชื่อ vlmcsd (https://github.com/Wind4/vlmcsd) เพื่อจำลองเซิร์ฟเวอร์การเปิดใช้งาน KMS ของ Microsoft คุณสามารถใช้เพื่อปรับใช้เซิร์ฟเวอร์ KMS ของคุณเองบนแพลตฟอร์มอื่นที่ไม่ใช่ Windows Server (ดังนั้น คุณสามารถประหยัดใบอนุญาต Windows Server หากคุณไม่ได้ใช้) คุณสามารถติดตั้งเซิร์ฟเวอร์ KMS ดังกล่าวบน Linux, Android, FreeBSD, macOS และอื่นๆ ในบทความนี้ เราจะแสดงวิธีติดตั้ง KMS ที่ใช้ vlmcsd บนโฮสต์ Linux และใช้เพื่อเปิดใช้งานคอมพิวเตอร์ที่ใช้เดสก์ท็อปรุ่น Windows, Windows เซิร์ฟเวอร์และ Microsoft Office บนเครือข่ายท้องถิ่นของคุณ

ข้อจำกัดความรับผิดชอบ บทความนี้จัดทำขึ้นเพื่อจุดประสงค์ด้านการศึกษา/ห้องปฏิบัติการเท่านั้น และไม่ได้หมายความถึงการใช้ผลิตภัณฑ์เพื่อเปิดใช้งาน Windows หรือ Office อย่างผิดกฎหมาย โครงการ WindowsOSHub เตือนคุณว่าอย่าใช้ซอฟต์แวร์ที่ไม่มีใบอนุญาต (ละเมิดลิขสิทธิ์) ในทุกรูปแบบ

ก่อนที่คุณจะเริ่มต้น เราขอแนะนำให้คุณทำความคุ้นเคยกับเทคโนโลยี Microsoft KMS Volume Activation ข้อมูลที่จำเป็นเกือบทั้งหมดสามารถพบได้ในคำถามที่พบบ่อยเกี่ยวกับการเปิดใช้งาน Microsoft KMS Volume

ในตัวอย่างนี้ เราใช้ Red Hat Enterprise Linux 8 (RHEL) เพื่อปรับใช้โฮสต์ KMS แต่คุณสามารถใช้ OS อื่นๆ เช่น Ubuntu, Debian, CentOS, Rocky Linux หรือแม้กระทั่งอุปกรณ์ NAS ของคุณ (มีตัวอย่างบางส่วนของการติดตั้งสำเร็จไปยังเซิร์ฟเวอร์ Synology NAS)

เชื่อมต่อกับเซิร์ฟเวอร์ Linux ของคุณและใช้ตัวจัดการแพ็คเกจ yum (dnf) เพื่อติดตั้งแพ็คเกจ git และ gcc:

# dnf update
# dnf install git gcc

จากนั้นโคลนและติดตั้งแพ็คเกจ vlmcsd:

# git clone https://github.com/Wind4/vlmcsd

# cd vlmcsd
# make

เปลี่ยนเป็นไดเร็กทอรี bin:

# cd bin

เรียกใช้เซิร์ฟเวอร์ KMS:

# ./vlmcsd

คุณจะเห็นข้อความต่อไปนี้:

Connecting to 127.0.0.1:1688 ... successful
Sending activation request (KMS V6) 1 of 1 -> 55041-00206-559-475403-03-1076-6002.0000-1482020 (3A1C049600B60076)

หมายความว่าคุณได้รวบรวมและเรียกใช้เซิร์ฟเวอร์ KMS บน Linux เรียบร้อยแล้ว

ตามค่าเริ่มต้น vlmcsd จะรับฟังพอร์ต KMS เริ่มต้น TCP/1688 ดังนั้น คุณต้องเปิดพอร์ตในไฟร์วอลล์ Linux เพื่อให้ไคลเอ็นต์เชื่อมต่อได้ สำหรับ firewalld ให้รันคำสั่งด้านล่าง:

# firewall-cmd --zone=public --permanent --add-port=1688/tcp
# firewall-cmd -reload

ตรวจสอบให้แน่ใจว่าพอร์ต 1688 เปิดอยู่:

# firewall-cmd --list-port
# netstat -ntlp | grep LISTEN

หากต้องการเรียกใช้ vlmcsd โดยอัตโนมัติ คุณสามารถสร้าง daemon ของคุณเองและจัดการโดยใช้ systemd

# cp vlmcs /usr/bin
# touch /etc/systemd/system/kms-script.service
# chmod 664 /etc/systemd/system/kms-script.service
# nano /etc/systemd/system/kms-script.service

เพิ่มคำอธิบายบริการต่อไปนี้ลงในไฟล์:

[Unit]
Description=MSFT KMS Server Emulator
After=network.target
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/bin/vlmcsd
RemainAfterExit=yes
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target

จากนั้นเรียกใช้บริการ KMS และเพิ่มไปที่การเริ่มต้น:

# systemctl daemon-reload
# systemctl start kms-script.service
# systemctl status kms-script.service
# systemctl enable kms-script.service

คุณสามารถตั้งค่าตัวเลือกเซิร์ฟเวอร์ KMS ขั้นสูงผ่าน vlmcsd.ini (มีไฟล์ตัวอย่างใน ../vlmcsd/etc/) นอกจากนี้ คุณยังสามารถกำหนดเส้นทางไปยังไฟล์บันทึกของเซิร์ฟเวอร์ KMS (vlmcsd.log) คุณสามารถกำหนดเส้นทางไฟล์ในตัวเลือกการเริ่มต้น vlmcsd โดยใช้ตัวเลือกต่อไปนี้:

-i /etc/vlmcsd.ini
-l /var/log/vlmcsd.log

คุณยังสามารถเรียกใช้เซิร์ฟเวอร์ KMS ในคอนเทนเนอร์นักเทียบท่า:

sudo docker pull mikolatero/vlmcsd
sudo docker run -d -p 1688:1688 --restart=always --name kms_server mikolatero/vlmcsd /vlmcsd -D -d -t 3 -e -v -R172800 -A10080

หากคุณใช้ Microsoft DNS คุณสามารถสร้างบันทึก _VLMCS ที่จะอนุญาตให้ไคลเอนต์ Windows ค้นหาเซิร์ฟเวอร์ KMS ในโดเมนโดยอัตโนมัติ หากต้องการสร้างระเบียน DNS SRV ให้ใช้คำสั่ง PowerShell ต่อไปนี้:

Add-DnsServerResourceRecord -Srv -Name "_VLMCS._tcp" -ZoneName "a-d.site" -DomainName "192.168.14.147" -Priority 0 -Weight 0 -Port 1688

ที่ไหน

192.168.14.147

เป็นที่อยู่ IP ของบริการ KMS โฮสต์ Linux ของคุณที่ทำงานอยู่

จากนั้นโฮสต์ Windows (และ Office) ทั้งหมดในโดเมนของคุณจะเปิดใช้งานโดยอัตโนมัติบนเซิร์ฟเวอร์ KMS ของคุณ หากโฮสต์เหล่านั้นมี GVLK สาธารณะติดตั้งอยู่ รายการทั้งหมดของ GVLK (Generic Volume License Keys) เพื่อเปิดใช้งาน Windows เวอร์ชันที่มีอยู่ทั้งหมดเผยแพร่บนเว็บไซต์ของ Microsoft: https://docs.microsoft.com/en-us/windows-server/get-started/kms-client- ปุ่มเปิดใช้งาน

ตัวอย่างเช่น ค้นหา GVLK เพื่อเปิดใช้งาน Windows Server 2022 Standard (VDYBN-27WPP-V4HQT-9VMD4-VMK7H) และ Windows 10 Pro (W269N-WFGWX-YVC9B-4J6C9-T83GX) ในหน้านี้

หากต้องการเปิดใช้งาน Windows ด้วยตนเอง ให้ตั้งค่า GVLK สำหรับเวอร์ชัน Windows ของคุณ ที่อยู่ IP ของโฮสต์การเปิดใช้งาน KMS และเรียกใช้คำสั่งเปิดใช้งาน ใช้คำสั่งต่อไปนี้ (เช่น สำหรับ Windows Server 2022 Standard):

slmgr.vbs -ipk VDYBN-27WPP-V4HQT-9VMD4-VMK7H
slmgr.vbs -skms 192.168.14.147
slmgr.vbs -ato

หลังจากที่คุณเรียกใช้คำสั่งสุดท้าย คุณจะเห็นข้อความ:

Product activated successfully

. ซึ่งหมายความว่าสำเนา Windows ของคุณเปิดใช้งานสำเร็จแล้ว

คุณสามารถตรวจสอบสถานะการเปิดใช้งาน Windows ได้โดยใช้คำสั่ง:

slmgr.vbs -dlv

ในตัวอย่างของฉัน เกิดข้อผิดพลาดขณะเปิดใช้งาน Windows Server:

Error: 0xC004F069 On a computer running Microsoft Windows non-core edition, run 'slui.exe 0x2a 0xC004F069' to display the error text.

เหตุผลคือฉันติดตั้ง Windows Server 2022 เวอร์ชันทดลองแล้ว ก่อนอื่น คุณต้องแปลงเป็นเวอร์ชันมาตรฐานตามบทความนี้:

dism /online /set-edition:serverstandard /productkey:VDYBN-27WPP-V4HQT-9VMD4-VMK7H /accepteula

จากนั้นฉันสามารถเปิดใช้งานอินสแตนซ์ Windows ของฉันบนโฮสต์ KMS

ในทำนองเดียวกัน คุณสามารถเปิดใช้งาน Microsoft Office เวอร์ชันปริมาณ 2019/2016/2013 บนโฮสต์ KMS ของคุณ ใช้คำสั่งต่อไปนี้:

cd C:\Program Files\Microsoft Office\Office16
cscript ospp.vbs /sethst: 192.168.14.147
cscript ospp.vbs /act

ในการตรวจสอบสถานะการเปิดใช้งาน Office:

cscript ospp.vbs /dstatusall

เรียนรู้เพิ่มเติมเกี่ยวกับการเปิดใช้งาน Microsoft Office KMS

ดังนั้นเราจึงแสดงวิธีการปรับใช้เซิร์ฟเวอร์ KMS บน Linux และเปิดใช้งาน Windows ทุกเวอร์ชัน รวมถึง Windows Server 2022 และ Windows 11 ล่าสุด

บทความที่เกี่ยวข้อง