Установка KMS сервера vlmcsd на Linux для активации Windows и Office

На GitHub есть интересный open source проект vlmcsd ( https://github.com/Wind4/vlmcsd ) для эмуляции сервера KMS активации Microsoft. Вы можете использовать его для развертывания собственного KMS сервера на платформах, отличных от Windows Server (тем самым можно сэкономить на лицензии Windows Server, если вы его не используете). Такой KMS сервер можно установить на Linux, Android, FreeBSD, Mac OS. В этой статье мы покажем, как установить KMS сервер на базе vlmcsd в CentOS Linux и использовать его для сетевой активации компьютеров с десктопными версиями Windows, Windows Server и Microsoft Office.

Дисклаймер . Данная статья предоставляется в образовательных целях и не предполагает использование рассмотренного продукта для незаконной активации Windows или Office. Проект WinITPro не поддерживает использование нелицензионного ПО ни в каком виде.

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

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

Подключитесь к своему серверу 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_x000D_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 вручную, вы можете создать собственный демон, которым можно управлять через systemd.

#cp vlmcsd /usr/bin
# 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]_x000D_Description=Microsoft KMS Server_x000D_After=network.target_x000D_After=network-online.target_x000D_Wants=network-online.target_x000D_ _x000D_[Service]_x000D_Type=oneshot_x000D_ExecStart=/usr/bin/vlmcsd_x000D_RemainAfterExit=yes_x000D_LimitNOFILE=65536_x000D_ _x000D_[Install]_x000D_WantedBy=multi-user.target_x000D_

Осталось запустить службу 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 сервер в 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 запись для автоматического поиска KMS сервера клиентами в домене. Для создания записи в DNS используйте такую команду PowerShell :
Add-DnsServerResourceRecord -Srv -Name "_VLMCS._tcp" -ZoneName "remontka.ri" -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, адрес сервера KMS активации и выполнить команду активации. Используются следующие команды (например, для Windows Server 2022 Std):

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.

Причина в том, что у меня установлена ознакомительная (Evaluation) версия Windows Server 2022. Сначала нужно конвертировать ее в полноценную Standard согласностатье :

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

И только после этого можно активировать Windows.

Аналогичным образом вы можете активировать на KMS сервере корпоративные версии Microsoft Office 2019/2016/2013. Для этого используются такие команды:

cd C:Program FilesMicrosoft OfficeOffice16
cscript ospp.vbs /sethst: 192.168.14.147
cscript ospp.vbs /act

Проверить статус активации Office можно так:

cscript ospp.vbs /dstatusall

Итак, мы показали, как развернуть KMS сервер на Linux, на котором можно активировать все версии Windows включая последние Windows Server 2022 и Windows 11

admin

Share
Published by
admin

Recent Posts

Лучшие дистрибутивы Linux

Если говорить о том, какие лучшие дистрибутивы Linux мы знаем, то этот список может быть…

4 дня ago

Лучшие браузеры для Ubuntu

Хотя Ubuntu и поставляется со встроенным обозревателем Firefox многие пользователи считают что это не самая…

4 дня ago

Установка Remmina Ubuntu 16.04 или 16.10

Что такое Remmina? Remmina — это совершенно бесплатный и свободный клиент так называемого удаленного рабочего…

4 дня ago

Плюсы Ubuntu

Как мы знаем, Ubuntu это самая популярная сборка из систем на базе ядра Linux. У…

4 дня ago

Выбираем ноутбук для Linux

Выбор ноутбука для каждого пользователя это довольно кропотливый процесс. Люди стараются подобрать ноутбук который будет…

4 дня ago

Установка Linux рядом с Windows 10

Если вы решили ознакомиться с операционной системой Linux более детально и задались вопросом как установить…

4 дня ago