Установка сервера 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 Server и Microsoft Office в локальной сети.

Отказ от ответственности. Данная статья предоставлена исключительно для образовательных/лабораторных целей и не предполагает использование продукта для незаконной активации Windows или Office. Проект WindowsOSHub напоминает вам о недопустимости использования нелицензионного (пиратского) программного обеспечения в любой форме.

Перед началом работы мы рекомендуем вам ознакомиться с технологией Microsoft KMS Volume Activation. Почти всю необходимую информацию можно найти в FAQ по Microsoft KMS Volume Activation.

В этом примере мы используем Red Hat Enterprise Linux 8 (RHEL) для развертывания узла KMS, но вы можете использовать любые другие ОС, такие как Ubuntu, Debian, CentOS, Rocky Linux. или даже ваше устройство NAS (есть несколько примеров успешной установки на NAS-сервер Synology).

Подключитесь к серверу Linux и с помощью менеджера пакетов yum (dnf) установите пакеты git и gcc:

# dnf update
# dnf install git gcc

Затем клонируйте и установите пакет vlmcsd:

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

Установка vlmcsd в Linux Установите vlmcsd в Linux

# cd vlmcsd
# make

Сборка KMS-сервера под Linux Сборка KMS-сервера для Linux

Перейдите в каталог bin:

# cd bin

Запустите сервер KMS:

# ./vlmcsd

Запуск эмулятора сервера KMS в Linux Запуск эмулятора сервера KMS в Linux

Вы увидите следующее сообщение:

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

открыть порт 1688 kms сервероткрыть порт 1688 kms сервер

Чтобы запускать vlmcsd автоматически, можно создать собственный демон и управлять им с помощью 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-сервер на LInux для активации Windows и Officeзапустите собственный KMS-сервер на LInux для активации Windows и Office

Вы можете настроить дополнительные параметры KMS-сервера через vlmcsd.ini (пример файла находится в ../vlmcsd/etc/). Там же можно задать путь к файлу журнала сервера KMS (vlmcsd.log). Пути к файлам можно задать в параметрах запуска vlmcsd, используя следующие опции:

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

Вы также можете запустить сервер KMS в контейнере docker:
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 "woshub.com" -DomainName "192.168.14.147" -Priority 0 -Weight 0 -Port 1688

где 192.168.14.147 это IP-адрес вашего Linux-хоста, на котором запущена служба KMS.

После этого все хосты Windows (и Office) в вашем домене будут автоматически активированы на вашем KMS-сервере, если на них установлен публичный GVLK. Полный список GVLK (Generic Volume License Keys) для активации всех доступных версий Windows опубликован на сайте Microsoft: https://docs.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys.

Например, найти 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 на узле KMSактивировать окна на узле KMS

Проверить статус активации 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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *