您的当前位置:首页Centos7.4安装openvpn2.3.14 ,easy-rsa3.0,并且共享网络,注意,生成的证书有密码

Centos7.4安装openvpn2.3.14 ,easy-rsa3.0,并且共享网络,注意,生成的证书有密码

2022-04-19 来源:乌哈旅游


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配置文件有误,需要调试配置文件

因篇幅问题不能全部显示,请点此查看更多更全内容