CentOS 7 安装配置 OpenVPN Server

这篇文章描述了如何在CentOS 7 服务器上安装与配置OpenVPN服务器,以及如何编写客户端连接到新建立的OpenVPN服务器上所需的配置文件。目前OpenVPN最新版本为2.4.3(2017年9月)

由于OpenVPN Server不在默认源中,所以需要安装Extra Packages for Enterprise Linux (EPEL) 仓库,其中包含有OpenVPN的包。

1、添加epel源

可使用如下脚本,只需执行该脚本即可自动下载并完成epel源安装,前提是服务器能连上Internet:

#!/bin/bash

url1="https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm"

url2="https://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm"

string=`cat /etc/redhat-release`

vers=`echo ${string##*release}|sed ‘s/^[[:space:]]*//g‘|awk -F"." ‘{print $1}‘`

if ! which wget &>/dev/null; then

echo "Installing wget..."

yum install wget -y &>/dev/null

if [ $? -eq 0 ];then

echo "Install wget OK"

else

echo "Download wget failed,exit"

exit 1

fi

fi

if [ $vers -eq 7 ];then

wget -t 8 -c -T 3 $url1 && echo "Download epel OK" || echo "Download epel failed."

echo "Installing epel..."

rpm -ivh ./${url1##*/}

elif [ $vers -eq 6 ];then

wget -t 8 -c -T 3 $url2 && echo "Download epel OK" || echo "Download epel failed."

echo "Installing epel..."

rpm -ivh ./${url2##*/}

else

echo "Can not download epel"

exit 1

fi

2、安装OpenVPN

epel源安装后,即可直接执行如下命令安装OpenVPN

[[email protected] ~]# yum install -y openvpn

从示例配置文件复制一份配置文件到/etc/openvpn

[[email protected] ~]# cp -a /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn

打开 /etc/openvpn/server.conf 编辑:

[[email protected] ~]# vim /etc/openvpn/server.conf

取消以下6个语句的注释:

push "redirect-gateway def1 bypass-dhcp"

push "dhcp-option DNS 8.8.8.8"

push "dhcp-option DNS 8.8.4.4"

user nobodygroup

nobody

comp-lzo

注释掉下面这条语句:

#tls-auth ta.key 0 # This file is secret

3、使用easy-rsa生成证书及密钥

完成了对于配置文件的修改之后,接下来生成keys和certificates。

安装easy-rsa:

[[email protected] ~]# yum install -y easy-rsa

将相关文件复制到OpenVPN的配置目录:

[[email protected] ~]# cp -a /usr/share/easy-rsa/ /etc/openvpn

现在有关的文件都在 /etc/openvpn/easy-rsa/2.0/ 这个目录中。

3.1、调整easy-rsa密钥生成配置

首先需要修改的是vars文件

[[email protected] ~]# vim /etc/openvpn/easy-rsa/2.0/vars

将以下这些值修改成你自己的值:

export KEY_COUNTRY="US"

export KEY_PROVINCE="CA"

export KEY_CITY="SanFrancisco"

export KEY_ORG="Fort-Funston"

export KEY_EMAIL="[email protected]"

export KEY_OU="MyOrganizationalUnit"

# X509 Subject Field

export KEY_NAME="EasyRSA"

修改完成之后,执行 source ./vars, 清空目录并生成 Certificate Authority(CA):

[[email protected] ~]# cd /etc/openvpn/easy-rsa/2.0

[[email protected] ~]# source ./vars

3.2、生成密钥

3.2.1 生成CA, 服务器证书及密钥

在/etc/openvpn/easy-rsa/2.0目录中执行:

[[email protected] ~]# ./clean-all

[[email protected] ~]# ./build-ca

执行完成之后在/etc/openvpn/easy-rsa/2.0/keys目录中产生了CA,接下来为服务器生成密钥:

[[email protected] ~]# ./build-key-server server

有了服务器密钥,再生成Diffie Hellman key exchange文件,这里生成的长度由之前的KEY_SIZE决定:

[[email protected] ~]# ./build-dh

执行完成会产生dh2048.pem (默认的KEY_SIZE = 2048,这里产生的文件是dh2048.pem)

将4个所需文件复制到OpenVPN配置目录中去:

[[email protected] ~]# cd /etc/openvpn/easy-rsa/2.0/keys

[[email protected] ~]# cp dh2048.pem ca.crt server.crt server.key /etc/openvpn

3.2.2 生成客户端证书和密钥

在/etc/openvpn/easy-rsa/2.0/目录中执行:

[[email protected] ~]# ./build-key client

会在目录中产生客户端所需的证书和密钥

4、配置防火墙


该部分可执行防火墙脚本,具体的脚本代码在我的另一篇博文“经典好用anti-DDos的iptables shell脚本”中已贴出,执行iptables.sh可自动配置所有防火墙规则及OpenVPN配置。

5、启动OpenVPN


启动OpenVPN服务器并添加自动启动项:

[[email protected] ~]# systemctl start [email protected]

[[email protected] ~]# systemctl enable [email protected]

6、客户端配置文件


取回之前生成的位于/etc/openvpn/easy-rsa/2.0/keys中的三个文件:

ca.crt

client.crt

client.key

在你的客户端创建一个文件client.ovpn, 将这三个文件与其放在同一目录中,编辑client.ovpn内容如下:

client

dev tun

proto udp

remote xxx.xxx.xxx.xxx 1194

resolv-retry infinite

nobind

persist-key

persist-tun

comp-lzo

verb 3

ca ca.crt

cert client.crt

key client.key

cipher AES-256-CBC

将其中的xxx.xxx.xxx.xxx替换为你的服务器地址,如果端口、证书、密钥不同的话修改相应的项即可

如果OpenVPN客户端安装在Windows系统,则客户端配置文件在目录:

C:\Program Files\OpenVPN\config

所以在上面的目录下必须存在以下几个文件:

ca.crt

client.crt

client.key

client.ovpn

由于某些原因,目前无法通过OpenVPN官网:http://www.openvpn.net下载Windows版OpenVPN-GUI,具体下载大家可以参考如下链接:

http://openvpn.ustc.edu.cn/

如有需要,可发我邮箱[email protected],请注明windows系统版本,如Windows XP(32-bit)或者

Windows XP(64-bit)或者Windows Vista and later(32-bit)或者Windows Vista and later(64-bit)。

时间: 2024-09-30 06:00:14

CentOS 7 安装配置 OpenVPN Server的相关文章

CentOS上安装配置OpenVPN

CentOS6.7上安装配置OpenVPN 安装配置openvpn服务端 1.安装依赖 ntpdate pool.ntp.org yum -y install lzo lzo-devel-devel gcc pam-devel gcc-c++ 2.安装openvpn mkdir tools cd tools wget http://swupdate.openvpn.org/community/releases/openvpn-2.3.2.tar.gz tar xf openvpn-2.3.2.t

CentOS 7安装配置Apache HTTP Server

原文 CentOS 7安装配置Apache HTTP Server   RPM安装httpd # yum -yinstall httpd //安装httpd会自动安装一下依赖包: apr apr-util httpd-tools mailcap # rpm -qi httpd Name      : httpd Version    : 2.4.6 Release    : 18.el7.centos Architecture: x86_64 Install Date: Mon 11 Aug 2

<转>CentOS 7 安装配置 NFS

CentOS 7  安装配置 NFS 环境 nps 192.168.1.97 client 192.168.1.98 一.yum 安装 yum -y install nfs-utils rpcbind nfs 的配置文件 /etc/expots 默认为空 vi /etc/exports /opt/test/ 192.168.1.0/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501) 二.使配置生效 exportfs -

记录:CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1

CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1 软件下载:http://download.csdn.net/download/qingchunwuxian1993/9897458 yum-y install net-tools.x86_64 前言 项目中用到文件服务器,有朋友推荐用FastDFS,所以就了解学习了一番,感觉确实颇为强大,在此再次感谢淘宝资深架构师余庆大神开源了如此优秀的轻量级分布式文件系统,本篇文章就记录一下FastDFS的最新版本5.1.1在CentOS7

转帖:CentOS 6安装配置LAMP服务器(Apache+PHP5+MySQL)

这篇文章主要介绍了CentOS 6 安装配置LAMP服务器(Apache+PHP5+MySQL)的方法,需要的朋友可以参考下 准备篇: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -

CentOS 7 安装配置 NFS

CentOS 7  安装配置 NFS 环境 nps 192.168.1.97 client 192.168.1.98 一.yum 安装 yum -y install nfs-utils rpcbind nfs 的配置文件 /etc/expots 默认为空 vi /etc/exports /opt/test/ 192.168.1.0/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501) 二.使配置生效 exportfs -

