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