Бесплатный KMS сервер⁠⁠

Для активации корпоративных лицензий Microsoft в локальной сети организации рекомендуют использовать KMS сервер. Сервер многопользовательской активации KMS позволяет активировать продукты Microsoft Windows и Office без доступа в Интернет. Принцип активации такой, клиент подключившись к сети организации, выполняет запрос к серверу DNS, на предмет наличия записи SRV_VLMCS._TCP и если такая запись имеется, то клиент отправляет запрос KMS серверу для активации. Если запись в DNS сервере отсутствует или же в организации отсутствует DNS сервер, то сервер активации на клиенте указывается вручную. Для проверки наличия DNS записи необходимо ввести команду nslookup -type=srv _vlmcs._tcp. Далее сервер активации, в зависимости от установленного KMS ключа, либо активирует лицензию на 180 дней, либо нет. Через 180 дней процедура активации повторяется, хотя клиенты по умолчанию пытаются возобновить активацию через каждые семь дней. После возобновления активации клиента отсчет срока активации начинается заново. Установленный KMS ключ на сервере может активировать нижестоящие версии продуктов Microsoft. Таблицу активации клиентов можно посмотреть здесь. Можно активировать и вышестоящие версии, но для этого на сервере потребуется установить необходимые обновления.

Чтобы развернуть сервер KMS необходимо иметь ключ узла KMS, который можно найти в личном кабинете с корпоративными лицензиями. При установке ключа на сервере активации потребуется доступ в Интернет для проверки его на серверах Microsoft. Потом уже доступ в Интернет можно отключить. Таким ключом на сервере можно активировать большое количество клиентов, даже превышающее количество имеющихся лицензий в организации. Все было замечательно, до поры до времени, пока мир не сошел с ума. Microsoft начала сворачивать свою деятельность на территории РФ и кинула корпоративных клиентов, а потом и еще обычных пользователей. Ключи узла KMS заблокированы на серверах Microsoft и по телефону их активировать тоже теперь не возможно, даже если прикинуться жителем Казахстана. Блокировка скорее всего происходит по принадлежности ключа к территории РФ. Все ключи в моей организации оказались заблокированы. Так мы жили месяца три с не активированными лицензиями.

Отношения с Microsoft уже испорчены, поэтому мне и карты в руки. В этой жизни пока сам не возьмешься, никто тебе подарков не сделает (С). Хотелось понять есть ли какой-нибудь способ наказать Microsoft за подлость с их стороны. Ответ я нашел очень быстро. В сети, на гитхабе, есть проект под названием vlmcsd. Господа, это просто подарок для халявщиков. VLMCSD — это KMS эмулятор с открытым кодом, разработанный на C и работающий на таких ОС как Linux, FreeBSD, Solaris, Minix, Mac OS, iOS и Windows. На данный момент эмулятор поддерживает версии протоколов KMS 4, 5 и 6. Сам эмулятор можно скомпилировать из исходников или же воспользоваться уже готовыми бинарниками. Настройка и запуск KMS сервера займет совсем немного времени.

Опишу процесс поднятия KMS узла на Debian и Alpine.

Скачиваем архив с бинарниками

wget -O vlmcsd-1113.tar.gz https://github.com/Wind4/vlmcsd/releases/download/svn1113/bi…

Распаковываем архив

tar -C vlmcsd-1113 -xvf vlmcsd-1113.tar.gz.

Так же еще необходимо скачать пару файлов

wget -O vlmcds.ini https://github.com/Wind4/vlmcsd/raw/master/etc/vlmcsd.ini

wget -O vlmcsd.kmd https://github.com/Wind4/vlmcsd/raw/master/etc/vlmcsd.kmd.

Создаем каталог mkdir -p /opt/vlmcsd. Копируем туда файлы

cp vlmcsd.{ini, kmd} /opt/vlmcsd/

cp vlmcsd-1113/binaries/Linux/intel/glibc/vlmcsd-x64-glibc /opt/vlmcsd/vlmcsd

