侧边栏壁纸
博主头像
学海无涯博主等级

有疑问可发邮件zp@wlzs.cn。

  • 累计撰写 343 篇文章
  • 累计创建 93 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

使用vlmcsd构建kms激活服务器

利刃
2026-06-18 / 0 评论 / 0 点赞 / 6 阅读 / 11317 字
温馨提示:
本文最后更新于 2026-06-18,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

概述

使用vlmcsd搭建一个windows激活服务器。主要是kms激活。
项目地址:https://github.com/Wind4/vlmcsd/releases/tag/svn1113
image.png

安装

# 克隆项目
git clone https://github.com/Wind4/vlmcsd.git
# 进入项目目录
cd vlmcsd
# 编译项目
make
# 将编译成功的二进制程序文件复制至Path路径中
cp bin/vlmcsd /usr/local/bin/

执行示例如下:

[root@zabbix01 ~]# cd /usr/local/src/
[root@zabbix01 src]# ls
[root@zabbix01 src]# git clone https://github.com/Wind4/vlmcsd.git
正克隆到 'vlmcsd'...
remote: Enumerating objects: 1636, done.
remote: Total 1636 (delta 0), reused 0 (delta 0), pack-reused 1636 (from 2)
接收对象中: 100% (1636/1636), 12.31 MiB | 3.00 MiB/s, 完成.
处理 delta 中: 100% (852/852), 完成.
[root@zabbix01 src]# cd vlmcsd
[root@zabbix01 vlmcsd]# make
make[1]: 进入目录“/usr/local/src/vlmcsd/src”
        CC      vlmcs.o <- vlmcs.c
        CC      kmsdata-full.o <- kmsdata-full.c
        CC      crypto.o <- crypto.c
        CC      kms.o <- kms.c
        CC      endian.o <- endian.c
        CC      output.o <- output.c
        CC      shared_globals.o <- shared_globals.c
        CC      helpers.o <- helpers.c
        CC      network.o <- network.c
        CC      rpc.o <- rpc.c
        CC      crypto_internal.o <- crypto_internal.c
        CC      dns_srv.o <- dns_srv.c
        CC      vlmcsd.o <- vlmcsd.c
        CC      kmsdata.o <- kmsdata.c
        LD      ../bin/vlmcs <- vlmcs.o kmsdata-full.o crypto.o kms.o endian.o output.o shared_globals.o helpers.o network.o rpc.o crypto_internal.o dns_srv.o
        LD      ../bin/vlmcsd <- vlmcsd.o kmsdata.o crypto.o kms.o endian.o output.o shared_globals.o helpers.o network.o rpc.o crypto_internal.o
make[1]: 离开目录“/usr/local/src/vlmcsd/src”
[root@zabbix01 src]# cp bin/vlmcsd /usr/local/bin/
[root@zabbix01 vlmcsd]# ll /usr/local/bin/vlmcsd 
-rwxr-xr-x 1 root root 43080 6月  18 21:44 /usr/local/bin/vlmcsd

注意

事项一:git没有安装

一般新安装的Linux操作系统是没有git命令的,可以直接使用dnf工具安装的,手动安装一下。

[root@zabbix01 src]# git
-bash: git: 未找到命令

安装git

dnf -y install git

事项二:编译工具没有安装

在安装Linux操作系统时,没有选择开发工具,会造成无法进行编译安装软件,需要进行安装。

[root@zabbix01 vlmcsd]# make
-bash: make: 未找到命令

安装开发工具组

[root@zabbix01 vlmcsd]# dnf groupinstall "Development Tools" -y

如果以上命令遇到阻碍导致无法成功安装gcc及make,可以使用以下命令进行覆盖安装
image.png

[root@zabbix01 vlmcsd]# dnf groupinstall "Development Tools" --nobest --allowerasing -y

image.png

配置开机自启

使用以下两个方式均可。

方式一:系统服务

编写服务文件

vi /etc/systemd/system/vlmcsd.service

将下列信息写入service文件中。

[Unit]
Description=KMS server (vlmcsd)
After=network.target
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
#如下路径替换成实际的
ExecStart=/usr/local/bin/vlmcsd
RemainAfterExit=yes
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target

打开服务

[root@zabbix01 vlmcsd]# systemctl start vlmcsd

设置开机启动

[root@zabbix01 vlmcsd]# systemctl enable vlmcsd

方式二:Supervisor

需要事先安装supervisor 并且将其设置为开机启动
具体参考地址:https://blog.wlzs.cn/archives/shi-yong-supervisor

编写应用配置

vi /etc/supervisord.d/vlmcsd.ini

具体内容如下:

[program:vlmcsd]
# 路径根据实际情况进行填写
command=/usr/local/bin/vlmcsd
autostart=true
autorestart=true

启用服务

systemctl start supervisord
systemctl enable supervisord
supervisorctl start vlmcsd 

验证服务

vlmcsd监听在1688端口进行服务,可以查看端口是否正常开放,也可以通过进程的方式查看。

# 端口方式
[root@zabbix01 vlmcsd]# ss -tnlp | grep 1688
LISTEN 0      128          0.0.0.0:1688       0.0.0.0:*    users:(("vlmcsd",pid=3701385,fd=4))                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
LISTEN 0      128             [::]:1688          [::]:*    users:(("vlmcsd",pid=3701385,fd=3))                                                                                                                                                                                       
# 进程方式
[root@zabbix01 vlmcsd]# ps -aux | grep vlmcsd
root     3701385  0.0  0.0   6572   116 ?        Ss   21:45   0:00 /usr/local/bin/vlmcsd

开放端口

Linux一般都会开启selinux及firewalld,如不正确配置会导致服务无法正常提供服务。

设置selinux

显示为Disabled为关闭状态,可跳过此步骤。

[root@zabbix01 vlmcsd]# getenforce 
Disabled

如果selinux没有关闭,可以通过修改配置文件进行。

[root@zabbix01 vlmcsd]# vi /etc/selinux/config 

配置文件如下图所示,将SELINUX=enforcing更改为SELINUX=disabled。重启后会永久生效。一定要重启!
image.png

设置防火墙

如果防火墙已关闭,跳过此步骤。
inactive(dead)为关闭状态。

[root@zabbix01 vlmcsd]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

如防火墙已开启,按以下方式设置端口开放

# 添加防火墙端口开放规则 允许访问1688的端口
[root@zabbix01 vlmcsd]# firewall-cmd --zone=public --add-port=1688/tcp --permanent
# 重载防火墙规则,让规则生效
[root@zabbix01 vlmcsd]# firewall-cmd --reload

客户端测试

telnet server_ip 1688

image.png
如下图所示,即客户端访问服务器正常,服务已正常启动。
image.png

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区