首页
学习
活动
专区
圈层
工具
发布
39 篇文章
1
Docker 从Dockerfile 构建镜像 :build 命令的用法
2
[操作系统] 环境变量详解
3
【多厂商设备仿真】EVE-NG社区懒人版5.1+使用方法,如何导入、设备连线、关联CRT、抓包
4
EVE-NG社区懒人版发布——By EmulatedLab
5
一键开启AI编程新纪元:Windows版Trae初体验
6
PySide6 GUI 编程(14):QDial的使用
7
【Python篇】PyQt5 超详细教程——由入门到精通(序篇)
8
猫头虎分享:Python库 Twisted 的简介、安装、用法详解入门教程
9
在 Visual Studio Code 中添加自定义的代码片段
10
【Docker项目实战】使用Docker部署HomeBox家庭库存管理系统
11
Flet-基于Flutter的Python跨平台开发框架(组件学习)
12
Deno对Node最近支持TypeScript的回应
13
深入理解css中的link 和 @import
14
go语言安装及其环境配置
15
《深入浅出Dart》Dart的命令行和Web编程
16
FastAPI(42)- Static Files 静态资源
17
FastAPI 学习之路(三十八)Static Files
18
Python Playwright 入门指南
19
VueHooks Plus:Vue 3 Hooks 的全面解决方案
20
基于 Vue3、TypeScript、Vite2、Pinia 开源的后台管理框架
21
Vue2 + Element-Plus极客范儿后台管理框架,告别繁琐开发!
22
一文带你搞清楚USB、type-C、雷电三接口之间的区别与联系
23
使用tinc+quagga搭建个人SD-WAN网络
24
SSL VPN搭建与使用(OpenVpn)
25
利用Simple-RTMP-Server搭建RTMP和HLS直播服务(上)
26
飞牛 fnos 使用docker部署 Windows 系统:虚拟机的轻量级替代方案
27
iptable端口重定向 MASQUERADE[通俗易懂]
28
68.8K的 star的Supabase免费!2 分钟搞定用户认证功能
29
全新升级!Supabase 与 Next.js 14 的完美融合
30
Arista 收购软件定义网络先驱 Pluribus
31
你的第一个XDP BPF 程序
32
关于 COS 发布新域名 tencentcos.cn 的通知
33
腾讯云主机安装COSFS工具并使用COS对象存储
34
大白话讲清楚:什么是 Langchain 及其核心概念
35
当 Redis 原生支持 JSON,大厂程序员都说它像德芙一样丝滑
36
使用腾讯COS对象存储同步obsidian
37
【linux命令讲解大全】195.Bash 命令解析:declare 的用法和功能详解
38
统信 UOS 使用 Remmina 工具实现 RDP、SSH、SFTP 远程连接
39
终端下强大的资源管理器 -- Ranger 详解
清单首页2025文章详情

SSL VPN搭建与使用(OpenVpn)

一、创建腾讯云SSL VPN网关

协议类型选择SSL,选择要打通云上所属VPC网络,如下图:

二、创建SSL服务端

目前腾讯云支持的SSL VPN协议只有UDP,暂不支持TCP;按照如下步骤填写本端网段(要打通的VPC网段)和对端网段(客户端内网网段),填写端口、认证算法、加密算法等信息:

三、创建SSL客户端

选择上一步创建的服务端,填写好备注名后点确定即可:

四、添加VPC路由

云上访问云下时,会查找VPC路由表指向,因此需要在对应的VPC路由表里面加一条到云下客户端网段的规则,下一跳指向SSL VPN网关。

在私有网络控制台,路由表里面选择对应VPC,对应路由表:

进入到路由表后,选择新增路由策略:

到此云上SSL VPN所有操作已经完成。

五、SSL配置文件下载

openvpn是Linux下的开源先锋,提供了良好的性能及友好的用户GUI,官方也推荐使用openvpn作为ssl vpn客户端使用,接下来将展示在Windows、Debian、Centos等系统中如何配置openvpn客户端,客户端配置文件在创建SSL客户端后会生成出来,在SSL客户端页面下载即可:

六、Windows配置OpenVpn Client

1.下载及安装

首先到openvpn官方下载页面下载openvpn connect(注意connect才是openvpn客户端,别下成服务端了):

选择Windows这一栏,并点击Download即可,如果被墙打不开此下载页面,可在此链接下载。

2.配置及导入

安装好选择Import Profile,导入配置文件:

将配置文件解压后,把.ovpn结尾的配置文件拖拽进去:

3.验证连通性

导入后点击connect,并验证连通性:

通过route print命令可以看到openvpn正常运行后,会自动下发路由到对端网关,同时ping对端VPC网段连通性正常,有出入流量,说明已正常打通。如果ping不通云上vpc机器,确保机器没有禁ping、安全组、acl有正常放通客户端内网网段。

此时使用wireshark抓包看,可以发现和对端内网交互时,实际是和对端vpn网关交互,因此也会依赖两端的公网质量:

七、Debian/Centos配置OpenVpn Client

1.Debian安装软件源、存储库秘钥及openvpn client

