CentOS 7.X 下安装OpenVPN Server(easy-rsa3.x)

一、更新CentOS7.X的RPM包

yum update

二、安装EPEL Repo

yum install epel-release

三、安装OpenVPN

yum install openvpn easy-rsa


四、生成证书

cd /data0/software
git clone git://github.com/OpenVPN/easy-rsa
cd easy-rsa/
git submodule init
git submodule update
cd ../
cp -R easy-rsa/ /etc/openvpn/
cd /etc/openvpn/easy-rsa/easyrsa3/
cp vars.example vars

五、创建服务端证书和key。
A、目录初始化

cd /etc/openvpn/easy-rsa/easyrsa3/
./easyrsa init-pki

B、创建根证书

./easyrsa build-ca

注意这一步需要输入PEM密码 PEM pass phrase,输入两次。这个密码是自己创建的,一定要记住!
然后还需要起个名字,common name 通用名,自己起个不重名的就可以。

C、创建服务器端证书,common name 最好不要跟前面的cn那么一样

./easyrsa gen-req server nopass

D、签约服务端证书

./easyrsa sign server server

注意这一步需要输入之前让你记住的密码

E、创建Diffie-Hellman,确保key穿越不安全网络的命令

./easyrsa gen-dh

这一步就是等的时间稍微长一点,其他没啥特别的。

六、创建客户端证书及key

mkdir -p /data0/openvpn_client/client1/
cd /data0/openvpn_client/client1/
cp -R /data0/software/easy-rsa/ /data0/openvpn_client/client1/
cd easy-rsa/easyrsa3/ 

初始化

./easyrsa init-pki

创建客户端key及生成证书(这里也要输入密码,这个密码是之后客户端要用的,所以不要和之前的重复了。)

./easyrsa gen-req client1

将得到的client1.req导入然后签约证书

cd /etc/openvpn/easy-rsa/easyrsa3/
./easyrsa import-req /data0/openvpn_client/client1/easy-rsa/easyrsa3/pki/reqs/client1.req client1

签约证书

./easyrsa sign client client1

这里生成client所以必须为client,clientone要与之前导入名字一致,导入的时候会要求输入密码,这个密码是第一次设置的根证书的密码,不要输错。

配置客户端免输密码认证,生成非密码加密key后客户端就可以不用输入密码连接了。

cd /data0/openvpn_client/client1/easy-rsa/easyrsa3/pki/private
openssl rsa  -in client1.key -out client1-nopass.key

七、分配客户端的固定IP,注意:client1是之前build client key的common name

mkdir -p /etc/openvpn/config/ccd
cd /etc/openvpn/config/ccd
vi client1

将下面的内容复制到client1中,本例中,指定链接上来的client1的IP固定分配为10.11.0.118

ifconfig-push 10.11.0.118 255.255.255.0

八、配置vpn server的配置文件
将相关文件copy到各自位置

cp /etc/openvpn/easy-rsa/easyrsa3/pki/ca.crt /etc/openvpn/server
cp /etc/openvpn/easy-rsa/easyrsa3/pki/private/server.key /etc/openvpn/server
cp /etc/openvpn/easy-rsa/easyrsa3/pki/issued/server.crt /etc/openvpn/server
cp /etc/openvpn/easy-rsa/easyrsa3/pki/dh.pem /etc/openvpn/server
vi /etc/openvpn/server.conf

填入如下内容

local  192.168.0.20
port 8888    
proto tcp-server  
dev tap    
server 10.11.0.0 255.255.255.0    
ca /etc/openvpn/server/ca.crt    
cert /etc/openvpn/server/server.crt    
key /etc/openvpn/server/server.key    
dh /etc/openvpn/server/dh.pem 
client-config-dir /etc/openvpn/config/ccd 
persist-key    
;persist-tun    
keepalive 10 60    
reneg-sec 0    
comp-lzo    
tun-mtu 1468    
tun-mtu-extra 32    
mssfix 1400    
push persist-key  
;push persist-tun    
;push redirect-gateway def1   
;push dhcp-option DNS 8.8.8.8    
;push dhcp-option DNS 8.8.4.4
status /var/log/openvpn-status.log    
log /var/log/openvpn.log
verb 3

九、启动和设置开机自启动

systemctl start openvpn@server.service

Leave a Reply