当前位置:   article > 正文

Centos7安装openvp-超详细_centos7 openv

centos7 openv

需求:公司外部员工需要访问内部办公网服务器,所以需要搭建一个vpn提供外部员工使用。

1: 环境

服务器系统:CentOS Linux release 7.9.2009 (Core)
服务器配置:不重要
服务器IP:
	Openvpn服务器:
		外网:124.70.49.106
		内网:192.168.0.155
	内网测试服务器:192.168.0.21
	openvpn客户端服务器网段:172.16.16.0/24
OpenVpn版本:2.5.6
easy-rsa版本:3.0.8

安装包存放的路径:/tmp/install/
程序安装目录:/data/openvpn

备注:
	root# 代表在root用户下执行的命令
	$ 代表是在普通用户下执行的命令
	# 单个#号代表注释
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

2:安装步骤

2.1 准备工作

(以下所有操作均在Openvpn服务器操作)
# 关闭防火墙
	root# systemctl stop firewalld
	root# systemctl disable firewalld

# 关闭selinux
	root# sed -i 's/enforcing/disabled/' /etc/selinux/config
	root# setenforce 0
	
# 安装依赖
	root# yum install -y  vim wget lrzsz gcc-c++ openssl openssl-devel net-tools lzo lzo-devel pam pam-devel 

# 下载安装包
	root# mkdir /tmp/install
	root# cd /tmp/install
	root# wget https://swupdate.openvpn.org/community/releases/openvpn-2.5.6.tar.gz
	root# wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.8/EasyRSA-3.0.8.tgz
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

2.2 安装OpenVpn和EasyRSA

#1)安装OpenVpn
root# cd /tmp/install

#创建目录
root# mkdir /data

#解压缩
root# tar -zxvf openvpn-2.5.6.tar.gz

root# cd openvpn-2.5.6

#--prefix= 后面路径是安装openvpn到那个文件路径下
root# ./configure --prefix=/data/openvpn/

#编译
root# make && make install

#添加openvpn的环境变量
root# echo -e "PATH=\$PATH:/data/openvpn/sbin" >/etc/profile.d/openvpn256.sh

#加载环境变量
root# source /etc/profile

#执行下面的命令看看是否成功,出现以下内容表示成功
root# openvpn --version
OpenVPN 2.5.6 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on May  5 2022

#2)安装EasyRSA
root# cd /tmp/install
root# tar -zxvf EasyRSA-3.0.8.tgz
root# mv EasyRSA-3.0.8 /data/EasyRSA
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

2.3 服务端配置

2.3.1 准备CA签发机构环境

#拷贝EasyRSA
root# cp -r  /data/EasyRSA /data/openvpn/easy-rsa-server
root# cd /data/openvpn/easy-rsa-server

#准备签发证书的默认变量文件
root# egrep -v "^$|^#" vars.example >vars

#编辑vars文件,在最后一行增加以下内容
root# vim vars
#添加参数,设置CA证书有效期为100年(日期可以你自己决定设置多长)
set_var EASYRSA_CA_EXPIRE 36500
#添加参数,设置服务器证书为10年
set_var EASYRSA_CERT_EXPIRE 3650
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

2.3.2 创建CA机构与服务器证书

#1)创建CA机构
root# cd /data/openvpn/easy-rsa-server

#初始化,执行此命令会生成pki目录
root# ./easyrsa init-pki

#创建CA机构,nopass代表不需要密码的意思
root# ./easyrsa build-ca nopass
	#这里是CA机构的名称,我这边使用的是CATEST,这个名字可以用默认的也可以你自己输入
	Common Name (eg: your user, host, or server name) [Easy-RSA CA]: CATEST
	#执行创建ca机构成功的话,会出现下面的这个ca.crt文件
	Your new CA certificate file for publishing is at:
/data/openvpn/easy-rsa-server/pki/ca.crt

#CA证书文件
root#  ls -l  /data/openvpn/easy-rsa-server/pki/ca.crt
-rw------- 1 root root 1151 May  5 09:56 /data/openvpn/easy-rsa-server/pki/ca.crt

#CA秘钥文件
root#  ls -l  /data/openvpn/easy-rsa-server/pki/private/ca.key
-rw------- 1 root root 1679 May  5 09:56 /data/openvpn/easy-rsa-server/pki/private/ca.key

