centos安装dlv centos安装docker

今天给各位分享centos安装dlv的知识,其中也会对centos安装docker进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

kms无法激活win7

kms无法激活win7(kms无法激活win7旗舰版)环境:Centos7.8

docker Version: 18.06.3

KMS

Win 10专业版

问题描述:

自建KMS激活服务器,如何激活Win和Office

解决方案:

Windows

1.查看当前Windows是否支持KMS激活

命令提示符(管理员)执行:slmgr/dlv

“描述”这行:有“VOLUME”字样就是VOL版,即支持KMS激活

2.指定KMS服务器

slmgr/skms 102.168.1.22(自建kms服务器地址)

电脑

3.如果没有安装密钥,看这步

Windows客户端

cmd输入以下命令:

查看激活时间slmgr.vbs-xpr原密钥卸载slmgr.vbs/upk安装密钥 slmgr/ipk XXXX其中XXXX代表密钥,可以从微软官方获取官方密钥地址:电脑4.激活!

slmgr/ato

5.激活成功

激活bat脚本

@echo查看当前Windows是否支持KMS激活slmgr/dlvpause@echo卸载现有密钥slmgr.vbs/upk@echo指定KMS服务器slmgr/skms 102.168.1.22(自建KMS激活服务器)@echo安装Windows专业版密钥slmgr/ipk W269N-WFGWX-YVC9B-4J6C9-T83GX@echo激活Windows专业版slmgr/atoOffice

6.查看当前Office是否支持KMS激活

cmd(管理员)执行:cd“office的安装目录”

c:

cd Program Files(x86)\Microsoft Office\Office16

执行:

cscript ospp.vbs/dstatus

在显示的信息中,如果有“VOLUME”字样就是VOL版,即支持KMS激活,如果显示有之前的密钥,需要将密钥恢复。如果是第一次安装的office,则跳过第7、8步

如果是 Retail需要转为Vol版本

Office2016 Retail转Vol版本

7.卸载之前安装的Office密钥

从上图看到,安装的密钥的最后5位是:WFG99

卸载密钥

cscript ospp.vbs/unpkey:WFG998.激活Office 2016

指定KMS服务器

cscript ospp.vbs/sethst:102.168.1.22(自建kms服务器地址)激活

cscript ospp.vbs/act如果提示没有安装密钥,从微软官网找一个:

微软官方地址:安装密钥:

cscript ospp.vbs/inpkey:XQNVK-8JYDB-WJ9W3-YJ8YR-WFG999.立即激活

cscript ospp.vbs/act10.激活成功

电脑

如何在centos6.5的kvm虚拟机中永久激活windows2008

一、激活原理

目前激活Windows7/Windows2008的各种方法充斥互联网,但公认比较完美的激活方式是将品牌机(例如DELL、LENOVO等)的SLIC信息表刷写进需要安装Windows系统的计算机BIOS中,将该计算机“仿真”为品牌机,然后安装微软的OEM版Windows7/Windows2008并自动激活。

相信喜欢搞破解的童鞋都应该知道其中的奥秘,微软和PC厂商为了减轻对于操作系统的激活负荷,对大多数品牌机实行了有别于联网激活的“SLIC激活机制”:当Windows操作系统启动时,就会自行读取本机BIOS中的SLIC信息表,以及操作系统的“OEM密钥”和“OEM证书”,如果三者完全吻合、验证一致,Windows7/Windows2008系统就会被识别为自动激活的OEM版本。

笔者研究发现,Windows2012(注意不是Windows2012_R2,下同)与以往激活Windows7/Windows2008的方式类似,依然可以采用刷写BIOS中SLIC信息表安装OEM版系统的方式实现永久激活,只不过激活Windows2012需要SLIC2.2版,经测试SLIC2.2能够向下兼容SLIC2.1/2.0。

众所周知,虚拟机软件也是有BIOS的,目前市场上常见的虚拟机软件,如VMware、Xen、Kvm等均通过软件仿真的方式“模拟”硬件BIOS。既然可以采用刷写计算机硬件BIOS的方式实现永久激活,那么如果能够将SLIC2.2信息表通过软件再编译方式“灌入”虚拟机的BIOS中,然后再安装Windows2012的OEM版本,不就可以与刷写BIOS硬件实现自动激活“异曲同工”了吗?

二、核心问题

