ubuntu 22.04搭建OpenVPN服务器的详细图文教程

 更新时间:2024年01月04日 11:22:07   作者:躲猫猫的喵喵  
这篇文章主要介绍了ubuntu 22.04搭建OpenVPN服务器的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

为了公司与分公司之前的内部服务器和办公电脑之间能够相互访问,打算使用VPN,对于VPN,以前用得多的是PPTP; 但是PPTP相对于openvpn来说,没有openvpn安全,而且PPTP在linux下命令行支持不是很好,稳定性也不如openvpn。所以最后就选择openvpn来搭建VPN.

如上图所示,红线为VPN访问效果,黑线为一般网络访问效果。

PS:本文在ubuntu 22.04上安装,openvpn服务器地址为172.26.14.242。

运行效果如下:

PC客户端

服务端:

一、openvpn原理

openvpn通过使用公开密钥(非对称密钥,加密解密使用不同的key,一个称为Publice key,另外一个是Private key)对数据进行加密的。这种方式称为TLS加密

openvpn使用TLS加密的工作过程是,首先VPN Sevrver端和VPN Client端要有相同的CA证书,双方通过交换证书验证双方的合法性,用于决定是否建立VPN连接。

然后使用对方的CA证书,把自己目前使用的数据加密方法加密后发送给对方,由于使用的是对方CA证书加密,所以只有对方CA证书对应的Private key才能解密该数据,这样就保证了此密钥的安全性,并且此密钥是定期改变的,对于窃听者来说,可能还没有破解出此密钥,VPN通信双方可能就已经更换密钥了。

二、安装openvpn

openvpn的安装我们分为apt-get方式和源码方式,下面我们只讲解apt-get方式的安装。有关源码方式安装openvpn,可自行百度。

apt-get方式安装,我们可以使用如下命令:

sudo apt-get -y install openvpn libssl-dev openssl

openvpn安装完毕后,我们来查看openvpn的版本,如下:

(下载openvpn client时需要参照这个版本号)

openvpn --version

通过上图,我们可以看到openvpn目前的版本为2.5.5。这个版本号,建议记住。

我们再来查看下openvpn安装时产生的文件,如下:

dpkg --list openvpn

dpkg -L openvpn | more

通过上图,我们可以很明显的看出openvpn已经有相关配置的模版了。

openvpn安装完毕后,我们再来安装easy-rsa。

easy-rsa是用来制作openvpn相关证书的。

安装easy-rsa,使用如下命令:

sudo apt-get -y install easy-rsa

查看easy-rsa安装的版本:

dpkg --list easy-rsa

查看easy-rsa安装的文件,如下:

dpkg -L easy-rsa |more

三、制作相关证书

根据第一章节openvpn的工作原理,我们可以知道openvpn的证书分为三部分:CA证书、Server端证书、Client端证书。

下面我们通过easy-rsa分别对其进行制作。

3.1 制作CA证书

openvpn与easy-rsa安装完毕后,我们需要在/etc/openvpn/目录下创建easy-rsa文件夹,如下:

sudo mkdir /etc/openvpn/easy-rsa/ cd /etc/openvpn/easy-rsa/

然后把/usr/share/easy-rsa/目录下的所有文件全部复制到/etc/openvpn/easy-rsa/下,如下:

sudo cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/

当然,我们也可以直接在/usr/share/easy-rsa/制作相关的证书,但是为了后续的管理证书的方便,我们还是把easy-rsa放在了openvpn的启动目录下。

注意:由于我们现在使用的是ubuntu系统,所以我们必须切换到root用户下才能制作相关证书,否则easy-rsa会报错。如果是centos系统,则不存在此问题。

切换到root用户下,使用如下命令:

sudo su cp vars.example vars

在开始制作CA证书之前,我们还需要编辑vars文件,修改如下相关选项内容即可。如下:

vim vars

修改

添加

vars文件主要用于设置证书的相关组织信息,红色部分的内容可以根据自己的实际情况自行修改。

其中export KEY_NAME=”vpnairgens”这个要记住下,我们下面在制作Server端证书时,会使用到。

注意:以上内容,我们也可以使用系统默认的,也就是说不进行修改也是可以使用的。

注意:不同的easy-isa版本,可能使用过程不一样,具体使用方法可以参考安装文档中描述

查看安装文档中的步骤描述:

cat /usr/share/doc/easy-rsa/README.Debian

制作命令如下:

./easyrsa init-pki ls

./easyrsa build-ca nopass ls

3.2 制作Server端证书

./easyrsa build-server-full vpnairgens nopass

注意:上述命令中vpnairgens,就是我们前面vars文件中设置的KEY_NAME

查看生成的Server端证书,如下

ls pki/issued/ ls pki/private/

如此,Server端证书就制作完毕。

3.3 制作Client端证书

Server端证书制作完成后,我们现在开始制作Client端证书,如下:

./easyrsa build-client-full airgens nopass

 注意:上述命令中的airgens,是客户端的名称。这个是可以进行自定义的。

ls pki/issued/ ls pki/private/

查看生成的证书,如下:

通过上图,我们可以很明显的看出已经生成了很多加密相关的文件

其中 ca.crt private/airgens.key issued/airgens.crt三个文件是我们要使用的。

如此,Client端证书就制作完毕。

现在再为服务器生成加密交换时的Diffie-Hellman文件,如下:

./easyrsa gen-dh