#2)创建服务端证书
root# cd /data/openvpn/easy-rsa-server

#创建服务端证书申请文件,openvpnserver为了区别参数标识,我这里设置为openvpnserver,如果你自己安装的话可以使用默认的server 这个名称
root# ./easyrsa gen-req openvpnserver nopass
	#默认回车就行
	Common Name (eg: your user, host, or server name) [openvpnserver]:
	Keypair and certificate request completed. Your files are:
	#请求文件
	req: /data/openvpn/easy-rsa-server/pki/reqs/openvpnserver.req
	#私钥文件
	key: /data/openvpn/easy-rsa-server/pki/private/openvpnserver.key

#3)签发服务端证书
root# cd /data/openvpn/easy-rsa-server

#这里的server是代表服务端意思,openvpnserver这个是上面我们创建的服务端证书的名称
root# ./easyrsa sign server openvpnserver
	#输入yes
	Type the word 'yes' to continue, or any other input to abort.
  Confirm request details: yes
  	#服务端的证书文件
	Certificate created at: /data/openvpn/easy-rsa-server/pki/issued/openvpnserver.crt

#4)创建交互秘钥
root# cd /data/openvpn/easy-rsa-server

root# ./easyrsa gen-dh
	DH parameters of size 2048 created at /data/openvpn/easy-rsa-server/pki/dh.pem

#5) 启用安全增强配置
root# cd /data/openvpn/easy-rsa-server
root# openvpn --genkey tls-auth ta.key
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55

2.3.3 OpenVPN服务端配置

#创建openvpn用户
root# groupadd openvpn
root# useradd -M -s /sbin/nologin -g openvpn openvpn

# 创建证书存放目录
root# mkdir /data/openvpn/certificate

# 创建日志存放目录
root# mkdir /data/openvpn/logs
root# chown openvpn.  /data/openvpn/logs


# 将服务端证书秘钥和交互秘钥复制到certificate目录
root# cp /data/openvpn/easy-rsa-server/pki/ca.crt /data/openvpn/certificate/
root# cp /data/openvpn/easy-rsa-server/pki/issued/openvpnserver.crt  /data/openvpn/certificate/
root# cp /data/openvpn/easy-rsa-server/pki/private/openvpnserver.key  /data/openvpn/certificate/
root# cp /data/openvpn/easy-rsa-server/pki/dh.pem  /data/openvpn/certificate/
root# cp /data/openvpn/easy-rsa-server/ta.key  /data/openvpn/certificate/

#添加配置文件
root# cd /data/openvpn/
root# vim /data/openvpn/server.conf
#__server.conf—stat___
#端口
port 1194
#协议
proto tcp
dev tun
#ca证书文件
ca /data/openvpn/certificate/ca.crt
#服务端证书文件
cert /data/openvpn/certificate/openvpnserver.crt
#服务端私钥文件
key /data/openvpn/certificate/openvpnserver.key
#交换秘钥文件
dh /data/openvpn/certificate/dh.pem
#安全增强文件,0是服务端,1是客户端
tls-auth /data/openvpn/certificate/ta.key 0
#分配客户端IP的网段,不能和服务器一个网段,不能冲突
server 10.8.0.0 255.255.255.0
#运行通讯的内网路由,可以多条
push "route 192.168.0.0 255.255.255.0"
#会话检测,每十秒测试一下,超过120秒没回应就认为对方down
keepalive 10 120
#加密算法
cipher AES-256-CBC
#压缩算法
compress lz4-v2
#推送客户端使用lz4-v2算法
push "compress lz4-v2"
#最大客户端数
max-clients 100
#运行openvpn的用户和用户组
user openvpn
group openvpn
#状态日志
status  /data/openvpn/logs/openvpn-status.log
log-append /data/openvpn/logs/openvpn.log
#日志级别
verb 3
mute 20
#__server.conf—end___


#内核转发规则
root# echo "net.ipv4.ip_forward=1" >>/etc/sysctl.conf
root# sysctl -p

#iptablesNAT规则 
#这里的ip就是server.conf 中的server 10.8.0.0 255.255.255.0 ;添加转发规则到开机启动项
root# echo 'iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE' >> /etc/rc.d/rc.local
root# chmod +x /etc/rc.d/rc.local
root# /etc/rc.d/rc.local
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73