激活原理已经非常明确了,现在的关键问题是如何重新编译Linux虚拟机的问题了,这涉及Linux内核的重新编译,一些菜鸟可能望而生畏,尽管编译 Linux全部内核确实需要较高的技术水平,但重新编译Linux的BIOS难度并不高,初学者也可以轻松实现。本文以Linux的常见版本CentOs6.5为例,详细讲解重新编译KVM虚拟机BIOS的步骤。本文的方法同样适用Ubuntu等 Linux版本。

CentOs6.5虚拟机KVM的BIOS实际是一个二进制的可执行文件,默认安装路径为/usr/share/seabios/bios.bin。笔者研究发现,KVM虚拟机BIOS使用的是开源软件 seabios,该软件的源代码可以在互联网上找到,开源组织也制作了为seabios软件增加相应SLIC信息表的补丁包,下载seabios的源代码并打上该补丁包,然后重新编译并替换Linux默认的bios.bin文件,就可以将虚拟机“仿真”为品牌机,然后自动激活OEM版的Windows2012系统了,这种激活方式是永久激活,激活后的Windows2012可以打上微软的后续补丁且绝对不会被封杀。

三、详细步骤

1.获取SLIC2.2信息表。当前SLIC2.1的信息表网上很容易找到,SLIC2.2的信息表不多,比较容易找到的是DELL版的SLIC2.2信息表。当然也可以找一台预装了Windows2012的品牌机(市面上比较常见的是DELL的机器),然后使用SLIC_Toolkit3.2工具导出该机器的SLIC表。SLIC2.1/2.2表为二进制文件,长度均为374字节(这一点一定要注意)。

2.安装CentOs6.5_x64版操作系统。记得把gcc安装上,然后将上一步已经获取的SLIC2.2表拷贝在/ opt目录中(假定文件名称为DELL_SLIC2.2.BIN)。

3.在root用户下安装git,、iasl及所有依赖包。

#yum install git

#yum install iasl//这是必须安装的包

4.使用git获取sealic项目的源码。

# mkdir bios//目录可以自己随便建

#cd bios

#git clone git://github.com/ghuntley/seaslic//获取源代码

#ls-ls

Seaslic//用git软件获取源代码后会有多出一个目录

# cd seaslic

#ls

patch.sh README.markdown seabios.patch seabios.submodule

//该目录共包含三个文件和一个子目录,其中子目录seabios.submodule需要删除掉,用我们后面下载的内容重建。

#rm-rf seabios.submodule

5.从地址code.coreboot.org/p/seabios下载的SeaBios的源码并解压。注意源代码一定要下载1.7.3.2版本的,这一点也很关键,千万不能搞错了。

#tar xzvf seabios-1.7.3.2.tar.gz解压在/bios目录下。

6.重建seabios.submodule

#cd/bios

# cp–r seabios-1.7.3.2 seaslic/seabios.submodule

# cd seaslic

# ls

patch.sh README.markdown seabios.patch seabios.submodule

进入我们重建的seabios.submodule目录,可以发现有bios的源代码存在:

# cd seabios.submodule

# ls

COPYING COPYING.LESSER Makefile README README.CSM src TODO tools vgasrc

# cd src

可以发现seabios的源代码,我们需要重新编译这些源代码,生成新的bios.bin文件,用于替代CentOs6.5系统自带的bios.bin。

7.查看/bios/seaslic/patch.sh文件。这是一个批处理文件,只有2行有用。用Linux的命令方式执行,为防止输入错误,最好从patch.sh中复制粘贴后在root用户下执行:

①将SLIC2.2文件转换为C语言包含文件格式(acpi-slic.hex)的命令:

#xxd-i/opt/DELL_SLIC2.2.BIN| grep-v-E"len"| sed's/unsigned char.*/static char SLIC[]={/'> seabios.submodule/src/acpi-slic.hex

说明:这条命令执行后将会把SLIC2.2表(即/opt/DELL_SLIC2.2.BIN文件)转换为C语言包含文件格式(文件名../src/acpi-slic.hex),并以数组形式存在。这一步非常非常关键,转换完成的acpi-slic.hex文件应为2333字节。如果本条命令执行不成功的话,编译出来的bios.bin文件不会包含SLIC2.2信息,也就无法实现激活了。

②为acpi.c文件打补丁的命令:

# cd/bios/seaslic/seabios.submodule

#patch-p1<../seabios.patch

说明:这条语句执行后将给../ src/acpi.c文件打上补丁,执行后系统将会提示:

Hunk#1 succeeded at 20 with fuzz 2(offset-194 lines).

Hunk#2 succeeded at 37 with fuzz 2(offset-194 lines).

Hunk#3 succeeded at 631 with fuzz 2(offset-205 lines).

注意:至此我们的准备工作已经全部完成了,下面将重新编译生成新的bios了。

8.重新编译生成bios.bin文件

# cd/bios/seaslic/seabios.submodule

#make//编译需要花几十秒钟吧,应提示无错误、无警告,否则可能需要仔细检查以上步骤。

查看..seabios.submodule/out/bios.bin

看到最后生成的结果了吧,会在..seabios.submodule/out/中多出一个bios.bin文件,这个文件就是我们重新编译生成的虚拟机的bios,将用来替换KVM的系统原有的bios.bin文件。

说明:这里编译生成bios.bin文件包含有DELL品牌机的SLIC2.2,可以激活DELL的Windows2012_OEM版。同理,我们只要找到其他品牌机的SLIC2.2信息表,重新编译后就可以安装激活其他品牌机的OEM版Windows7/2008/2012(SLIC2.1只能支持Vista/Win7/2008,不支持 Win2012;SLIC2.2则支持XP/Vista以及Win2008/2012并兼容SLIC2.1),与刷写计算机硬件BIOS实现自动激活的方式相比,采用这种方式激活Windows的风险为零,非常适合批量激活虚拟机的Windows2008/Windows2012。

9.替换CentOs6.5系统默认的bios.bin文件

# cp out/bios.bin/usr/share/seabios/bios.bin

#reboot//重新启动一下宿主机,然后再重新启动Windows虚拟机,在启动KVM虚拟机的时候,可以发现虚拟机的bios已经更新为最新版本了。

10.激活windows2012

至此KVM虚拟机的bios已经重新配置完成,在KVM中启动WINDOWS客户机,然后利用SLIC_Toolkit3.2工具检查SLIC,会发现你的SLIC信息已经获取成功,如果你安装的是OEM版本的 Win2008/2012的话,无需输入key和证书就能自动激活。你可以从网上百度如下OEM镜像(我已试验过可自动激活):

(1)Lenovo的OEM版Windows2008_R2镜像:

Windows_Server-2008_R2_ENT_OEM.iso或者

Win_Server_08_R2_SP1_33in1.iso

(2)Dell的OEM版Windows2012镜像:

Ser2012_ST_DA_OEM.iso

(3)如果你手上暂时没有OEM版的话,也不要紧,可以用slmgr命令手工增加证书及OEM序列号也可以激活Windows2008/20012。直接用管理员身份进入命令行模式:

①slmgr-ilc DELL2.2.XRM-MS//这里找到的是DELL计算机的Windows2012版OEM证书。

②接下来就是写入注册号了:

slmgr-ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

说明:下面是我从网上找到的 OEM版序列号(经测试可以激活):

Windows Server 2012 Standard DELL OEM KEY

2G9DG-XKFR6-VG8D3-DN9T9-CDG98

Windows Server 2012 Datacenter DELL OEM KEY

2BVGY-TNRWK-6927W-866R9-66J3H

Windows Server 2008 R2 Standard DELL OEM KEY

D7TCH-6P8JP-KRG4P-VJKYY-P9GFF

Windows Server 2008 R2 Enterprise DELL OEM KEY

BKCJJ-J6G9Y-4P7YF-8D4J7-7TCWD

③执行slmgr–dlv//显示全部激活信息

④执行slmgr-xpr//显示Windows2008/2012已经永久激活。

CentOS7实现DNSDHCP动态更新详解

windows域里有一个功能,dhcp把新分发的ip数据发给DNS服务器,这样只要知道一个人的电脑名字就可以很方便的远程。

linux当然也能很好的实现类似的功能。man 5 dhcpd.conf有详细描述。

昨天运维帮组织线下的沙龙,又拍云的运维总监邵海杨先生分享了一句“千金难买早知道”。是啊,就在实现动态更新的功能上,在网上找了不少博客,照着做又遇到各种问题,最后不不知道到底什么原理实现的。早知道认真看一下man,问题早解决了,对实现的原理也理解得深些。所以,在这个信息爆炸的时代,很多时候真的互联网没有让人更聪明,反而大量的信息经常把人淹没了。技术,还是需要静下心来去钻研的。

