使用openvp*-gui客户端连接多服务端,作为Windows服务部署
背景
多数公司都会用到VPN隧道技术链接服务器,保证服务器的安全,但多数情况下会存在多服务端的情况,这时就有客户端连接多个服务端的必要了,如果每次都要切换配置的话,对于有强迫症的兄弟当然忍不了了
思考
使用过OpenVPN的都应该知道,在你的网络适配器上会多出一个TAP Window Adapter 的设备,在未连接时此设备处于断开状态,当你链接上VPN时会显示已连接,当你在使用openvpn-gui客户端选择其他profile配置文件时,会提示连接失败,查看日志会发现,没有可用的设备,必须采用先断开再连接的方式切换配置,按照这个问题,如果有多个设备,是不是就可以实现多开了。
实现
经过测试发现,在open-gui的v2.3及一下,安装完成会在 %ProgramFiles%\TAP Windows\ 目录下addadapt.bat ,右键以管理员运行新增一个设备
#查看 设备会显示TAP设备
openvpn --show-adapters
以下是v2.6版本显示的设备,

然后再试试使用gui连接其他配置,是不是就成功连接上了,还想连其他的怎么办,没错就是再执行addadapt.bat增加设备,完美实现多服务端连接

作为Windows服务部署
gui版本在2.4以上安装完成后,会自动启动OpenVpn Service服务,自动加载config-auto的所有配置,\openvpn\目录下除了config目录外多了个config-auto的目录

把所有的.ovpn及相关配置放在config-auto的根级目录,注意!是根级xxx.ovpn文件不能放在子文件夹下
重启服务,每次修改配置都需要重启OpenVPNService服务如果配置没问题,查看log日志会发现成功连接