2.3.4 启动OpenVPN

# 创建启动文件
root# vim /etc/systemd/system/openvpn.service
[Unit]
Description=OpenVPN Server
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
ExecStart=/data/openvpn/sbin/openvpn --config /data/openvpn/server.conf


#加载系统服务
root# systemctl daemon-reload
#开机启动
root# systemctl enable openvpn.service
#启动服务
root# systemctl start openvpn.service
#查看服务运行状态
root# systemctl status openvpn.service
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

2.4 客户端文件配置

2.4.1 准备客户端证书

#1)创建客户端申请证书
root# cp -r  /data/EasyRSA /data/openvpn/easy-rsa-client
root# cd  /data/openvpn/easy-rsa-client
#初始化,执行此命令会生成pki目录
root# ./easyrsa init-pki
#创建客户端申请证书,我这里用的是名字全拼
root# ./easyrsa gen-req zhangsan nopass
	#直接回车就行
	Common Name (eg: your user, host, or server name) [zhangsan]:
    req: /data/openvpn/easy-rsa-client/pki/reqs/zhangsan.req
    key: /data/openvpn/easy-rsa-client/pki/private/zhangsan.key

#2)服务端签发证书
root# cd /data/openvpn/easy-rsa-server
#将客户端证书复制到CA工作目录
root# ./easyrsa import-req /data/openvpn/easy-rsa-client/pki/reqs/zhangsan.req zhangsan
#设置客户端证书有效期,我这里设置的是90天
root# sed -i "s/set_var EASYRSA_CERT_EXPIRE.*$/set_var EASYRSA_CERT_EXPIRE\t90/g" ./vars
#签发证书
root# ./easyrsa sign client zhangsan
	#输入yes
	Type the word 'yes' to continue, or any other input to abort.
  Confirm request details:yes
  #生成的证书
  Certificate created at: /data/openvpn/easy-rsa-server/pki/issued/zhangsan.crt
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

2.4.2 准备客户端配置文件

#创建存放目录
root# mkdir /data/openvpn/client/
#创建张三证书存放的目录
root# mkdir /data/openvpn/client/zhangsan
#复制证书
root# find /data/openvpn/ \( -name "zhangsan.key" -o -name "zhangsan.crt" -o -name "ca.crt" -o -name "ta.key" \) -exec cp {}  /data/openvpn/client/zhangsan \;

root# vim /data/openvpn/client/zhangsan/client.ovpn
client
dev tun
proto tcp
remote 124.70.49.106 1194
resolv-retry infinite
nobind
ca ca.crt
cert zhangsan.crt
key zhangsan.key
remote-cert-tls server
tls-auth ta.key 1
cipher AES-256-CBC
verb 3
compress lz4-v2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

2.5 测试

#将证书下载下来
root# cd /data/openvpn/client/
root# tar -zcvf zhangsan.tar.gz zhangsan 
root# sz zhangsan.tar.gz
  • 1
  • 2
  • 3
  • 4
#win10 安装客户端(这里不演示了)
https://swupdate.openvpn.org/community/releases/openvpn-install-2.4.5-I601.exe
  • 1
  • 2

#将 zhangsan.tar.gz 复制到 openvpn的config目录,然后点击链接
在这里插入图片描述

#双击运行
在这里插入图片描述
在这里插入图片描述

#这样表示链接成功了
在这里插入图片描述

#测试连接mysql数据库端口

在这里插入图片描述

3 :安装包

官网下载地址:
    openvpn 服务端下载地址:
        https://swupdate.openvpn.org/community/releases/openvpn-2.5.6.tar.gz
    openvpn 客户端下载地址:
        https://swupdate.openvpn.org/community/releases/openvpn-install-2.4.5-I601.exe
    EasyRSA下载地址:
        https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.8/EasyRSA-3.0.8.tgz

百度云盘下载地址:
    链接:https://pan.baidu.com/s/1mRcz0MPGmN0uMzDn7JEpLQ 
    提取码:a134

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

看完觉得不错加个关注呗

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/205552
推荐阅读
相关标签
  

闽ICP备14008679号