说明:
目的是实现在家可以访问公司内部局域网内的机器。实现方式是通过在centos上部署openvpn服务,
通过vpn连入内部局域网。
软件包下载:http://build.openvpn.net/downloads/releases/
参考文档:https://openvpn.net/index.php/open-source/documentation/howto.html
系统环境:centos 6.8
安装包准备:
Openssl lzo pam openvpn
安装openvpn依赖
openssl lzo pam
系统默认安装了openssl-1.0.1e-48.el6_8.1.x86_64 pam-1.1.1-22.el6.x86_64
使用的软件包:
easy-rsa-2.2.0_master.tar.gz lzo-2.09.tar.gz openvpn-2.3.11.tar.gz
安装部署:
1、 安装lzo, 是致力于解压速度的一种数据压缩算法,LZO是Lempel-Ziv-Oberhumer的缩写。加快openvpn的数据传输。
[root@www openvpnsoft]# ls
easy-rsa-2.2.0_master.tar.gz lzo-2.09.tar.gz openvpn-2.3.11.tar.gz
[root@www openvpnsoft]# tar -xzf lzo-2.09.tar.gz
[root@www lzo-2.09]# ./configure --prefix=/usr/local/
[root@www lzo-2.09]# make && make install
2、 安装openvpn
[root@www openvpnsoft]# tar zxf openvpn-2.3.11.tar.gz
[root@www openvpn-2.3.11]# ./configure --prefix=/usr/local/openvpn
[root@www openvpn-2.3.11]# make && make install
3、 安装easy-rsa,用来生成证书和秘钥
[root@www openvpnsoft]# tar zxf easy-rsa-2.2.0_master.tar.gz -C /usr/local/openvpn/
#备份vars文件
[root@www 2.0]# cp vars vars_20160706
#这里为了方便,去掉注释和空行,生成vars文件,你也可以直接编辑原文件
[root@www 2.0]# grep -v '^#' vars_20160706 > vars
[root@www 2.0]# sed '/^$/d' -i vars
#编辑vars文件 基本只需要修改有注释的部分,其他部分保持默认
[root@www openvpn]# cd easy-rsa-2.2.0_master/easy-rsa/2.0/vars
export EASY_RSA="`pwd`"
export OPENSSL="openssl"
export PKCS11TOOL="pkcs11-tool"
export GREP="grep"
export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`
export KEY_DIR="$EASY_RSA/keys"
echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR
export PKCS11_MODULE_PATH="dummy"
export PKCS11_PIN="dummy"
#修改为2048
export KEY_SIZE=2048
export CA_EXPIRE=3650
export KEY_EXPIRE=3650
#下面信息 根据个人情况设置
#在后面生成服务端ca证书时,这里的配置会作为缺省配置
export KEY_COUNTRY="CN"
export KEY_PROVINCE="BJ"
export KEY_CITY="BJ"
export KEY_ORG="Fly"
export KEY_EMAIL="125065124@qq.com"
export KEY_EMAIL=125065124@qq.com
export KEY_CN=China
export KEY_NAME=openvpnkey
export KEY_OU=Fly
#这里是配置设置智能卡
#export PKCS11_MODULE_PATH=changeme
#export PKCS11_PIN=1234
#配置SSL文件的软连接
[root@www 2.0]# ln -s openssl-1.0.0.cnf openssl.cnf
#全局变量
[root@www 2.0]# source vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /usr/local/openvpn/easy-rsa-2.2.0_master/easy-rsa/2.0/keys
#初始化key文件,清空keys目录
[root@www 2.0]# ./clean-all
4、 生成证书 CA、server端crt、key 客户端 crt、key 证书秘钥传输加密ta.key
根据提示基本一路回车,不过有需要确认的信息,使用build-key-pass时需要设置密码
#生成服务器CA
[root@www 2.0]# ./build-ca
#生成服务端证书、秘钥
[root@www 2.0]# ./build-key-server
#生成客户端证书秘钥,在客户端连接时不需要密码认证
[root@www 2.0]# ./build-key client1
#生成客户端证书秘钥,在客户端连接时需要密码认证
[root@www 2.0]# ./build-key-pass client2
#为服务器生成Diffie-Hellman文件
[root@www 2.0]# ./build-dh
#增强upd传输时的安全性,降低DDos风险
openvpn --genkey --secret ta.key (责任编辑:好模板) |