简单的OpenVPN搭建之Windows

网友投稿 9898 2022-05-28

需求描述:

POC客户的云桌面需要与客户本地物理机通信以获取许可。

参考文档

1. 简书教程:https://www.jianshu.com/p/e0ba68e2f357

2. 官方文档:https://openvpn.net/index.php/open-source/documentation/howto.html#quick

操作步骤

1. 下载OpenVPN

简单的OpenVPN搭建之Windows

官网,2.4.6自带OpenSSL,Windows的直接用exe安装就好了,记得在Server端安装的时候把EasyRSA勾上,不然就像我一样傻乎乎的去Github上再找源码。。不过我发现这个EasyRSA 2 Windows版是13年前的东西,牛逼啊。

2. 创建证书

OpenVPN安装目录/easy-rsa/vars.bat.sample

这个文件是个创建bat脚本的模板,一会会创建三次证书,不想打字的就在这里多改点

初始化操作:

接着,我们用管理员身份打开命令提示符窗口,并转到easy-rsa目录,然后依次执行如下命令完成初始化工作:

init-config vars clean-all

第一次执行clean-all时,提示"系统找不到指定的文件"是正常的,不用管它。该命令会删除掉之前生成的所有证书和密钥文件,以避免与之后全新生成的证书和密钥发生冲突。

1)第一个证书:CA证书

build-ca

看这里默认值都是前面在vars.bat.sample里面改的。后面几项我瞎写的也没事

2)第二个证书:服务器证书

build-key-server server

大部分跟上面一样,主要注意一个点:Common Name这里要写server。创建出来的证书名字就是server

输入密码,y,y。日常RSA操作。

3)第三个证书:客户端证书

build-key client1

有多少client就跑多少遍,1,2,3,4,5.

然后在Common Name填对应的名字

4)最后一个证书是迪飞赫尔曼密钥,很酷的样子,不知道是啥

build-dh

不过要等大概5分钟,比较久

5)开启tls-auth(可选)

简书教程说这是防DDoS的,总之是好东西,我就开了

6)增加客户端

引用简书教程里的话:如果你以后还想要创建新的客户端,只需要先执行vars命令,再执行build-key clientName命令即可(每次打开新的命令提示符窗口,都必须先执行vars命令,才能执行其他命令)。

3. OpenVPN配置

在安装目录下有个sample-config文件夹,里面的".ovpn"文件就是配置文件的模板。其实基本上用server.ovpn跟client.ovpn这两个文件就能连通。

小提示:'#'号开头的注释是每一行配置的文字解释;';'号类似是一个“switch”的功能,为了区分文字行与配置行。

简单一个举例:

第34行的注释是解释下面这行配置事用TCP还是UDP协议,35行注释掉了配置tcp的代码,那么确实生效的配置就是36行的"proto udp",最后OpenVPN服务也将走UDP协议。

这个理解了以后就看着文字解释改吧,有什么不懂的就看参考最上面的官方文档,简书教程里把整个配置文件贴出来了,照着写也行。

4.华为云虚拟机配置

1)添加OpenVPN端口

在华为云Server端所在ECS的安全组里添加如下规则:

若使用云桌面作为Server端,请在名为“WorkspaceUserSecurityGroup”的安全组下添加此规则。

2)NAT网关设置(如果Server端有绑定EIP则可以跳过)

购买一个小型的NAT网关,并绑定一个1Mbit/s的EIP。进入NAT网关控制台,选中创建好的NAT网关,点击添加DNAT规则:

私网IP选择Server端的私网IP地址,点击确认。

DNAT公网的端口映射到私网的端口,所以私网端口一定要填OpenVPN默认的1194端口(当然你也可以在配置里面改,32行FYI)公网端口填没有被占用的端口就行。注意,这里的设置在client.ovpn里体现在第42行:remote "弹性公网IP" "公网端口"

5. 链接OpenVPN并验证结果

1)开启OpenVPN服务

进入Server端所在计算机的Windows服务界面(【开始】->【运行】->【services.msc】),然后启动OpenVPN Service服务,从而启动服务器端的OpenVPN。

开启后稍微等1分钟,可以运行命令:netstat -ano,来查看是否有个udp 1194的端口在监听

2)在Client端链接OpenVPN Server

切换到Client端服务器,双击安装OpenVPN时在桌面上生成的OpenVPN GUI图标,此时任务栏右下角会出现如下图所示的托盘图标,右键该图标,点击【connect】即可启动OpenVPN客户端,并尝试连接服务器。

如果连接成功,该托盘图标将会变为绿色,并且提示OpenVPN服务分配给Client端的隧道IP,如图:

如果一不留神没看到,可以右键点击OpenVPN图标 -> Show Status;在弹出窗口的最后一行看到,如图:

3)测试

尝试在Server端ping一下Client端的地址:执行命令ping 10.8.0.2

尝试在Client端ping一下Server端的地址:执行命令ping 10.8.0.1

如果都能ping通,那么VPN的通道就搭建好了。下一篇讲一下如何用Client端(Server端也行)作为跳转,让与Client端同网段的机器与Server端互信。

Windows 虚拟专用网络 VPN

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:一文带你了解Redis持久化完整版本
下一篇:【云驻共创】企业怎么看待新形势下的智慧物流
相关文章