这里使用的是“openvpn-2.1.3-install”在win10下进行安装。
在安装过程中会让指定安装路径(记住这个路径之后配置要用),在x86 win10下默认路径为“C:\Program Files (x86)\OpenVPN”。
如下图所示:
安装完成后通过安装路径在openvpn中进行相关配置:
一、调整easy-rsa下vars.bat.sample
修改“C:\Program Files (x86)\OpenVPN\easy-rsa”下文件vars.bat.sample的内容。
修改项的原内容:
set HOME=%ProgramFiles%\OpenVPN\easy-rsa
set KEY_COUNTRY=US
set KEY_PROVINCE=CA
set KEY_CITY=SanFrancisco
set KEY_ORG=OpenVPN
set [email protected]
修改后:
set HOME=C:\Program Files(x86)\OpenVPN\easy-rsa
下面这几项根据自身情况修改
set KEY_COUNTRY=CN
set KEY_PROVINCE=BEIJING
set KEY_CITY=BEIJING
set KEY_ORG=WINLINEL
set [email protected]
”KEY_COUNTRY、KEY_PROVINCE、…“这几项分别代表证书中”国家、地区、…“如下图所示:
二、初始化配置
执行初始化命令
以管理员权限运行windows命令处理程序,并进入到easy-rsa文件夹下,执行“init-config”
这里的“init-config”命令是去执行init-config.bat脚本(此文件也叫批处理文件)。
bat文件是dos下的批处理文件。它的文件扩展名为 .bat 或 .cmd。在命令处理窗口中输入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。
init-config.bat文件内容如下:
copy vars.bat.sample vars.bat
copy openssl.cnf.sample openssl.cnf
因此执行“init-config”的结果就是easy-rsa文件夹下多出了“vars.bat、openssl.cnf”两个文件且内容与“vars.bat.sample、openssl.cnf.sample”相同。
三、生成证书前的准备工作
- 设置环境变量 在命令处理终端执行“vars”命令 脚本“vars.bat”的内容与“步骤一”中修改的“vars.bat.sample”文件相同。 此脚本的作用就是设置“HOME、KEY_COUNTRY、KEY_PROVINCE、…”等环境变量的值。 这些环境变量的用途将在下面“生成证书”的过程中被使用。
- 在命令处理终端执行“clean-all”命令 脚本“clean-all.bat”的内容为:
@echo off
rem move to the HOME directory specified in VARS script
cd %HOME%
rem set a temporary KEY_DIR variable
set d=%KEY_DIR%
rem delete the KEY_DIR and any subdirs quietly
rmdir /s /q %d%
mkdir %d%
copy index.txt.start %d%\index.txt
copy serial.start %d%\serial.
可见此脚本在做创建证书前的前置工作,此脚本也用到了“vars.bat”中设置的环境变量”HOME“。
这里再回到”步骤一“来看下为什么要修改”HOME“的值:
”HOME“的原值中引用了一个环境变量”ProgramFiles“,但在执行“vars”命令前并没有设置环境变量”ProgramFiles“的值,因此”ProgramFiles“的值为空,”HOME“所指向的地址并不存在,所以在”步骤一“中修改了”HOME“的值。如果不想修改”vars.bat.sample“中”HOME“的值,只需要提前设置环境变量”ProgramFiles“的正确值就行。
四、生成证书
- 执行命令”build-ca“,生成根证书。 脚本“build-ca.bat”的内容为:
@echo off
cd %HOME%
openssl req -days 3650-nodes -new -x509 -keyout %KEY_DIR%\ca.key -out %KEY_DIR%\ca.crt -config %KEY_CONFIG%
- 执行命令”build-dh“,生成动态密码库。 脚本“build-dh.bat”的内容为:
@echo off
cd %HOME%
rem build a dh file for the server side
openssl dhparam -out %KEY_DIR%/dh%KEY_SIZE%.pem %KEY_SIZE%
- 执行命令”build-key-server server“,生成服务器证书及密钥。 脚本“build-key-server.bat”的内容为:
@echo off
cd %HOME%
rem build a request for a cert that will be valid for ten years
openssl req -days 3650-nodes -new -keyout %KEY_DIR%\%1.key -out %KEY_DIR%\%1.csr -config %KEY_CONFIG%
rem sign the cert request with our ca, creating a cert/key pair
openssl ca -days 3650-out %KEY_DIR%\%1.crt -in %KEY_DIR%\%1.csr -extensions server -config %KEY_CONFIG%
rem delete any .old files created in this process, to avoid future file creation errors
del /q %KEY_DIR%\*.old
- 执行命令”build-key client“,生成客户端证书及密钥。 脚本“build-key.bat”的内容为:
@echo off
cd %HOME%
rem build a request for a cert that will be valid for ten years
openssl req -days 3650-nodes -new -keyout %KEY_DIR%\%1.key -out %KEY_DIR%\%1.csr -config %KEY_CONFIG%
rem sign the cert request with our ca, creating a cert/key pair
openssl ca -days 3650-out %KEY_DIR%\%1.crt -in %KEY_DIR%\%1.csr -config %KEY_CONFIG%
rem delete any .old files created in this process, to avoid future file creation errors
del /q %KEY_DIR%\*.old
四、将证书与配置放入config中
将生成的”ca证书、服务器证书、密钥“等放入”OpenVPN\config“下面。
将”OpenVPN\sample-config“下的配置文件放入”OpenVPN\config“下面。
四、启动openvpn服务
通过GUI启动openvpn服务器:
在安装完带有GUI组件的”openvpn-2.1.3-install“后桌面会有一个openvpn gui图标,如下图所示。
以管理员权限启动此程序,鼠标选中”隐藏的图标中“小图标右键单击,选中菜单中的server——>Connect。这样就开启了openvpn服务。
使用过程中遇到的问题:OpenSSL: error:140AB18E:SSL routines:SSL_CTX_use_certificate:ca md too weak
将此参数值改为sha1,再生成证书即可。
修改密钥长度:
这里密钥长度默认1024,将其改为2048需要修改如下文件:
1.调整文件”vars.bat.sample“中的变量”KEY_SIZE“值为2048。
2.重新生成一套证书。
3.修改”OpenVPN\sample-config“中的文件”server.ovpn“,修改项如下所示:
dh dh1024.pem
改为
dh dh2048.pem
”dh2048.pem“文件由”步骤四第2步“的命令生成
版权归原作者 lzn948055097 所有, 如有侵权,请联系我们删除。