首页 > 系统相关 >0pen(V)pn在centos6.8部署教程

0pen(V)pn在centos6.8部署教程

时间:2023-02-21 13:00:59浏览次数:64  
标签:username 0pen etc client centos6.8 openvpn password pn 客户端

环境准备:

一、EasyRSA-2.2.2.tgz证书制作工具(github下载)     

0pen(V)pn在centos6.8部署教程_密钥交换

     centos6.8yum源配置以及epel下载

yum install epel-release

yum clean all

yum makechache

0pen(V)pn在centos6.8部署教程_密钥交换_02

二、制作证书密钥、配置openvpn配置文件

     tar -zxvf EasyRsa-2.2.2.tgz     

0pen(V)pn在centos6.8部署教程_配置文件_03

更改vars文件夹内容(只需要更改红框中内容即可)

0pen(V)pn在centos6.8部署教程_密钥交换_04

#:source  vars

#./clean-all  生成keys文件夹

0pen(V)pn在centos6.8部署教程_密钥交换_05

#:./bulid-ca    生成根证书和根密钥(不用写入任何参数直接一直确定)

0pen(V)pn在centos6.8部署教程_配置文件_06

#./bulid-key-server  server(名称可随意)。 生成服务证书和服务密钥;

0pen(V)pn在centos6.8部署教程_客户端_07

 #./bulid-key client(名称可随意).生成客户端证书和密钥

0pen(V)pn在centos6.8部署教程_客户端_08

#./bulid-dh  生成密钥交换文件(客户端和服务密钥交换)

0pen(V)pn在centos6.8部署教程_密钥交换_09

三、配置openvpn服务端配置文件

yum install -y openvpn

0pen(V)pn在centos6.8部署教程_密钥交换_10

mkdir /etc/openvpn/keys   (将/root/EasyRSA-2.2.2/keys目录下的证书文件复制过去)新建一个文件夹单独存储证书和密钥文件

0pen(V)pn在centos6.8部署教程_配置文件_11


cp /usr/share/doc/openvpn-2.4.9/sample/sample-config-files/server.conf    /etc/openvpn  将配置文件复制到openvpn目录下

0pen(V)pn在centos6.8部署教程_配置文件_12

#:vi /etc/openvpn/server.conf       只更改这部分内容即可

0pen(V)pn在centos6.8部署教程_客户端_13

#:openvpn --daemon --config /etc/openvpn/server.conf   启动openvpn服务

    netstat -anput   查看openvpn端口是否监听

0pen(V)pn在centos6.8部署教程_客户端_14

四、客户端基于证书连接VPN配置

mkdir  /root/client

0pen(V)pn在centos6.8部署教程_客户端_15


cp /usr/share/doc/openvpn-2.4.9/sample/sample-config-files/client.conf client/  复制客户端配置文件至client文件夹

mv /root/client/client.conf  /root/client/client.ovpn               更改客户端后缀是为了让windows下能识别配置文件

 cp ca.crt ta.key client.key client.crt /root/client

0pen(V)pn在centos6.8部署教程_密钥交换_16

vi /root/client.ovpn                              只变更如下配置

0pen(V)pn在centos6.8部署教程_配置文件_17

客户端操作系统远程将client文件夹内容拷贝至openvpn客户端配置文件存储目录下,后直接连接,如下提示连接成功

0pen(V)pn在centos6.8部署教程_客户端_18

0pen(V)pn在centos6.8部署教程_客户端_19


五、基于用户认证的openvpn配置

vi /etc/openvpn/server.conf  中添加如下内容并禁用tls-auth /etc/openvpn/keys/ta.key 参数


        client-cert-not-required

        auth-user-pass-verify /etc/openvpn/checkpsw.sh via-env

        username-as-common-name

        script-security 3

0pen(V)pn在centos6.8部署教程_配置文件_20


vi ​​checkpsw.sh​​​    创建用户认证脚本,并给与执行权限  chmod -766 ​​checkpsw.sh​​     ***都创建在/etc/openvpn/目录下

0pen(V)pn在centos6.8部署教程_密钥交换_21

    #!/bin/bash

###########################################################

# checkpsw.sh (C) 2004 Mathias Sundman <mathias@openvpn.se>

#

# This script will authenticate OpenVPN users against

# a plain text file. The passfile should simply contain

# one row per user with the username first followed by

# one or more space(s) or tab(s) and then the password.


PASSFILE="/etc/openvpn/psw-file"

LOG_FILE="/var/log/openvpn-password.log"