ls pki/dh.pem -l

查看生成的文件,如下:

3.4 将相关文件放到同目录下

cd /etc/openvpn/ cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf . ls

cp easy-rsa/pki/ca.crt ./ cp easy-rsa/pki/issued/vpnairgens.crt ./ ls

cp easy-rsa/pki/private/vpnairgens.key . cp easy-rsa/pki/dh.pem ./ cp easy-rsa/pki/dh.pem ./dh2048.pem

3.5 配置vpn Server

vim server.conf

隧道port

开tcp关udp

修改秘钥key文件名

修改VPN的IP地址段(也可不修改)

3.6 运行VPN SERVER

配置完运行openvpn server

nohup /usr/sbin/openvpn --config /etc/openvpn/server.conf &

打开日志显示

tail -f /var/log/openvpn/openvpn.log

3.7 tftp下载秘钥文件

cp /etc/openvpn/ca.crt /etc/openvpn/easy-rsa/pki/issued/airgens.crt tmp_dir/

 四 VPN CLIENT安装

4.1 下载openvpn客户端

下载地址:https://build.openvpn.net/downloads/releases/OpenVPN-2.5.5-I602-amd64.msi

(版本与上面服务端一致)安装软件

将文件复制到软件安装的目录

4.2 创建配置文件

创建airgens.ovpn文件,用记事本打开,添加如下内容

client
dev tun
proto tcp
remote 172.26.14.242 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert airgens.crt
key airgens.key
comp-lzo
verb 3

4.3 开启客户端软件

4.4 配置文件

4.5 连接状态查看

服务端连接状态:

PC客户端连接状态:

4.6 测试

参考文档:

烂泥:ubuntu 14.04搭建OpenVPN服务器

烂泥:openvpn配置文件详解

到此这篇关于ubuntu 22.04搭建OpenVPN服务器的文章就介绍到这了,更多相关OpenVPN服务器搭建内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • CentOs7搭建基于pptp的VPN服务器

    CentOs7搭建基于pptp的VPN服务器

    最近想远程连接一下家里的台式机电脑,由于都是局域网,又没有公网ip,所以就没法远程,上网查了一下,发现可以在云服务器上搭建一个VPN,这样两台电脑就在同一个局域网内,就可以完美解决这个问题,现在把搭建方法和遇到的问题做个总结,感兴趣的朋友一起看看吧
    2023-11-11
  • 通过cmd 连接阿里云服务器的操作方法

    通过cmd 连接阿里云服务器的操作方法

    这篇文章主要介绍了通过cmd连接阿里云服务器,在这里讲一下买完服务器的要做的第一步就是去服务器的后台做相应的操作,本文通过两种方法给大家讲解连接服务器,需要的朋友可以参考下
    2022-04-04
  • 常用的web服务器软件整理(win+linux)

    常用的web服务器软件整理(win+linux)

    这篇文章主要介绍了常用的web服务器软件整理,包括windows与linux下的,需要的朋友可以参考下
    2017-12-12
  • 如何在 Windows 上搭建 NTP 服务器

    如何在 Windows 上搭建 NTP 服务器

    这篇文章主要介绍了在 Windows 上搭建 NTP 服务器的操作步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • 教你一招一键搭建zerotier planet服务器脚本

    教你一招一键搭建zerotier planet服务器脚本

    ZeroTier 是一个加密的虚拟骨干网,它的客户端和服务端都是开源且免费的,对于一般的用户,可以用它做内网穿透,将处于不同内网中的主机组成虚拟局域网,这篇文章给大家介绍一键搭建zerotier planet服务器脚本的相关知识,感兴趣的朋友一起看看吧
    2023-12-12
  • 便宜vps多是哪些技术架构方式(VPS分割架构是怎么超售的)

    便宜vps多是哪些技术架构方式(VPS分割架构是怎么超售的)

    对于vps服务器租用,一些人们可能比较注重vps服务器价格,那么,了解和清楚哪一类vps服务器比较便宜是有必要的,这样我们就有针对的去选用购买自己需要的便宜vps服务器
    2015-09-09
  • Linux Makefile与Shell的问题

    Linux Makefile与Shell的问题

    大概只要知道Makefile的人,都知道Makefile可以调用Shell脚本。但是在实际使用时,并不那么简单,一些模棱两可的地方可能会让你抓狂。你若不信,可以先看几个例子,想象一下这些这些例子会打印什么内容,记下你想象的结果,然后在计算机上运行这些例子,对照看一下
    2016-03-03
  • Fluentd搭建日志收集服务

    Fluentd搭建日志收集服务

    这篇文章主要为大家介绍了Fluentd搭建日志收集服务,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • 使用.htaccess设置图片防盗链的详细方法

    使用.htaccess设置图片防盗链的详细方法

    对于虚拟主机用户来说,最方便的莫过于利用.htaccess设置图片防盗链了。上网搜了一下,.htaccess规则写法很多,但是大部分的区别在于最后一行,下面我们先看看正确的.htaccess防盗链写法,稍后我再详细解释一下最后一行的重点
    2018-02-02
  • CentOS下搭建SVN服务器的步骤详解

    CentOS下搭建SVN服务器的步骤详解

    这篇文章主要介绍了CentOS下搭建SVN服务器的步骤,较为详细的分析了CentOS平台上搭建SVN服务器的步骤与相关操作注意事项,需要的朋友可以参考下
    2016-10-10

最新评论