Centos7.4安装openvpn2.3.14 ,easy-rsa3.0,并且共享网络,注意,生成的证书有密码
一 、基本安装
安装openvpn
yum install openvpn
安装open-rsa
wget https://github.com/OpenVPN/easy-rsa/archive/master.zip
unzip master.zip
没有zip命令的用
yum install zip unzip
将解压得到的文件夹easy-rsa-master重命名为easy-rsa
mv easy-rsa-master/ easy-rsa/
然后将的到的easy-ras文件夹复制到/etc/openvpn/目录下
cp -R easy-rsa/ /etc/openvpn/
二、开始配置easyrsa3
编辑vars文件
A:先进入/etc/openvpn/easy-rsa/easyrsa3目录
cd /etc/openvpn/easy-rsa/easyrsa3/
B:复制vars.example 为vars
cp vars.example vars
C:修改下面字段,命令:vi vars,然后修改,最后wq保存
set_var EASYRSA_REQ_COUNTRY “CN” //根据自己情况更改
set_var EASYRSA_REQ_PROVINCE “SH” //省份
set_var EASYRSA_REQ_CITY “Shanghai” //城市
set_var EASYRSA_REQ_ORG “DMSD Certificate” //自己起个名字
set_var EASYRSA_REQ_EMAIL “glntgb@163.com”
set_var EASYRSA_REQ_OU “Dynamic Times”
创建证书
服务端证书和key
A:进入/etc/openvpn/easy-rsa/easyrsa3/目录初始化:
./easyrsa init-pki
B:创建根证书
./easyrsa build-ca
如下:
注意这一步需要输入PEM密码 PEM pass phrase,输入两次。这个密码是自己创建的,一定要记住!
然后还需要起个名字,common name 通用名,自己起个不重名的就可以。
C:创建服务器端证书
./easyrsa gen-req server nopass
这一步需要输入server的common name,也是自己起一个不重名的就可以,如下:
D:签约服务端证书:
./easyrsa sign server server
注意这一步需要输入之前让你记住的密码,如下:
E:创建Diffie-Hellman,确保key穿越不安全网络的命令:
./easyrsa gen-dh
这一步就是等的时间稍微长一点,其他没啥特别的,如下:
创建客户端证书及key
A:进入root目录新建client文件夹,文件夹可随意命名,然后拷贝前面解压得到的easy-ras文件夹到client文件夹,进入下列目录
cd /root/ //进入root
mkdir client //新建一个client文件夹
cp -R easy-rsa/ client/ //把easy-rsa 拷贝到 client下
cd client/easy-rsa/easyrsa3/ //进入这个文件夹
B:初始化
./easyrsa init-pki
C:创建客户端key及生成证书(这里也要输入密码,这个密码是之后客户端要用的,所以不要和之前的重复了。)
./easyrsa gen-req clientone //自己起个名字
D:将的到的clientone.req导入然后签约证书
a.进入到/etc/openvpn/easy-rsa/easyrsa3/
cd /etc/openvpn/easy-rsa/easyrsa3/
b.导入req
./easyrsa import-req /root/client/easy-rsa/easyrsa3/pki/reqs/clientone.req clientone
c.签约证书
./easyrsa sign client clientone
这里生成client所以必须为client,clientone要与之前导入名字一致,导入的时候会要求输入密码,这个密码是第一次设置的根证书的密码,不要输错。
拷贝文件到各自位置
a.这一步就是拷贝这些文件放入到相应位置。将下列文件放到/etc/openvpn/ 目录执
行命令:
cp /etc/openvpn/easy-rsa/easyrsa3/pki/ca.crt /etc/openvpn
cp /etc/openvpn/easy-rsa/easyrsa3/pki/private/server.key /etc/openvpn
cp /etc/openvpn/easy-rsa/easyrsa3/pki/issued/server.crt /etc/openvpn
cp /etc/openvpn/easy-rsa/easyrsa3/pki/dh.pem /etc/openvpn
这样就将上述四个文件放入到了/etc/openvpn目录下
b.这一步将下列文件放到/root/client 目录下执行命令:
cp /etc/openvpn/easy-rsa/easyrsa3/pki/ca.crt /root/client
cp /etc/openvpn/easy-rsa/easyrsa3/pki/issued/clientone.crt /root/client
cp /root/client/easy-rsa/easyrsa3/pki/private/clientone.key /root/client
这样就将上述三个文件复制到了/root/client目录,包括:ca.crt、clientone.crt、clientone.key
第五步、为服务端编写配置文件
当你安装好了openvpn时候,他会提供一个server配置的文件例子,在
/usr/share/doc/openvpn-2.3.14/sample/sample-config-files
下会有一个server.conf文件,我们将这个文件复制到/etc/openvpn
cp /usr/share/doc/openvpn-2.3.14/sample/sample-config-files/server.conf
/etc/openvpn
然后修改配置vi server.conf如下:
port 1194 #端口
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push \"redirect-gateway def1 bypass-dhcp\"
push \"dhcp-option DNS 8.8.8.8\"
push \"dhcp-option DNS 208.67.220.220\"
keepalive 10 120
cipher AES-256-CBC
comp-lzo
max-clients 100
persist-key
persist-tun
status openvpn-status.log
verb 3
explicit-exit-notify 1
每个项目都会由一大堆介绍,上述修改,openvpn提供的server.conf已经全部提供,我们只需要去掉前面的注释#,然后修改我们自己的有关配置,其实大部分的内容是不用修
改的,注意一下就好。
第六步、下载openvpn客户端,并进行配置
客户端用的是windows,下载安装openvpn-2.3.14版本并安装,然后找到安装目录
C:\\Program Files\\OpenVPN
到sample-config目录下找到client.ovpn,拷贝这个文件到config文件夹下。
然后将服务器端生成的客户端证书及key下载下来,也放到config文件夹下,如下:
windows客户端
编辑配置文件client.ovpn:
client
dev tun
proto udp
remote ip 端口
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert clientone.crt
key clientone.key
cipher AES-256-CBC
comp-lzo
verb 3
测试
启动server端
openvpn /etc/openvpn/server.conf
如果报错了,会有详细的说明,自己解决一下就可以,举个栗子:
这个是我把dh.pem写错了。
启动客户端
打开openvpn gui启动,注意在启动后需要输入创建clientone.key时候的密码!然后进入
到此已经成功配置好vpn,但是还要做一些调整,客户端才能上网
设置iptables、路由转发
yum install -y iptables-services
systemctl enable iptables
systemctl stop firewalld #关闭firewall防火墙,我的OS没有预装防火墙,因此这条命令不用输,
systemctl start iptables #启动iptables
iptables -F #清空默认的iptables规则
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE #设置iptables NAT转发规则
service iptables save #保存防火墙规则
echo 1 > /proc/sys/net/ipv4/ip_forward #临时开启路由转发
vi /etc/sysctl.conf #编辑配置文件,修改以下配置,设置永久路由转发
net.ipv4.ip_forward = 1
启动openvpn
systemctl -f enable openvpn@server.service #设置启动文件
systemctl start openvpn@server.service #启动openvpn的命令
#注意,这里如果启动报错,说明你前面的server.conf配置文件有误,需要调试配置文件
因篇幅问题不能全部显示,请点此查看更多更全内容