~祝你好运!!!
Q/A
1、升级客户端v2.4以上发现找不到TAP的目录了
addadapt.bat 已经被 bin\tapctl 替代了
# 创建一个TAP设备
tapctl create
# 查看设备
tapctl list
2、cannot connect because of weak algorithm
https://www.snbforums.com/threads/openvpn-2-4-5-cannot-connect-because-of-weak-algorithm.45428/
在xxx.ovpn增加
tls-cipher "DEFAULT:@SECLEVEL=0"
3、OPTIONS ERROR: Failed to negotiate with cypher
在xxx.ovpn增加
data-ciphers AES-256-CBC
使用openvp*-gui客户端连接多服务端,作为Windows服务部署的更多相关文章
- InChatter系统之服务端的Windows服务寄宿方式(三)
为了部署的方便,我们开发Windows服务的服务寄宿程序,这样我们的服务便可以作为系统服务,随着系统的启动和关闭而启动和关闭,而避免了其他的设置,同时在服务的终止时(如系统关闭等)能及时处理服务的关闭 ...
- 服务端增加WCF服务全局异常处理机制
服务端增加WCF服务全局异常处理机制,任一WCF服务或接口方式出现异常,将统一调用WCF_ExceptionHandler.ProvideFault方法,因此不需要每个方法使用try catch写法. ...
- CentOS7下rsync服务端与Windows下cwRsync客户端实现数据同步配置方法
最近需求想定期备份服务器d盘的数据到Linux服务器上面,做个笔记顺便写下遇到的问题 以前整过一个win下的cwrsync(客户端)+rsync(服务端:存储)的bat脚本 和整过一个Linux下的r ...
- 玩转Windows服务系列——给Windows服务添加COM接口
当我们运行一个Windows服务的时候,一般情况下,我们会选择以非窗口或者非控制台的方式运行,这样,它就只是一个后台程序,没有界面供我们进行交互. 那么当我们想与Windows服务进行实时交互的时候, ...
- 玩转Windows服务系列——创建Windows服务
创建Windows服务的项目 新建项目->C++语言->ATL->ATL项目->服务(EXE) 这样就创建了一个Windows服务项目. 生成的解决方案包含两个项目:Servi ...
- 玩转Windows服务系列——创建Windows服务
原文:玩转Windows服务系列——创建Windows服务 创建Windows服务的项目 新建项目->C++语言->ATL->ATL项目->服务(EXE) 这样就创建了一个Wi ...
- Android客户端与PC服务端、android服务端通过WiFi通信
前期准备:我的是Linux Mint操作系统(总之折腾的过程中怀疑过是不是系统的问题),首先是要创建wifi热点给android手机使用,这个时候笔记本作为通信的服务器端,android手机作为客户端 ...
- socket的客户端和服务端(Windows控制台程序)
首先是两个程序,分别是socket的客户端和服务端.(在windows系统vc6.0编译)服务器端:#include <Winsock2.h>#include <stdio.h> ...
- Web服务端软件的服务品质概要
软件品质概述 提供同样功能.产品和服务的服务者中, 竞争力来自功能的多样化和服务品质的差异化, 无论是个体.企业还是国家. 这里的服务指功能.产品的实现程度和处理能力,以及研发/客服提供的技术支持程度 ...
- 成功使Linux服务端和Windows客户端建立socket通信
一.准备工作 1.一台装有虚拟机的Windows7操作系统,虚拟机中装的是CentOS6.5版本的Linux 2.Windows7已经装有java环境 二.编码 使用java编写socket通信的服务 ...
随机推荐
- linux系统centos7.9如何安装nginx
1.官网下载nginx nginx官网:https://nginx.org/ 选择稳定版进行下载,也可以下载老版本,下载成功后上传到服务器. 2.使用wget下载 访问nginx官网,在下载页面鼠标右 ...
- UE4蓝图对Actor的引用
通过关卡蓝图调用 在关卡中放置一个Actor,在关卡蓝图中右键 create a reference to actor,即可 注意使用该方法创建时,需要现在关卡中选择上该类Actor 当Actor生成 ...
- stm32F103 移植Free RTOS
stm32F103 移植Free RTOS 1. 下载FreeRTOS 源码 [官网下载] (http://www.freertos.org) [代码托管网站下载] (https://sourcefo ...
- CSS+HTML+flexible.js+rem实现屏幕缩放适配概念原理解释
首先理解几个概念: (1)屏幕尺寸:屏幕对角线的长度,一般用英寸表示,1英寸=2.54cm. (2)dp((或者叫dip):设备独立像素,也就是设备屏幕上多少个点. (3)dpi:印刷行业术语,像素密 ...
- 测试开发之系统篇-安装KVM虚拟机
虚拟机(Virtual Machine)和容器(Container)是两种流行的虚拟化技术. 虚拟机模拟机器的硬件,包括了完整的操作系统和应用,它一旦被开启,预分配给它的资源将全部被占用.容器是运行在 ...
- #倍增,LCA,Kruskal#JZOJ 1092 洛谷 4180 [BJOI 2010] 次小生成树
题目 给出一个无向图,问它的严格次小生成树(数据保证有解) 分析 首先先找一棵最小生成树,然后对于每条非树边\((x,y,w)\)可以找到最小生成树上\(x,y\)路径上略小于\(w\),首先如果能找 ...
- DevEco Device Tool 助力OpenHarmony设备开发
DevEco Device Tool 为设备开发者提供一站式的开发环境和资源获取通道,实现了从芯片模板工程创建.到开发资源挑选定制,再到快速编码.轻小型系统调试调优.烧录环节的全流程覆盖,帮助开发者实 ...
- 数据库操作入门:PyMongo 和 MongoDB 的基本用法
MongoDB MongoDB是一种流行的NoSQL数据库,它将数据存储在类似JSON的文档中,使数据库非常灵活和可扩展 PyMongo Python需要一个MongoDB驱动程序来访问MongoDB ...
- mybatis复习(三)映射文件属性详解和动态SQL
mybatis映射文件属性详解和动态SQL笔记 <SELECT> id = "" 唯一标识parameterType = "" 表示传入SQL语句的 ...
- JVM—垃圾收集器
JVM-垃圾收集器 什么是垃圾 没有被引用的对象就是垃圾. 怎么找到垃圾 引用计数法 当对象引用消失,对象就称为垃圾. 对象消失一个引用,计数减去一,当引用都消失了,计数就会变为0.此时这个对象就会变 ...