TIME_STAMP=`date "+%Y-%m-%d %T"`


###########################################################


if [ ! -r "${PASSFILE}" ]; then

   echo "${TIME_STAMP}: Could not open password file \"${PASSFILE}\" for reading." >>  ${LOG_FILE}

   exit 1

fi


CORRECT_PASSWORD=`awk '!/^;/&&!/^#/&&$1=="'${username}'"{print $2;exit}' ${PASSFILE}`

if [ "${CORRECT_PASSWORD}" = "" ]; then

   echo "${TIME_STAMP}: User does not exist: username=\"${username}\", password=\"${password}\"." >> ${LOG_FILE}

   exit 1

fi


if [ "${password}" = "${CORRECT_PASSWORD}" ]; then

   echo "${TIME_STAMP}: Successful authentication: username=\"${username}\"." >> ${LOG_FILE}

   exit 0

fi


echo "${TIME_STAMP}: Incorrect password: username=\"${username}\", password=\"${password}\"." >> ${LOG_FILE}

exit 1


vi     psw-file       创建保存账号密码文件,并给与执行权限   chmod -766  psw-file

 

0pen(V)pn在centos6.8部署教程_配置文件_22

vi client.ovpn  配置客户端配置文件  并更改以下内容;

0pen(V)pn在centos6.8部署教程_客户端_23

将更改完成的客户端配置文件导入客户端配置文件目录下,进行用户登录认证

0pen(V)pn在centos6.8部署教程_配置文件_24

0pen(V)pn在centos6.8部署教程_配置文件_25

     

标签:username,0pen,etc,client,centos6.8,openvpn,password,pn,客户端
From: https://blog.51cto.com/u_12489404/6076517

相关文章

  • ARCGIS自动批量导出图片(JPG、BMP、PNG)Arcgis之国土报备、预审报批、勘测定界、自然资
    ARCGIS自动批量输出图片(JPG、BMP、PNG)批量输出图片工具:免费下载链接:https://pan.baidu.com/s/1gVfTLTxQCQ6uiz1mmtNsNA?pwd=8j5n提取码:8j5n 批量快速导出图......
  • 基于simulink的PN码相关峰同步仿真
    1.算法描述发射机和接收机采用高精确度和高稳定度的时钟频率源,以保证频率和相位的稳定性。但在实际应用中,存在许多事先无法估计的不确定因素,如收发时钟不稳定、发射时刻不......
  • 基于simulink的PN码相关峰同步仿真
    1.算法描述       发射机和接收机采用高精确度和高稳定度的时钟频率源,以保证频率和相位的稳定性。但在实际应用中,存在许多事先无法估计的不确定因素,如收发时钟不稳......
  • Pandas中的dropna方法
      在默认情况下,只要该行含有缺失值,dropna便会删除所有包含了缺失值的行,如下所示:data=pd.DataFrame([[1.,6.5,3.],[1.,NA,NA],[NA,NA,NA],[NA,6.5,3.]])cl......
  • pnpm的基本原理及快速使用
    基本原理前置知识:软件链接与硬链接软链接(符号链接Symboliclink):是一类特殊的文件,其包含有一条以绝对路径或者相对路径的形式指向其它文件或者目录的引用。在window快捷......
  • 使用pnpm管理node版本
    安装pnpm你以前可能会使用如下命令安装pnpmnpmi-gpnpm对与pnpm用户来说,npm是多余的,但是没有npm该如何安装pnpm?在windows下可以使用如下powershell命令安装pnpmiw......
  • .Net6 WebApi中集成FluentValidation.AspNetCore的用法
    一、首先在nuget管理器中添加FluentValidation.AspNetCore包 二、添加验证类并继承AbstractValidator<T>,T为原始参数类,在验证类的构造函数中添加验证内容  三、......
  • AspNetCore基础课程
    AspNetCore基础课程我打算录制一个基础课程从原理、思维、实现等角度详细讲解。IOC、Options、Configuration、Logging、AOP、管道中间件、路由终结点,mvc的原理。掌握这些......
  • pandas dropna无效,没有去空值成功怎么处理?
      df1=dfASH_avg.dropna(axis=0,how='any')#刪除表中任何含有NaN的行#这里有一个大坑就是意识到dropna的结果是需要用一个新的dataframe借助的dfASH_avg.head()......
  • pnpm
    一、概念performantnpm,意味“高性能的npm”。pnpm由npm/yarn衍生而来,解决了npm/yarn内部潜在的bug,极大的优化了性能,扩展了使用场景。被誉为“最先进的包管理工具”二......