准备 vlmcsd

下载 vlmcsd

本文使用的 vlmcsd 版本为 svn1111,支持的产品:

Windows Vista – 10
Windows Server 2008 - 2016
Office 2013 - 2019
Visio 2013 - 2019
Project 2013 – 2019

需要的可以点击此处:https://fangyd.ctfile.com/fs/18430465-312415932 下载已制作成 ISO 镜像文件的 vlmcsd 安装文件。

或者从 vlmcsd发布页:https://forums.mydigitallife.net/threads/emulated-kms-servers-on-non-windows-platforms.50234/ 进行下载,然后制作成 ISO 镜像文件。

制作 vlmcsd 的 ISO 镜像文件

此步骤仅适用于从 vlmcsd发布页下载的 vlmcsd。

将下载的 vlmcsd 解压缩(解压密码请查看 vlmcsd发布页上的说明),并制作成 ISO 镜像文件。

注:将 vlmcsd 的内容直接放在镜像文件根目录下。

1、安装 CentOS 6.8
本文使用的虚拟机软件为:VMware Wrokstation,安装的 CentOS 版本对应的镜像文件为:CentOS-6.8-i386-minimal.iso,需要的可以点击此处进行下载,或从各大 Linux 镜像站点进行下载。

注:硬件兼容性选择 Workstation 6,并且安装最小系统即可。

虚拟机只保留基本的硬件(光驱可在 vlmcsd 全部安装完成后移除,需使用光驱时可再次添加),选项中的内容无需更改,如图:

2、安装 vlmcsd

注:以下命令均以 root 权限执行,可使用 su 命令临时切换至 root 权限。

加载 ISO 镜像到光驱

将准备好的 vlmcsd 的 ISO 镜像文件加载到光驱。

注意:虚拟机硬件中已指明光驱使用主机上的哪个驱动器,不要加载错了。

3、挂载光驱到 CentOS

步骤及命令如下:

在 /mnt 目录下创建 cdrom 目录:

# mkdir /mnt/cdrom
挂载光驱:

# mount /dev/cdrom /mnt/cdrom

若不确定光驱的名称,可使用如下命令确定:

# ls -l /dev | grep cdrom

如图:

4、复制文件并赋予执行权限

步骤及命令如下:

创建目录,进入目录:

# mkdir /usr/local/vlmcsd
# cd /mnt/cdrom/ binaries/linux/intel/glibc

复件文件并重命名:
# cp vlmcsd-x86-glibc /usr/local/vlmcsd/vlmcsd
进入目录,赋予执行权限:

# cd /usr/local/vlmcsd

# chmod 755 vlmcsd

5、设置防火墙规则

vlmcsd 使用 tcp 协议的 1688 端口进行通信,所以必须打开 1688 端口,否则客户机将无法连接至 KMS 服务器,步骤及命令如下:

CentOS 6:

添加规则,保存规则:

# iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT

# service iptables save
# shutdown -h now

CentOS 7:

停止自带防火墙,禁止自带防火墙开机自启动:

# systemctl stop firewalld.service

# systemctl disable firewalld.service

安装 iptables:

# yum install iptables-services

若已安装 iptables 则忽略此步骤,可通过检查 /etc/sysconfig 目录下是否存在 iptables 文件来确定,命令如下:

# ls -l /etc/sysconfig | grep iptables

结果如图:

打开 /etc/sysconfig/iptables 文件:

# vi /etc/sysconfig/iptables
添加防火墙规则
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 后添加以下两行内容:

# vlmcsd port(这是一行注释)

-A INPUT -p tcp -m state --state NEW -m tcp --dport 1688 -j ACCEPT

重启 iptables 使配置生效:

# systemctl restart iptables.service

# systemctl enable iptables.service

6、设置 vlmcsd 开机自启动

将以下内容添加到 /etc/rc.local:
# echo "/usr/local/vlmcsd/vlmcsd -l /var/log/vlmcsd.log > /dev/null 2>&1" >> /etc/rc.local

注:-l /var/log/vlmcsd.log 用于记录日志。

设置权限:chmod +755 /etc/rc.local
注:此命令可暂时忽略,若测试不成功再执行此命令。

7、注意事项
在防火墙规则添加完成后,可先手动运行 vlmcsd,命令如下:
# /usr/local/vlmcsd/vlmcsd

如果 1688 端口被其它程序占用,会有如下报错:
Warning: 0.0.0.0:1688: Address already in use

Fatal: Could not listen on any socket.

如需确认 vlmcsd 是否已运行,可使用如下命令:
# ps aux | grep vlmcsd

结果如图:

在 CentOS 中部署 KMS 服务器(vlmcsd)的更多相关文章

  1. 在Ubuntu中搭建KMS服务器

    介绍 基于vlmcsd搭建的KMS服务器. 根据github上的说明,这个工具是用C写的,没有任何依赖,可以直接运行.而且它横跨几乎现在所有的系统平台,如Android, FreeBSD, Solar ...

  2. Centos中部署NetCore项目(二)

    前言 在centos中部署程序,一般都不会是使用控制台进程直接启动,或者是后台运行.而是一些守护进程管理工具进行管理,例如supervisor. 部署Web相关程序,使用nginx是比较普遍的, 安装 ...

  3. 在centos中部署jenkins

    在centos中部署jenkins,需要的环境:安装jdk,Apache-tomcat 这两步我前面文章里已写,再次忽略 到官网下载最新的jenkins 我这里的是  jenkins.war 把该文件 ...

  4. 在Centos中部署redis运行状态图形化监控工具 — RedisLive

    写在前面 前两天看到张善友老师的一篇文章<先定个小目标, 使用C# 开发的千万级应用>,里面给出了一张腾讯OA基础服务中redis运行情况的一张监控图,然后想到自己的项目中前不久也上了re ...

  5. AWS EC2中部署Apache服务器(LAMP)

    关键词: 1.新建aws ec2实例 2.使用putty连接到aws ec2 实例(SSH协议) 3.使用filezilla连接到aws ec2实例(SFTP协议) 4.在aws ec2上部署apac ...

  6. Centos中部署NetCore项目(一)

    前言 本文是基于centos8,dotnetcore3.1. (为了服务器安全使用,程序部署最好不要直接root账号进行操作.) 如果使用sudo命令时候,提示用户不在sudoers文件中的解决方法. ...

  7. 如何在 CentOS 中设置 NTP 服务器

    网络时间协议(NTP)用来同步网络上不同主机的系统时间.你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间.而另一方面,一个 NTP 服务器会将它的时间和任意公共 NT ...

  8. 应用SVN(CentOS中搭建SVN服务器)

    简单介绍如何在虚拟机 CentOS 中,搭建 SVN 服务器. 软件版本信息 Vmware 10.0.0 build-1295980 CentOS 7.0-1406-x64 Java 1.7.0_67 ...

  9. .NetCore中的程序通过Docker在CentOS中部署

    基础说明 安装Docker过程就略过了 创建一个Asp.Net Core程序 启用Docker支持,会生成Dockerfile文件,接下来看下这个文件,当然不同的版本生成的具体可能不一致 FROM m ...

随机推荐

  1. Fiddler抓包(基本使用方法、web+app端抓包、篡改数据、模拟低速)

    1.HTTP代理原理图 http服务器代理:既是web服务器,又是web客户端 接口vs端口: 接口:包含地址和端口 端口:类似于USB接口 地址:127.0.0.1,端口默认:8888        ...

  2. Codeforces Round #620 (Div. 2) 题解

    A. Two Rabbits 思路: 很明显,如果(y-x)%(a+b)==0的话ans=(y-x)/(a+b),否则就为-1 #include<iostream> #include< ...

  3. Ubuntu下安装GTK的三种方法

    我利用此方法成功在UBUNTU 10.04下安装GTK 2.20.1. 一.安装 1.安装gcc/g++/gdb/make 等基本编程工具 $sudo apt-get install build-es ...

  4. SpringTest

    Spring Test 1.对junit的一个扩展   必须先导入junit jar包 2.简化获取bean的步骤 它的底层也是IOC容器 3.IOC的全部 junit的全部  junit的版本必须是 ...

  5. C# Stream篇(三) -- TextWriter 和 StreamWriter

    TextWriter 和 StreamWriter 目录: 为何介绍TextWriter? TextWriter的构造,常用属性和方法 IFormatProvider的简单介绍 如何理解StreamW ...

  6. 【转载】C#常用控件属性及方法介绍

    C#常用控件属性及方法介绍                                               目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox(文 ...

  7. pwn之偏移量offset

    0x7fffffffdd00: 0x4141414141414141 0x4141414141414141 0x7fffffffdd10: 0x4141414141414141 0x414141414 ...

  8. java程序中的经常出现的的异常处理课后总结

    一.JDK中常见的异常情况 1.常见异常总结图 2.java中异常分类 Throwable类有两个直接子类: (1)Exception:出现的问题是可以被捕获的 (2)Error:系统错误,通常由JV ...

  9. eclipse如何把多个项目放在文件夹下,用文件夹分开不同的项目

    在Package Explorer顶部的右侧有有机表图标按钮,点击倒三角 Top Level Elements->Working Set.此时就会发现,很多项目会自动纳入一个文件夹,这个文件夹的 ...

  10. computed、methods、watch

    computed:计算属性将被混入到 Vue 实例中.所有 getter 和 setter 的 this 上下文自动地绑定为 Vue 实例. methods:methods 将被混入到 Vue 实例中 ...