某开源远程办公软件安装配置说明

news2025/7/23 22:48:29

******是开源软件,只需要简单的配置,就可以在企业搭建SSL VPN,满足日常远程办公的需求。本篇文档为在windows服务器安装搭建openvpn记录,仅供参考。

  • 拓扑说明

使用虚拟机进行测试,主机操作系统Windows 10和m0n0。模拟拓扑:内网主机(openvpn server)、m0n0wall、外网主机(openvpn client),网段分别是192.168.1.0/24和172.16.10.0/24。

具体网卡配置:内网主机网卡使用LAN1网段;m0n0wall双网卡,一个LAN1网段,一个桥接模式;外网主机网卡使用桥接模式。

使用m0n0wall作为防火墙,设置源地址转换和目的端口映射。

以上是lan口、wan口的安全规则。

以上是NAT设置。

使用chfsgui测试TCP 1194端口映射,UDP设置类似,直接使用openvpn进行测试即可。

需要注意的是防火墙wan口设置,需要去掉Block Private networks选项,不然网络不通。

这个选项是wan口不处理RFC 1918的地址,因为是测试环境内外网都使用保留地址。

一、openvpn软件下载

安装包可以在github下载,或者去官网下载:

https://openvpn.net/community-downloads/

二、服务端安装

openvpn软件服务端和客户端都是同一个安装包,本次使用的openvpn安装包为OpenVPN-2.6.0-I005-amd64。

1.安装的时候要选择Customize,勾选openvpn service和EasyRSA3 安装,用于服务端配置和证书生成使用。


安装完毕后提示没有找到可读取的连接配置文件。

不用管,接下来我们生成对应的文件。

2.安装完成后软件默认位置C:\Program Files\OpenVPN目录

三、证书生成

上一步我们已经安装了证书生成工具EasyRSA3使用此工具即可生成所需证书。

1.进入EasyRSA shell 环境dos窗口

进入C:\Program Files\OpenVPN\easy-rsa目录,双击EasyRSA-Start.bat 进入EasyRSA shell 环境dos窗口中;

我在windows10中测试,这个窗口需要管理员权限执行,不然会报错。

2.初始化证书生成程序

弹出的dos窗口中输入./easyrsa init-pki 初始化证书生成程序,初始化成功后会在C:\Program Files\OpenVPN\easy-rsa目录下新建文件夹kpi,如下图示:

报错界面和正常界面。

3.生成ca证书

在dos窗口中输入./easyrsa build-ca nopass生成无密码CA证书,生成过程中会要求输入证书名称,随意输入即可,本次使用Open_CA作为名称,生成结束后会打印出证书所在目录easy-rsa\pki\ca.crt;

4.生成服务端证书

输入./easyrsa build-server-full server nopass 生成无密码服务端证书,生成后证书文件在C:\Program Files\OpenVPN\easy-rsa\pki\issued文件夹

5.生成客户端证书

输入./easyrsa build-client-full client nopass生成无密码客户端证书,生成后证书在C:\Program Files\OpenVPN\easy-rsa\pki\issued文件夹

6.生成DH密钥交换协议

输入./easyrsa gen-dh生成DH密钥交换协议文件,生成文件在C:\Program Files\OpenVPN\easy-rsa\pki目录下


7.目录C:\Program Files\OpenVPN\easy-rsa\pki\private下为证书key

四、服务器配置

服务端配置文件模板为server.ovpn ,在 C:\Program Files\OpenVPN\sample-config目录下:

1.修改服务端配置文件

复制server.ovpn文件至C:\Program Files\OpenVPN\config目录,修改如下选项:

a)端口:(公网需要对应开通此端口)port udp 1194
b)协议文件名:dh dh2048.pem修改为dh dh.pem
c)运行多用户使用同一客户端证书:;duplicate-cn取消注释(前面;号删除)修改为duplicate-cn
d)注释掉此行(前面加#号): tls-auth ta.key 0修改为#tls-auth ta.key 0

2.证书复制配置

将服务证书,服务key,ca证书,dh文件复制到文件夹C:\Program Files\OpenVPN\config下

3.连接

右键点击任务栏带锁小电脑图标,点击连接,连接成功后会变绿,系统提示分配ip

注:  因为VPN需要通过公网访问,需要在路由器中将udp 1194端口转发到内网服务器所在ip

五、客户端安装

1.安装

双击OpenVPN-2.5.6-I601-amd64.msi,点击Install Now安装客户端,安装完成后目录C:\Program Files\OpenVPN\

2.配置客户端文件

客户端配置文件client.ovpn,模板在C:\Program Files\OpenVPN\sample-config,复制该文件到C:\Program Files\OpenVPN\config目录下,修改客户端配置如下:

a)修改连接服务器地址: remote my-server-1 1194修改为remote 服务器公网ip 1194
b)注释掉此行(前面加#号): tls-auth ta.key 1修改为# tls-auth ta.key 1

3.证书复制

将客户端证书,客户端key,ca证书复制到该目录下C:\Program Files\OpenVPN\config

4.连接

右键点击任务栏带锁小电脑图标,点击连接,连接成功后系统分配ip,小电脑变绿

至此openvpn环境便搭建完成了。

六、客户端安装(Open VPN Connect

官方推出了另一个形式的客户端,openvpn-connect-3.3.7.

这个是GUI形式的,更加的方便。

安装简单,连接时导入client.ovpn文件即可,注意需要其他三个文件和client.ovpn在一个文件夹下。


扩展资料:

1.tls-auth ta.key 配置为防御 DoS,UDP 淹没等恶意攻击行为的选项,如配置需要生成ta.key证书,生成方式:跳转到openvpn软件的bin目录下,在dos窗口中输入:openvpn.exe --genkey --secret ta.key ,便在bin目录下生成ta.key证书了,复制到配置文件目录即可。

2.证书时间等参数可以在vars文件中设置,设置后重新启动EasyRSA-Start即可加载新配置。

3.;client-to-client为客户端之间是否能之间访问的配置,去掉注释后生效。

4.;push "redirect-gateway def1 bypass-dhcp" 配置开启后客户端所有流量将路由至服务器,需要在访问端服务器上配置路由转发后才可以访问公网。

以上内容参考:

https://blog.eyyyye.com/article/39

对于更加实用的ethernet bridging本次没有测试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/394868.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java|golang】1247. 交换字符使得字符串相同

有两个长度相同的字符串 s1 和 s2,且它们其中 只含有 字符 “x” 和 “y”,你需要通过「交换字符」的方式使这两个字符串相同。 每次「交换字符」的时候,你都可以在两个字符串中各选一个字符进行交换。 交换只能发生在两个不同的字符串之间…

JavaEE简单示例——MyBatis的缓存机制

简单介绍: 缓存机制的存在,是为了当我们在执行重复的SQL代码的时候,不需要重新向数据库进行访问,而是将之前查询的结果存放在内存当中,从而减少我们重复的获取数据库连接进行查询时候消耗的资源,是一种加快…

内容产品项目作品 || 项目背景及需求分析(一)

一、项目背景介绍 如果让大家来做一个没接触过的产品,思路: 先了解产品所在的行业,多看看第三方的行业研究的文章了解产品的主要竞品,这样做产品设计的时候不会乱搞 常见的内容产品形态:图文、音视频、直播等 二、…

走!来学习配置基于IP子网划分VLAN

划分VLAN的方式有:基于接口、基于MAC地址、基于子网、基于协议、基于策略(MAC地址、IP地址、接口) 基于IP子网划分VLAN经常适用于对安全需求不高、对移动性和简易管理需求较高的场景中。比如,一台PC配置多个IP地址分别访问不同网段…

Traefik v2.9-IngressRoute

文章目录简介资源交付创建CRD和RBAC创建ConfigMap创建Deployment创建Service创建traefik-dashboard-ingressroute简介 The Kubernetes Ingress Controller, The Custom Resource Way. In early versions, Traefik supported Kubernetes only through the Kubernetes Ingress …

Android SurfaceTexture说明

what 1. SurfaceTexture用来捕获视频流中的图像帧,视频流可以是相机预览或者是视频解码数据。 里边承接图像数据的也是GraphicBuffer, GLConsumer 作为其BufferQueue的消费方,取得数据后可以通过eglImage挂到opengles texture 里边对其做纹理采样。 ho…

学习笔记三:容器,镜像相关操作,并部署nginx

这里写目录标题镜像相关命令从dockerhub查找镜像容器相关操作以交互式方式启动并进入容器以守护进程方式启动容器查看正在运行的容器通过docker部署nginx服务在docker里安装nginx创建静态页面访问docker里的nginx服务流量走向:镜像相关命令 从dockerhub查找镜像 d…

mTip 输入法状态跟踪提示 ,可以更改热键等

ImTip ( 输入法状态跟踪提示 )最新版本是 v4.4 :免费开源,仅 715 KB。单文件绿色软件,无任何外部依赖,兼容 XP,Vista,Win7,Win8,Win10,Win11 …… 等所有流行桌面操作系统。源代码: …

Java设计模式笔记——六个创建型模式

系列文章目录 Java设计模式笔记——七大设计原则 文章目录系列文章目录一、简单工厂模式1.概念2.案例分析3.使用简单工厂模式进行改进4.总结二、工厂方法模式1.概念2.案例分析3.使用工厂方法模式进行改进4.总结三、抽象工厂模式1.概念2.案例分析3.使用抽象工厂模式改进4.总结四…

跨端技术或许是提升软件运维效率的利器

凡是代码,难免有 bug。 开发者们的日常,除了用一行行代码搭产品外,便是找出代码里的虫,俗称 debug。 ​随着移动互联网的快速发展,App 已经成为日常生活中不可或缺的一部分。但是在开发者/运维人员的眼里简直就是痛苦…

Win YAPI + Jenkins 实现接口自动化测试

自动化测试 传统的接口自动化测试成本高,大量的项目没有使用自动化测试保证接口的质量,仅仅依靠手动测试,是非常不可靠和容易出错的。 为了解决这个问题,使用YAPI接口自动化测试功能,只需要配置每个接口的入参和对 RE…

网络类型以及数据链路层协议

网络类型以及数据链路层协议网络类型是根据我们数据链路层所运行的协议及规则来划分网络类型的分类P2P --- 点到点 --- point to pointMA --- 多点接入网络BMA --- 广播型多点接入网络NBMA --- 非广播型多点接入网络数据链路层协议MA网络以太网协议特点:需要使用MAC…

Java代码弱点与修复之——Explicit null dereferenced(显式空间接引用)

弱点描述 Explicit null dereferenced, 显示空间接引用。是 Coverity 静态代码分析工具检测到的一种中风险缺陷。这种缺陷通常发生在尝试使用空指针引用调用对象上的方法或访问属性时。 Explicit null dereferenced的缺陷可能会导致程序崩溃或产生不可预测的结果。 在Java语…

0102 MySQL05

1.约束 1.约束(constraint):在创建表时,可以给表中的字段加上一些约束,保证表中数据的完整性,有效性 常见的约束? 非空约束:not null 唯一性约束:unique 主键约束&am…

在VM16.X虚拟机上安装Android-X86 9.0

前提:电脑已安装好VM虚拟机, 第一步:下载好安卓9.0系统 https://www.fosshub.com/Android-x86.html 第二步:开始安装 1、新建虚拟机(按图片上的点一下步) 点浏览,确定虚拟机位置 处理器配置建…

深度剖析C语言预处理

致前行的人: 人生像攀登一座山,而找寻出路,却是一种学习的过程,我们应当在这过程中,学习稳定冷静,学习如何从慌乱中找到生机。 目录 1.程序翻译过程: 2.字符串宏常量 3.用宏定义充当注释符号 4…

【笔记】若依不分离的$.modal.open()打开多个子窗口,关闭子窗口刷新父窗口问题

前言 如题所述,当前遇到的问题是:我在若依不分离版的一个普通HTML页面A使用 $.modal.open()打开一个子窗口B,且在这个子窗口里再次使用 这个函数打开一个子窗口C,这时的情况就是 A 界面有子窗口 B, B 窗口又有一个子…

《系统架构设计》-06-面向领域思想和策略设计

文章目录1 面向领域思想1.1 架构设计与领域驱动1.1.1 领域驱动设计1.1.2 使用领域驱动设计的条件1.2 领域驱动设计核心概念1.2.1 策略维度1.2.2 技术维度2. 面向领域的策略设计2.1 通用语言2.2 领域与上下文2.2.1 架构轮回2.2.2 系统拆分子域界限上下文系统拆分策略2.2.3 上下文…

Mysql—主从复制

主从复制 创建mysql 基于docker创建2个mysql容器 1、拉取mysql镜像,这里拉取最新的8.0.20 docker pull mysql:latest2、使用镜像运行两个mysql容器:mysql 和 mysql-2 docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORDroot mysql …

Ubuntu系统升级16.04升级18.04

一、需求说明 作为Linux发行版中的后起之秀,Ubuntu 在短短几年时间里便迅速成长为从Linux初学者到实验室用计算机/服务器都适合使用的发行版,目前官网最新版本是22.04。Ubuntu16.04是2016年4月发行的版本,于2019年4月停止更新维护。很多软件支…