Для Alpine необходимо скопировать следующий бинарник

cp vlmcsd-1113/binaries/Linux/static/vlmcsd-x64-musl-static /opt/vlmcsd/vlmcsd.

Далее лучше всего создать пользователя, с правами которого будет запускаться демон

useradd -s /sbin/nologin -d /run/vlmcsd/ -m -r vlmcsd.

В Alpine команда выглядит следующим образом

adduser -S -h /run/vlmcsd vlmcsd.

Раздаем пользователю vlmcsd права на каталог

chown -R vlmcsd:vlmcsd /opt/vlmcsd

В Alpine команда следующая

chown -R vlmcsd:nogroup /opt/vlmcsd

Необходимо еще создать файл для логов

touch /var/log/vlmcsd.log

Раздаем права на vlmcsd.log

chown vlmcsd:vlmcsd /var/log/vlmcsd.log

Для Alpine

chwon vlmcsd:nogroup /var/log/vlmcsd.log.

Рекомендую немного отредактировать файл настроек vlmcsd.ini. Я прописал такие настройки:

Listen = 192.168.88.10:1688

PidFile = /var/run/vlmcsd/vlmcsd.pid

KmsData = /opt/vlmcsd/vlmcsd.kmd

LogFile = /var/log/vlmcsd.log

User = vlmcsd

Для Debian осталось написать systemd unit для запуска демона. Создаем файл touch /etc/systemd/system/vlmcsd.service и прописываем в нем такие строки:

[Unit]

Description=Microsoft KMS Server

After=network-online.target

Wants=network-online.target

[Service]

Type=forking

ExecStart=/opt/vlmcsd/vlmcsd -i /opt/vlmcsd/vlmcsd.ini

[Install]

WantedBy=multi-user.target

Теперь можно запускать KMS сервер systemctl start vlmcsd и проверить статус systemctl status vlmcsd. На выхлопе должно получиться следующее:

Также можно проверить статус порта netstat -tunlp | grep vlmcsd. Картина должна быть следующей:

tcp 0 0 192.168.88.10:1688 0.0.0.0:* LISTEN 1466/vlmcsd

Для Alpine необходимо написать init script. Создаем файл touch /etc/init.d/vlmcsd и раздаем на него права chown root:root /etc/init.d/vlmcsd и chmod 755 /etc/init.d/vlmcsd. Добавляем в него такие строчки:

#!/sbin/openrc-run

name=»VLMCSD»

description=»Microsoft KMS Server»

command=»/opt/vlmcsd/vlmcsd»

command_args=»-i /opt/vlmcsd/vlmcsd.ini»

depend() {

need net

}

Можно запускать service vlmcsd start и проверить статус service vlmcsd status. Статус запуска должен быть started. Так же можно проверить статус порта netstat -tunlp | grep vlmcsd.

Сервер KMS запущен, осталось рассказать клиентам куда ходить им за активацией. В случае наличии в организации DNS сервера необходимо будет для начала создать A запись указывающую на IP адрес KMS сервера. Далее необходимо в зоне прямого просмотра создать SRV запись с названием сервиса _VLMCS, протоколом _tcp, номером порта 1688 и указать FQDN сервера KMS.

При наличии DNS сервера и записи, клиенты начнут запрашивать активацию на KMS сервере. Для активации на клиентах должен быть установлен GVLK ключ.

Для Windows ключ устанавливается командой slmgr /ipk GVLK_KEY.

Для Office необходимо в директории с установленным Office (например C:\Program Files\Microsoft Office\Office16) запустить cscript ospp.vbs /inpkey:GVLK_KEY.

Для ручного указания KMS сервера на клиенте для Windows необходимо ввести команду slmgr /skms KMS_SRV:Port.

Для Office команда будет следующая script ospp.vbs /sethst:KMS_SRV /setprt:Port.

Ну и проверить статус активации на клиенте для Windows slmgr /dlv,для Office cscript ospp.vbs /dstatus.