确保Debian支持https传输:

代码语言:shell
复制
apt install apt-transport-https

安装openvpn官方存储库秘钥:

代码语言:shell
复制
curl -fsSL https://swupdate.openvpn.net/repos/openvpn-repo-pkg-key.pub | gpg --dearmor > /etc/apt/trusted.gpg.d/openvpn-repo-pkg-keyring.gpg

安装对应系统版本代号的软件源:

代码语言:shell
复制
curl -fsSL https://swupdate.openvpn.net/community/openvpn3/repos/openvpn3-$DISTRO.list >/etc/apt/sources.list.d/openvpn3.list
apt-get update

官方支持的发行版代号:

发行版

版本

代号($DISTRO)

架构

Debian

9

stretch

amd64

Debian

10

buster

amd64,arm64*

Debian

11

bullseye

amd64,arm64*

Ubuntu

18.04

bionic

amd64, arm64*

Ubuntu

20.04

focal

amd64,arm64*

Ubuntu

21.04

hirsute

amd64, arm64*

这里以Debian9 stretch作为演示,其他发行版同理,因此软件源安装应该是:

代码语言:shell
复制
curl -fsSL https://swupdate.openvpn.net/community/openvpn3/repos/openvpn3-stretch.list >/etc/apt/sources.list.d/openvpn3.list
apt-get update

境内机器由于GFW原因,可能无法使用以上软件源,或者受到速度限制,可以参考这篇文章搭建代理服务器使用。

代码语言:shell
复制
apt install openvpn3 

2.Centos安装openvpn客户端

Centos、Redhat系列支持的发行版代号:

发行版

版本

架构

Fedora

33, 34, Rawhide (*2)

aarch64, s390x, x86_64

Red Hat Enterprise Linux / CentOS

7

x86_64

Red Hat Enterprise Linux / CentOS

8

aarch64, x86_64

Centos7安装EPEL源:

代码语言:shell
复制
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

RHEL7安装EPEL源:

代码语言:shell
复制
sudo subscription-manager repos --enable "rhel-*-optional-rpms" --enable "rhel-*-extras-rpms" --enable "rhel-ha-for-rhel-*-server-rpms"

RHEL/CentOS 8安装EPEL源:

代码语言:shell
复制
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

RHEL8安装依赖库:

代码语言:shell
复制
ARCH=$( /bin/arch )
subscription-manager repos --enable "codeready-builder-for-rhel-8-${ARCH}-rpms"

安装yum copr模块:

代码语言:shell
复制
yum install yum-plugin-copr

启用Copr存储库:

代码语言:shell
复制
yum copr enable dsommers/openvpn3

安装Openvpn client:

代码语言:shell
复制
yum install openvpn3-client

注意,CentOS/RedHat系列使用openvpn3版本客户端在连接时可能会有卡主的情况,经过两端抓包验证即日志梳理并没有发现任何异常,并全权按照官方指引配置,在多个网络环境和多个CentOS/RedHat版本镜像测试复现,怀疑为官方BUG导致,因此如有遇到,建议安装下面的openvpn2版本。

代码语言:shell
复制
yum install openvpn -y

使用openvpn2版本连接:

代码语言:shell
复制
openvpn --config ${MY_CONFIGURATION_FILE}

后台运行可以是:

代码语言:shell
复制
nohup openvpn --config ${MY_CONFIGURATION_FILE} &>/dev/null &

或者写个systemd服务即可。

3.导入配置文件并运行

将从腾讯云SSL客户端控制台导出的配置上传到Debian,解压后通过如下命令运行:

代码语言:shell
复制
openvpn3 config-import --config ${MY_CONFIGURATION_FILE}  #导入配置文件,以便后续会话重用
openvpn3 session-start --config ${MY_CONFIGURATION_FILE}  #开启会话

sslvpnclient.ovpn替换成正确的ovpn配置文件,腾讯云官网的配置文件名应该是SSLVpnClientConfiguration.ovpn,可以看到connected说明已连接。

到此openvpn已正常运行,另开一个tty测试连通性:

4.openvpn会话管理

openvpn允许同时运行多个配置文件及会话,通过以下命令可以管理会话:

代码语言:shell
复制
openvpn3 sesstions-list  #查看当前运行的会话列表

重启会话:

代码语言:shell
复制
openvpn3 session-manage --config ${CONFIGURATION_PROFILE_NAME} --restart

断开会话:

代码语言:shell
复制
openvpn3 session-manage --session-path /net/openvpn/v3/sessions/..... --disconnect

断开会话后会统计流量使用明细。

查看会话状态:

代码语言:shell
复制
openvpn3 session-stats --config ${CONFIGURATION_PROFILE_NAME}
openvpn3 session-stats --session-path /net/openvpn/v3/sessions/...

查看会话日志:

代码语言:shell
复制
openvpn3 log --config ${CONFIGURATION_PROFILE_NAME}

附带PDF版本:

SSLVPN搭建与使用.pdf
SSLVPN搭建与使用openvpn-亮色版.pdf
下一篇
举报
领券