使用Open×××在家庭、办公场所、住宿酒店等不同网络访问场所之间搭建类似于局域网的专用网络通道
安装环境:Windows 7 SP1 , open***-install-2.3.6-I003-x86_64
创建加密证书和密钥
安装Open ×××,在选择安装组件时,因为默认是不安装easy-rsa(一个加密证书生成程序)的,所以,我们必须手动勾选如下图红色框框所示的两个选项:Open*** RSA Certificate Management Script 和 OPENSSL Utilites。
然后一路Next(如果询问是否安装TAP-Win32驱动程序时,请选择“仍然继续”),就安装成功了。
安装成功后,创建加密证书和私钥,
证书包括服务器端和客户端都要用到的核心CA证书和私钥,服务器端自身的加密证书(即公钥)和私钥,以及每个客户端对应的加密证书和私钥
第一步:修改Open×××服务器端的vars.bat.sample文件(客户端的无需做任何修改)。这个文件存放在Open×××安装目录\easy-rsa\var\路径下,可以使用记事本或其他文本编辑工具打开
修改这个sample文件的目的是 在稍后生成客户端证书时,程序会要求我们输入一些注册信息(比如国家、省市、地址、公司名称等),如果我们设置好这些变量的值,这样在稍后生成客户端证书的时候,如果该信息项不输入就会采用默认值。
第二步, 在作为服务器端的电脑A上打开DOS命令窗口,并进入到%Open×××的安装目录%\easy-rsa目录。然后依次输入并执行以下命令(括号内的是注释):
init-config(初始化配置,将vars.bat.sample文件的内容复制到vars.bat)vars(设置相应的局部环境变量,就是我们在vars.bat.sample文件中设置的内容)clean-all(相关设置和清理工作)
第三步,生成CA证书:在DOS命令执行 vars.bat 命令后,执行build-ca命令,确认好信息后(如下图所示),一路回车即可 , ca.crt 和 ca.key 两个文件默认生成 当前脚本目录下的key 文件夹下。
在build-ca的时候需要输入一些注册信息。在输入信息的时候,如果你不输入任何信息,就表示采用默认值(前面[]中的内容就是默认值);如果你输入.,则表示当前信息项留空白。值得注意的是,下图changeme是证书的通用名称(Common Name),相当于我们常说的账号,你也可以自行输入其他名称。
第四步,创建迪菲·赫尔曼密钥:build-dh, 生成 dh1024.pem 文件
在命令行下运行 vars.bat 脚本 然后在执行build-dh.bat 脚本,运行成功的输出结果如下图:
第五步,使用build-key-server 生成服务器端证书
在命令行下运行 vars.bat 脚本 然后在执行build-key-server server,命令中的参数server指的是生成的证书文件名称,你可以按照自己的需要进行修改,不过后面的Common Name也应保持一致。输入的密码,你也可以根据意愿自行输入。最后程序会询问你是否注册并提交证书,两次均输入y即可。
第六步,使用build-key-client 生成客户端端证书
在命令行下运行 vars.bat 脚本 然后在执行build-key-client client-name,命令中的参数client表示生成的证书文件名称,你可以按照自己的需要进行修改,不过后面的Common Name也应保持一致。输入的密码,你也可以根据意愿自行输入。最后程序会询问你是否注册并提交证书,两次均输入y即可。
如果你想创建多个不同的客户端证书,只需要重复此步骤即可。切记,Common Name不要重复,这是Open×××用来区分不同客户端的关键所在。
第七步, 创建完证书后,我们会发现easy-rsa目录下多了一个keys文件夹。现在我们将keys文件夹中对应的文件复制到Open×××服务器或客户端的安装目录的config文件夹下。
服务器端config目录需要的文件包括:
ca.crt,ca.key(核心CA证书和私钥)dh1024.pem(如果最初的变量KEY_SIZE设为2048,这里就是dh2048.pem)server.crtserver.key(名称server根据个人设置可能有所不同)
客户端config目录需要的文件包括:
ca.crt,client.crt,client.key(名称client根据个人设置可能有所不同)
编辑服务器端和客户端配置文件
Open×××的安装目录的sample-config文件夹中存放有3个示例模板文件:server.o***、client.o***、sample.o***。其中,server.o***是服务器的配置模板,client.o***是客户端的配置模板
现在,我们就复制server.o***到服务器的config目录,client.o***到客户端的config目录,并在此基础上进行修改。在Open×××的配置文件中,前面带“#”或“;”的表示注释内容。
Server.o***的配置修改:
// 设定好服务器证书的名称,名称与创建时相同,以下仅是示例参考:
ca ca.crt
cert server.crt
key e***server01.key # This file should be kept secret
设定使用TAP网卡驱动
dev tap //使用 tap 的网卡驱动
设定迪菲·赫尔曼密钥使用1024位
dh dh1024.pem // 配置文件默认是 dh2048.pem 这个需要修改为 dh1024.pem 因为我们事前生成的是1024pem文件
设定OPEN×××客户端接入后分配的IP地址段
server 192.168.48.0 255.255.255.0 // 配置一个与服务器IP地址不同地址的网段 ,这段将用于分配给OPEN×××客户端地址,假设本例使用192.168.48.0/24段作为客户端接入地址池
push "route 192.168.4.0 255.255.255.0"
push "route 192.168.0.0 255.255.255.0"
// 表示此××× SERVER 能访问 192.168.4.0/24 和 192.168.0.0/24的网段
ifconfig-pool-persist ipp.txt //基于客户端名称分配IP地址,ipp.txt的格式为:
key-name, ip-address
client.o*** 的配置修改:
设定证书路径即可
ca "C:\\Program Files\\Open×××\\key\\ca.crt"
cert "C:\\Program Files\\Open×××\\key\\e***client03.crt"
key "C:\\Program Files\\Open×××\\key\\e***client03.key"
使用tap驱动方式,保持与Server端一致
dev tap // 保持与服务器端一致
使用Windows 7 系统作为OPEN ××× Server 还需要启动一下服务:
1. 启动 Routing and Remote Access 服务
2. 在网卡1 ( 本地链接1) 下启用共享功能,如下图,其中本地链接2是 OPEN ××× SERVER 启动后模拟的网卡