GVLK ключи для Windows корпорация Microsoft выкладывает в свободном доступе, как и для Office 2016/2019/2021. Для Office 2010/2013 ключей GVLK я на сайтах Microsoft не нашел поэтому выложу здесь.

Office 2010 GVLK:

Office Professional Plus 2010 VYBBJ-TRJPB-QFQRF-QFT4D-H3GVB

Office Standard 2010 V7QKV-4XVVR-XYV4D-F7DFM-8R6BM

Office Home and Business 2010 D6QFG-VBYP2-XQHM7-J97RH-VVRCK

Project Professional 2010 YGX6F-PGV49-PGW3J-9BTGG-VHKC6

Project Standard 2010 4HP3K-88W3F-W2K3D-6677X-F9PGB

Visio Premium 2010 D9DWC-HPYVV-JGF4P-BTWQB-WX8BJ

Visio Professional 2010 7MCW8-VRQVK-G677T-PDJCM-Q8TCP

Visio Standard 2010 767HD-QGMWX-8QTDB-9G3R2-KHFGJ

Access 2010 V7Y44-9T38C-R2VJK-666HK-T7DDX

Excel 2010 H62QG-HXVKF-PP4HP-66KMR-CW9BM

InfoPath 2010 K96W8-67RPQ-62T9Y-J8FQJ-BT37T

OneNote 2010 Q4Y4M-RHWJM-PY37F-MTKWH-D3XHX

Outlook 2010 7YDC2-CWM8M-RRTJC-8MDVC-X3DWQ

PowerPoint 2010 RC8FX-88JRY-3PF7C-X8P67-P4VTT

Publisher 2010 BFK7F-9MYHM-V68C7-DRQ66-83YTP

SharePoint Workspace 2010 QYYW6-QP4CB-MBV6G-HYMCJ-4T3J4

Word 2010 HVHB3-C6FV7-KQX9W-YQG79-CRY7T

Office 2013 GVLK:

Office 2013 Professional Plus YC7DK-G2NP3-2QQC3-J6H88-GVGXT

Office 2013 Standard KBKQT-2NMXY-JJWGP-M62JB-92CD4

Project 2013 Professional FN8TT-7WMH6-2D4X9-M337T-2342K

Project 2013 Standard 6NTH3-CW976-3G3Y2-JK3TX-8QHTT

Visio 2013 Professional C2FG9-N6J68-H8BTJ-BW3QX-RM3B3

Visio 2013 Standard J484Y-4NKBF-W2HMG-DBMJC-PGWR7

Access 2013 NG2JY-H4JBT-HQXYP-78QH9-4JM2D

Excel 2013 VGPNG-Y7HQW-9RHP7-TKPV3-BG7GB

InfoPath 2013 DKT8B-N7VXH-D963P-Q4PHY-F8894

Lync 2013 2MG3G-3BNTT-3MFW9-KDQW3-TCK7R

OneNote 2013 TGN6P-8MMBC-37P2F-XHXXK-P34VW

Outlook 2013 QPN8Q-BJBTJ-334K3-93TGY-2PMBT

PowerPoint 2013 4NT99-8RJFH-Q2VDH-KYG2C-4RD4F

Publisher 2013 PN2WF-29XG2-T9HJ7-JQPJR-FCXK4

Word 2013 6Q7VD-NX8JD-WJ2VH-88V73-4GBJ7

На данный момент таким образом у меня в организации активируются Windows 7/10, Server 2008/2012/2019, Office 2010/2016. Попытки активации можно посмотреть в логе /var/log/vlmcsd.log.
Если заглянуть в каталог с распакованным vlmcsd, то там есть каталог floppy, в котором находится файл образ загрузочной дискеты floppy144-2.fvd. Дискеты конечно уже редкость, но сам факт того что сервер активации продуктов Microsoft умещается на дискетку стоит похвалы. Так же есть уже готовый докер с vlmcsd, если кому то хочется быстренько развернуть KMS сервер.

Статья не моя, спасибо пикабушнику alfos79 разместил для себя как памятку, что бы не искать.

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

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