Linux'ta Açık Kaynak KMS Sunucusu (Vlmcsd) Kurma


Microsoft'un KMS etkinleştirme sunucusunu taklit etmek için GitHub'da vlmcsd (https://github.com/Wind4/vlmcsd) adlı ilginç bir açık kaynaklı proje var. Kendi KMS sunucunuzu Windows Server dışındaki platformlarda dağıtmak için kullanabilirsiniz (böylece, kullanmazsanız bir Windows Server lisansına kaydedebilirsiniz). Böyle bir KMS sunucusunu Linux, Android, FreeBSD, macOS vb. Yerel ağınızda sunucu ve Microsoft Office.

Sorumluluk Reddi. Bu makale yalnızca eğitim/laboratuvar amaçlıdır ve ürünün Windows veya Office'i yasa dışı olarak etkinleştirmek için kullanıldığını varsaymaz. WindowsOSHub Projesi, lisanssız (korsan) yazılımları hiçbir şekilde kullanmamanızı hatırlatır.

Başlamadan önce, Microsoft KMS Toplu Etkinleştirme teknolojisine aşina olmanızı öneririz. Hemen hemen tüm gerekli bilgiler Microsoft KMS Toplu Etkinleştirme SSS'sinde bulunabilir.

Bu örnekte, KMS ana bilgisayarını dağıtmak için Red Hat Enterprise Linux 8 (RHEL) kullanıyoruz, ancak Ubuntu, Debian, CentOS, Rocky Linux gibi diğer tüm işletim sistemlerini kullanabilirsiniz. hatta NAS cihazınız (bir Synology NAS sunucusuna başarılı kuruluma ilişkin bazı örnekler vardır).

Linux sunucunuza bağlanın ve git ve gcc paketlerini kurmak için yum (dnf) paket yöneticisini kullanın:

# dnf update
# dnf install git gcc

Ardından vlmcsd paketini klonlayın ve kurun:

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

# cd vlmcsd
# make

Bin dizinine değiştirin:

# cd bin

KMS sunucusunu çalıştırın:

# ./vlmcsd

Aşağıdaki mesajı göreceksiniz:

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)

Bu, KMS sunucusunu Linux üzerinde başarıyla derleyip çalıştırdığınız anlamına gelir.

Varsayılan olarak vlmcsd, TCP/1688 varsayılan KMS bağlantı noktasını dinler. Bu nedenle, istemcilerin bağlanmasına izin vermek için Linux güvenlik duvarınızdaki bağlantı noktasını açmanız gerekir. Güvenlik duvarı için aşağıdaki komutları çalıştırın:

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

1688 numaralı bağlantı noktasının açık olduğundan emin olun:

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

Vlmcsd'yi otomatik olarak çalıştırmak için kendi arka plan programınızı oluşturabilir ve onu systemd kullanarak yönetebilirsiniz.

# 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

Aşağıdaki hizmet açıklamasını dosyaya ekleyin:

[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

Ardından KMS hizmetini çalıştırın ve başlatmaya ekleyin:

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

Gelişmiş KMS sunucusu seçeneklerini vlmcsd.ini aracılığıyla ayarlayabilirsiniz (../vlmcsd/etc/ dosyasında bir örnek dosya vardır). Orada KMS sunucusu günlük dosyasına (vlmcsd.log) giden bir yol da ayarlayabilirsiniz. Aşağıdaki seçenekleri kullanarak vlmcsd başlangıç seçeneklerinde dosya yollarını ayarlayabilirsiniz:

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

KMS sunucusunu bir docker kapsayıcısında da çalıştırabilirsiniz:

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 kullanıyorsanız, Windows istemcilerinin etki alanında otomatik olarak bir KMS sunucusu bulmasını sağlayacak bir _VLMCS kaydı oluşturabilirsiniz. Bir DNS SRV kaydı oluşturmak için aşağıdaki PowerShell komutunu kullanın:

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

Neresi

192.168.14.147

Linux ana bilgisayar KMS hizmetinizin üzerinde çalıştığı bir IP adresidir.

Ardından, etki alanınızdaki tüm Windows (ve Office) ana bilgisayarları, üzerlerinde yüklü bir genel GVLK varsa, KMS sunucunuzda otomatik olarak etkinleştirilir. Mevcut tüm Windows sürümlerini etkinleştirmek için GVLK'nin (Genel Toplu Lisans Anahtarları) tam listesi Microsoft web sitesinde yayınlanmıştır: https://docs.microsoft.com/en-us/windows-server/get-started/kms-client- etkinleştirme anahtarları.

Örneğin, bu sayfada Windows Server 2022 Standard (VDYBN-27WPP-V4HQT-9VMD4-VMK7H) ve Windows 10 Pro'yu (W269N-WFGWX-YVC9B-4J6C9-T83GX) etkinleştirmek için GVLK'yi bulun.

Windows'u manuel olarak etkinleştirmek için, Windows sürümünüz için GVLK'yi, KMS etkinleştirme sunucunuzun IP adresini ayarlayın ve etkinleştirme komutunu çalıştırın. Aşağıdaki komutlar kullanılır (örneğin, Windows Server 2022 Standard için):

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

Son komutu çalıştırdıktan sonra şu mesajı göreceksiniz:

Product activated successfully

. Bu, Windows kopyanızın başarıyla etkinleştirildiği anlamına gelir.

Aşağıdaki komutu kullanarak Windows aktivasyon durumunu kontrol edebilirsiniz:

slmgr.vbs -dlv

Örneğimde, Windows Server etkinleştirilirken bir hata oluştu:

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

Bunun nedeni, Windows Server 2022'nin bir değerlendirme sürümünün yüklü olmasıdır. Öncelikle, bu makaleye göre Standart sürüme dönüştürmeniz gerekir:

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

Ardından, Windows örneğimi KMS ana bilgisayarında etkinleştirebilirim.

Aynı şekilde Microsoft Office 2019/2016/2013'ün toplu sürümlerini de KMS sunucunuzda aktif edebilirsiniz. Aşağıdaki komutlar kullanılır:

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

Office etkinleştirme durumunu kontrol etmek için:

cscript ospp.vbs /dstatusall

Microsoft Office KMS aktivasyonu hakkında daha fazla bilgi edinin.

Bu nedenle, Linux'ta bir KMS sunucusunun nasıl dağıtılacağını ve en son Windows Server 2022 ve Windows 11 dahil tüm Windows sürümlerinin nasıl etkinleştirileceğini gösterdik.

İlgili makaleler