广告
返回顶部
首页 > 资讯 > 服务器 >ubuntu 22.04搭建OpenVPN服务器
  • 865
分享到

ubuntu 22.04搭建OpenVPN服务器

服务器ubuntu运维 2023-09-01 08:09:09 865人浏览 独家记忆
摘要

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

为了公司与分公司之前的内部服务器和办公电脑之间能够相互访问,打算使用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文件,用记事本打开,添加如下内容

clientdev tunproto tcpremote 172.26.14.242 1194resolv-retry infinitenobindpersist-keypersist-tunca ca.crtcert airgens.crTKEy airgens.keycomp-lzoverb 3

4.3 开启客户端软件

4.4 配置文件

4.5 连接状态查看

服务端连接状态:

PC客户端连接状态:

4.6 测试

参考文档:

烂泥:ubuntu 14.04搭建OpenVPN服务器-烂泥行天下

烂泥:openvpn配置文件详解-烂泥行天下

来源地址:https://blog.csdn.net/wfjdemmye/article/details/131486127

--结束END--

本文标题: ubuntu 22.04搭建OpenVPN服务器

本文链接: https://www.lsjlt.com/news/387949.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ubuntu 22.04搭建OpenVPN服务器
    为了公司与分公司之前的内部服务器和办公电脑之间能够相互访问,打算使用VPN,对于VPN,以前用得多的是PPTP; 但是PPTP相对于openvpn来说,没有openvpn安全,而且PPTP在linux下命令行支持不是很好,稳定性也不如ope...
    99+
    2023-09-01
    服务器 ubuntu 运维
  • 搭建Ubuntu 22.04可视化界面
    执行以下命令,清空缓存,更新您的软件包列表。 sudo apt clean all && sudo apt update 执行以下命令,安装桌面环境所需软件包。包括系统面板、窗口管理器、文件浏览器、终端等桌面应用程序。 sudo ap...
    99+
    2023-09-08
    ubuntu linux 服务器 Powered by 金山文档
  • 搭建 PXE 服务器(基于 Ubuntu 22.04,支持 IPv4/6 及 Legacy/UEFI)
    基于 Ubuntu 22.04 搭建 PXE 服务器,支持 IPv4, IPv6 网络,支持 Legacy, UEFI 启动模式。 文章目录 一、PXE 启动流程二、配置清单三、配置步骤3.1 搭建 HTTP 服务器3.2 搭...
    99+
    2023-08-23
    服务器 ubuntu 网络
  • Ubuntu服务器安装配置slurm (Ubuntu 22.04 LTS)
    Ubuntu服务器安装配置slurm (Ubuntu 22.04 LTS) 1. slurm简介 Slurm 全称 Simple Linux Utility for Resource Manageme...
    99+
    2023-09-24
    ubuntu linux 运维
  • 服务器Ubuntu 22.04 64位安装 MySQL5.7
    1.官网:mysql下载链接 官网地址 2.我们新建一个文件夹,路径/usr/local/mysql 这里选择下载5.7.29的ubuntu版本注意是amd64不是arm64,或者执行下面命令 w...
    99+
    2023-09-01
    ubuntu 服务器 mysql 数据库
  • OpenVPN服务器
    目录 一、OpenVPN是什么? 二、OpenVPN连接建立的过程 三、数据包远程传输处理过程(自我理解) 四、OpenVPN实验案例 4.1生成OpenVPN所需证书文件 4.2配置OpenVPN服务器...
    99+
    2023-09-13
    服务器 运维 网络协议 centos linux 网络安全 远程工作
  • 搭建frp+OpenVPN实现公网服务器对内网服务器的访问
    搭建frp+OpenVPN实现公网服务器对内网服务器的访问 1.准备 1.1实验需求 本实验需求一台公网服务器,两台内网服务器 公网服务器:作为frp服务端以及openvpn客户端第一台内网服务器:作为frp客户端以及openvpn服务端第...
    99+
    2023-12-23
    服务器 运维 网络 linux
  • 在 ubuntu 22.04 上配置界面服务器 xrdp
    文章目录 图形界面解决方案VNCXRDP XRDP 实例安装和配置使用 XRDP 使用原理谁更快 : X11转发 > XRDP > VNC 图形界面解决方案 1. VNC2. XR...
    99+
    2023-10-02
    服务器 ubuntu linux
  • Ubuntu搭建pptp服务器(保姆级)
    一,关于pptp服务简单介绍 点对点隧道协议(PPTP)是VPN服务的一种最简单的实现协议,其它常见的VPN类型还有:使用IPsec的第2层隧道协议(L2TP/IPsec)、安全套接字隧道协议(SSL VPN)。本文主要讲述基于Ubuntu...
    99+
    2023-09-04
    服务器 运维 ubuntu
  • Ubuntu搭建Web服务器(MySQL+PHP+Apache)
    Ubuntu搭建Web服务器(MySQL+PHP+Apache) 为啥使用 Linux 搭建服务器? 一个是因为主流的云服务器太贵,买个低配的容易崩,听说 Linux 比较稳定,之后 PHP 和 Ap...
    99+
    2023-09-02
    服务器 ubuntu mysql
  • Ubuntu搭建DNS服务器的组建与配置
    Ubuntu搭建DNS服务器的组建与配置 安装bind9进入 /etc/bind目录修改配置named.conf.local文件配置刚刚新建的文件 db.test.cn添加解析区域配置文件,新...
    99+
    2023-09-30
    服务器 ubuntu
  • ubuntu如何搭建pptpd服务
    这篇文章主要介绍“ubuntu如何搭建pptpd服务”,在日常操作中,相信很多人在ubuntu如何搭建pptpd服务问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ubuntu如何搭建pptpd服务”的疑惑有所...
    99+
    2023-07-04
  • ubuntu云服务器怎么搭建网站
    ubuntu云服务器搭建网站的操作步骤:打开LAMP环境的配置,输入“sudo apt-get install lamp-server^”。借助XFTP软件,新建连接,将网站源代码上传到服务器中。在ubuntu云服务器的远程连接终端输入:“...
    99+
    2022-10-18
  • 教你使用Ubuntu搭建DNS服务器
    本例是在ubuntu18.04上进行的,其他版本的ubuntu同样类似! 一、重点说明/etc/bind/named.conf.options配置文件 在进行bind9服务器配置时,...
    99+
    2022-11-13
  • 如何在Ubuntu下搭建tftp服务器
    本篇内容主要讲解“如何在Ubuntu下搭建tftp服务器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何在Ubuntu下搭建tftp服务器”吧!今天开始调试arm的板子,要通过tftp下载到板...
    99+
    2023-06-13
  • Ubuntu搭建原神3.7版本服务器
    本文涉及知识点 linux基础命令|mongoDB服务端搭建及指令|Java环境搭建 原神私服可以用来抽卡满足自己用,他的许多任务都得登录控制台自己发,不建议拿私服玩,想要体验完美原神请到官服,本文只做LINUX MongoDB java教...
    99+
    2023-08-18
    服务器 ubuntu mongodb 运维
  • ubuntu云服务器如何搭建网站
    搭建网站需要以下步骤:1. 购买Ubuntu云服务器。选择合适的云服务器供应商,购买一个Ubuntu操作系统的云服务器。2. 配置服...
    99+
    2023-08-15
    云服务器 ubuntu
  • 如何使用Pritunl搭建OpenVPN服务器,实现远程连接【内网穿透】
    文章目录 前言1.环境安装2.开始安装3.访问测试4.创建连接5.局域网测试连接6.安装cpolar7.配置固定公网访问地址8.远程连接测试 前言 Pritunl是一款免...
    99+
    2023-10-25
    服务器 运维
  • Ubuntu系统中怎么搭建 L2MP服务器
    Ubuntu系统中怎么搭建 L2MP服务器,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、安装 Lighttpd+MySQL+PHP5sudo apt-get...
    99+
    2023-06-17
  • Ubuntu环境下如何搭建FTP服务器
    今天小编给大家分享一下Ubuntu环境下如何搭建FTP服务器的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。安装ftp安装ft...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作