centos ansible安装配置

关于ansible就不多做简绍了,直接开始安装配置 [安装环境] [[email protected] ~]# cat /etc/centos-release  CentOS release 6.5 (Final) [[email protected] ~]# uname -a Linux AnsibleServer 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux 安

【ruby】【linux】【irb】CentOS上安装配置ruby开发环境,安装 irb

在读<理解Unix进程>这本书,书中代码是用Ruby写的,就自己想实践一下,搜来搜去要安装配置Ruby,我是centOS6.5的系统.下面这篇不错,我又加入了一点自己的理解和试验. 1 方法一:下载ruby的安装包来进行安装 1.安装编译环境gcc 使用yum install gcc在线安装 2.安装ruby开发环境 PS:经常在搜帖子的时候,大神的文章中都是随随便便下载个什么啊,又没告诉我这样的菜鸟到哪里下,让人几番周折,这里 下载 Ruby - Ruby 官方网站:https://www.

阿里云服务器centos下安装配置svn服务器

阿里云服务器centos下安装配置svn服务器 1.安装svn服务器端 yum install subversion      从镜像下载安装svn服务器端中间会提示是否ok,输入y,确认安装成功提示:.....complete!依次执行如下命令:cd /usr/local/              //进入目录,准备创建svn目录 mkdir svnRepo                   //创建一个svn目录 chmod -R 777 svnRepo            //修改目