dhcp和dns的基本配置资料比较完善,此处不再赘述。有心的朋友认真看一下man 5 dhcpd.conf,瞧一眼下面配置中标红的部分,相信就能搞定了。

另外分享一个dns chroot的流程,先安装 bind,调通named,然后再安装bind-chroot

执行/usr/libexec/setup-named-chroot.sh/var/named/chroot on

停用named,启用named-chroot即可

systemctl disabled named; systemctl stop named

systemctl enable named-chroot;systemctl start named-chroot

[root@pxe~]# cat/etc/dhcp/dhcpd.conf

ddns-update-style interim;

ddns-updates on;

do-forward-updates on;

allow client-updates;

allow bootp;

allow booting;

#allow client-updates;

option space Cisco_LWAPP_AP;

option Cisco_LWAPP_AP.server-address code 241= array of ip-address;

option space pxelinux;

option pxelinux.magic code 208= string;

option pxelinux.configfile code 209= text;

option pxelinux.pathprefix code 210= text;

option pxelinux.reboottime code 211= unsigned integer 32;

option architecture-type code 93= unsigned integer 16;

subnet 192.168.1.0 netmask 255.255.255.0{

authoritative;

option routers 192.168.1.1;

option subnet-mask 255.255.255.0;

option broadcast-address 192.168.1.255;

option domain-name"it.lab";

option domain-name-servers 192.168.1.200;

range dynamic-bootp 192.168.1.100 192.168.1.199;

key SEC_DDNS{

algorithm hmac-md5;

secret 7ObhTIhKeDFMR2SbbS5s8A==;

};

ddns-domainname"it.lab";

zone it.lab.{

primary 192.168.1.200;

key SEC_DDNS;

}

zone 1.168.192.in-addr.arpa.{

primary 192.168.1.200;

key SEC_DDNS;

}

default-lease-time 600;

max-lease-time 7200;

class"pxeclients"{

match if substring(option vendor-class-identifier, 0, 9)="PXEClient";

next-server 192.168.1.200;

if option architecture-type= 00:07{

filename"uefi/syslinux.efi";}

else{

filename"bios/pxelinux.0";}

#filename"pxelinux.0";}

}

}

[root@pxe~]# cat/etc/named.conf

//

// named.conf

//

// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS

// server as a caching only nameserver(as a localhost DNS resolver only).

//

// See/usr/share/doc/bind*/sample/ for example named configuration files.

//

options{

listen-on port 53{ 127.0.0.1;192.168.1.200;};

listen-on-v6 port 53{::1;};

directory"/var/named";

dump-file"/var/named/data/cache_dump.db";

statistics-file"/var/named/data/named_stats.txt";

memstatistics-file"/var/named/data/named_mem_stats.txt";

allow-query{ any;};

/*

- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.

- If you are building a RECURSIVE(caching) DNS server, you need to enable

recursion.

- If your recursive DNS server has a public IP address, you MUST enable access

control to limit queries to your legitimate users. Failing to do so will

cause your server to become part of large scale DNS amplification

attacks. Implementing BCP38 within your network would greatly

reduce such attack surface

*/

recursion no;

dnssec-enable yes;

dnssec-validation yes;

dnssec-lookaside auto;

/* Path to ISC DLV key*/

bindkeys-file"/etc/named.iscdlv.key";

managed-keys-directory"/var/named/dynamic";

pid-file"/run/named/named.pid";

session-keyfile"/run/named/session.key";

};

logging{

channel default_debug{

file"data/named.run";

severity dynamic;

};

};

zone"." IN{

type hint;

file"named.ca";

};

include"/etc/named.rfc1912.zones";

include"/etc/named.root.key";

key SEC_DDNS{

algorithm hmac-md5;

secret 7ObhTIhKeDFMR2SbbS5s8A==;

};

zone"it.lab" IN{

type master;

file"it.lab.forward";

allow-update{ key SEC_DDNS;};

};

zone"1.168.192.in-addr.arpa" IN{

type master;

file"1.168.192.reverse";

allow-update{ key SEC_DDNS;};

};

阅读剩余
THE END