使用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通信的服务 ...
随机推荐
- KingbaseES数据库分区表添加主键与索引的建议
一.初始化测试环境 # 数据库版本信息 KingbaseES V008R006C007B0012 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 ...
- C++中std::function常见用法
C++标准库中的std::function是一个通用的函数封装,可以用来存储.复制.调用任何可调用对象(函数.函数指针.成员函数指针.lambda表达式等).以下是std::function的一些常见 ...
- 整合mybatis-spring需要的maven依赖配置
创建maven项目,导入相关jar包 junit 1 <dependency> 2 <groupId>junit</groupId> 3 <artifactI ...
- set集合的HashSet 类
set是一个没有重复元素, 没有存储顺序的集合,它主要有三个实现类,如下: HashSet 类 HashSet 类是按照哈希算法来存储集合中的元素,当向 Set 集合中添加一个元素时,HashSet ...
- 小师妹学JavaIO之:File文件系统
目录 简介 文件权限和文件系统 文件的创建 代码中文件的权限 总结 简介 小师妹又遇到难题了,这次的问题是有关文件的创建,文件权限和文件系统相关的问题,还好这些问题的答案都在我的脑子里面,一起来看看吧 ...
- C# 数据类型与类型转换:包含教程与示例
C# 数据类型 C# 中的变量必须是指定的数据类型: int myNum = 5; // 整数(整数) double myDoubleNum = 5.99D; // 浮点数 char myLetter ...
- C# 关于e.Handled 的说明
e.Handled = false; KeyPressEventArgs.Handled 属性bai获取或设置一个值duzhi,该值指示是否dao处理zhuan过 KeyPress 事件.属性值类型: ...
- Windows cmd命令 -- 记录
# 清屏 >> cls # 查看进程 >> tasklist # 结束进程 >> tskill <pid> # 查询WIFI列表所有WIFI的信息 &g ...
- MogDB学习笔记之 -- 了解pagewriter线程
MogDB 学习笔记之 -- 了解 pagewriter 线程 本文出处:https://www.modb.pro/db/183172 在前面的 MogDB 学习系列中,我们了解了核心的 bgwrit ...
- 前端使用 Konva 实现可视化设计器(3)
github/gitee Star 终于有几个了! 从这章开始,难度算是(或者说细节较多)升级,是不是值得更多的 Star 呢?! 继续求 Star ,希望大家多多一键三连,十分感谢大家的支持~ 创作 ...