【技术宅拯救世界】在Windows Server2012上利用OpenVPN搭建自己的VPN服务器

写在前面的话:前段时间利用VPN免流特别火,我本来打算买一个,但后来发现其实都是用的OpenVPN搭建的,正好我手上有一个腾讯的云服务器,我一想不如就自己搭建一个吧,省点钱,结果就这样浪费了两天的时间,最大的问题在于网上关于用windows server搭建的教程异常的少,大部分都是cent os并且是脚本搭建的,我看了好多,看得我一头雾水。。。总算在我折腾服务器两天之后建好了属于自己的第一个VPN服务器,但是免流那块,四川联通失败,浪费了我两天的时间,但是为了避免以后搭建再次搭建VPN时发生问题,所以我写下这篇博客作为自己的笔记。

首先,我们需要下载OpenVPN安装程序

  1. 下载地址:

    官方下载地址:https://openvpn.net/index.php/open-source/downloads.html

    一定要加上https,否则打不开这个网页

    我的安装文件是:http://share.weiyun.com/199334ed61bc582ce90ef9af293ff05d

  2. 安装软件:

    安装软件的过程和一般的一样,只是在安装的过程中有几个需要注意的地方:

    1.建议不要修改默认的安装地址,在某次安装时,我修改了地址之后就报错了,所以建议大家不要修改默认地址,至于修改后报错的原因我也没有搞懂,如果有知道的朋友请联系我,互相学习。

    2.在安装的时候记得勾选所有选项,进行完全安装,否则证书生成工具没有安装上就麻烦了

  3. 目录展示:

  4. 开始生成OpenVPN服务器以及客户端的相关证书和文件:

    1.进入easy-rsa文件夹,我们可以看到一个名为 vars.bat.sample的文件,有一定英语以及计算机基础的同学一定可以很快明白这个文件的意思,就是一个vars.bat批处理文件的样本,然后用notepad++文本编辑器打开这个文件,对部分代码进行修改,需要修改的代码如下:

    set KEY_COUNTRY=CN 国家

    set KEY_PROVINCE=SiChuan 省份

    set KEY_CITY=ChengDu 城市

    set KEY_ORG=baofeidyz 组织名

    set [email protected] 邮箱

    将这些修改为自己的对应信息就可以了。

    2.然后进入CMD控制台操作

cd C:\Program Files\OpenVPN\easy-rsa

注:如果不是安装在默认安装目录的同学请自行修改

vars

clean-all

这两步操作是必须的,得到的提示如下:

然后开始初始化造作

init-config

vars

clean-all

然后我们就可以开始生成各项文件(下面所有操作都必须要保证CMD控制台命令是在OpenVPN\easy-rsa目录下进行的):

NO 1. 生成根证书 ca.crt文件

build-ca

然后程序会自动加载,一直到你刚刚设置的那个国家那个地方停止,这个时候仅需要回车就可以了,程序会使用你默认的数据设置,就不需要你单独的再输入了。但是在需要你在这个地方输入信息,代码块如下:

Common Name (eg, your name or your server‘s hostname) [changeme]:OpenVPN-CA

输入OpenVPN-CA即可

NO 2.生成dh1024.pem文件

build-dh

这个直接运行完成,不需要你填写任何参数

NO 3.生成服务端密钥:

build-key-server server

这个和build-ca类似,但除了需要修改下面的这个代码块以外还有两个确定操作,直接Y回车就可以,当然如果你信息填写错误了,就N回车重新来就可以了:

Common Name (eg, your name or your server‘s hostname) [changeme]:server

NO 4.生成客户端密钥:

build-key client

这个和build-key-server就是一毛一样的了,修改的代码块如下:

Common Name (eg, your name or your server‘s hostname) [changeme]:client

如果有多个客户端,就需要继续用build-key client2或者其他名字生成多个客户端密钥即可,注意代码块的修改

NO 5.文件已经准备好了,现在来配置我们服务器端:

1) 将生成的ca.crt,dh1024.pem,server.crt,server.key复制到C:\Program Files\OpenVPN\config目录下,这四个文件是VPN服务端运行所需要的文件。

2) 利用sample-config文件目录下的server.ovpn的模版文件进行配置,由于CSDN博客使用的是markdown编辑器,所以这边不方便展示使用“#”号注释的代码,这边就不做复制粘贴,请各位移步到这个地址查看详细的server.ovpn配置,切记,这个是最最关键的地方,一定要多花时间,否则会导致后面的启动失败。

OpenVPN server端配置文件详细说明-作者:软件指南针

3) 配置完server.ovpn文件之后同样的拷贝到C:\Program Files\OpenVPN\config目录下,此时运行C:\Program Files\OpenVPN\bin\openvpn-gui.exe ,然后你的桌面的右下角会有一个这样的图标:,然后你用鼠标右键点击,可以看到这个子菜单: 如果你不能看到这个子菜单结构,则表示C:\Program Files\OpenVPN\config 这个目录中的文件有问题,可能是缺少部分文件,那么你再去检查一下,有时候甚至需要你重启一下服务器才可以,但一般情况下不建议重启服务器。如果正常的话,直接选择connect即可,成功启动界面: 当然也有启动失败的时候,我绝大多数的时候都是启动失败的,主要问题就在这个server.ovpn上面,因为这个文件的配置相对自由,所以你一定将这个文件配置好,否则前面的证书生成这些都白费了。

NO 6.搞定了服务器之后,我们还需要搞定我们的客户端这边:

1) 客户端client.ovpn文件配置详解:OpenVPN client端配置文件详细说明-作者:软件指南针

2) 客户端的启动:只要你client.ovpn文件配置好了,这个就非常简单了,我用的客户端是IOS上面,当然还有安卓、windows等等,如果让我来判断呢,IOS应该算是最麻烦的,因为OpenVPN这个程序没有上架到中国版的app store中,这就意味着你需要一个其他地区的apple id,这里借用一下骚逼汪提供的apple id,这个是香港的:

Apple ID:[email protected]

密码:Aa20162016

只登录你的app store就可以了,千万别登录itunes,以免被人锁机,app store登录方法我也一并附上吧:

-打开你的app store , 选择精品推荐这一栏目,如图:

-然后你一直往下滑动,一直到最后,你可以看到你的apple id

-直接点击你的apple id 选择注销,然后登录骚比汪提供的香港地区的apple id登录即可,在app store里面登录仅限用于下载,不会影响你icloud和itunes的问题的,你可以在通用里面查看一下,避免被锁机,然后直接搜索OpenVPN就可以下载了,下载就把这个ID注销,登录回自己的即可,下载的程序只要你不去删除是不会消失的,当然你可以想办法自己注册一个其他地区的apple id进行登录。

安装好了客户端之后还没有结束,还需要你使用PC上面的itunes工具,将客户端的证书以及根证书这些文件拷贝到OpenVPN目录中,具体方法如下:

-将你的手机与PC上面的itunes连接上,并点击

-进入到手机管理界面之后,再次选择应用,如图所示:

-这个时候在右边就可以看到这样的界面:

-然后点击最右边,记住是最右边的拖动条至最后:

-这时候你就可以点击OpenVPN这个图标了:

-点击添加文件,把所有有关的文件就选中,根证书,客户端证书,客户端的key文件等等,一股脑全部拉进去就可以了,然后你手机上面的OpenVPN就会提示你是否要新建一个VPN链接,点击加号新建,然后连接,搞定!重点内容

对于我最开始想要免流的问题这里就不做讲解了,因为四川联通好像没法免流,如果有知道的小伙伴记得分享一下哦。

一路走来,查了不少朋友的博客,我也一并附在文件中,方便我也方便大家更好的去理解这个OpenVPN吧,本人最近也搭建自己个微信公众号,有兴趣的朋友可以先关注哦,直接搜索 暴沸 即可,偶尔会给大家发一发科技圈的事儿和一些有意思的文章。反正关注不亏就对了。有问题也可以评论回复,看到后会尽量回复的。

参考资料:

特别感谢! 作者 软件指南针

作者 孙州义

作者 骚比汪

作者 qihuanfengyun

作者 秦阳

IOS系统OpenVPN参考

时间: 2024-10-12 20:44:39

【技术宅拯救世界】在Windows Server2012上利用OpenVPN搭建自己的VPN服务器的相关文章

如何在Windows系统上利用Telnet协议连接Linux服务器

Telnet协议是Internet远程登录服务的标准协议,它为用户提供了在本地计算机上完成远程主机工作的能力.很多终端使用者都习惯在计算机上利用Telnet会话来远程控制服务器.这里小编就分两步为大家演示如何在Windows系统上利用Telnet协议连接Linux服务器. 步骤一:在Windows系统上打开Telnet功能:  步骤二:在Linux系统上启用Telnet服务. 步骤一:Windows终端开启Telnet功能 1/由于在Windows Vista之后的版本默认并没有提供Telnet

安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3.5的详细分析及安装过程

       问题:在服务器(操作系统为Windows server 2012)上安装SQL Server 2012的过程中,安装停留在下图所示的界面上,显示”正在启用操作系统功能NetFx3”随后出现提示框,告知启用windows功能NetFx3时出错. 分析:NetFx3指的是.NET Framework 3.5,SQL Server 2012数据库系统的运行需要依靠.NET Framework 3.5,但是Windows Server2012默认情况下是并没有安装.NET Framewor

在Windows Server2012上搭建SharePoint2013开发环境

1,选择中文 2,选择Datacenter带有GUI的服务器 3,之后下一步,下一步,等待系统安装完成 5,使用命令行的方式安装.NET FrameWork3.5(在服务器管理器的功能中添加会报错),安装过程中保证计算机可以联网 dism.exe /online /enable-feature /all /featurename:NetFX3 /Source:e:source/ssxs 4,系统安装完成后,最好下载一个激活工具,将系统激活 二,安装域,Server2012上安装域的方式不同于Se

在Windows Server2012上安装SQLServer2012图文教程

本文讲述了如何在Windows Server 2012上安装部署SQL Server2012的方法. 系统环境:windows server 2012,如下图: 注意:在Windows server 2012上部署SQL server 2012之前要先安装.netframework 3.5,否则安装过程中会报如下的错误: 在服务器管理器中添加角色功能,在功能区勾选.net framework 3.5功能,如下图所示: 选择添加角色功能向导,在路径中输入SXS文件夹的位置,如下图所示: 默认进行后

Windows Server2012上使用Nginx做文件服务器

由于项目中用到了大量的文件上传和删除,考虑到安全的因素,所以整体的思路是使用FTP从主服务器把文件资源上传到文件服务器上. FTP上传到服务器的代码如下(简单附加一下,具体的网上很多) public static void UploadFile(FileInfo fileInfo, string hostname, string username, string password) { string target; string targetDir = DateTime.Now.ToString

windows下利用OpenVPN搭建VPNserver

一.OpenVPN是一款功能强大,可跨平台(支持Win 2000/XP/2003, Linux, Mac OS X, Solaris, FreeBSD, NetBSD, 和 OpenBSD)使用的SSL VPNserver软件(详细说明见官方主页官方主页http://openvpn.net). 下载地址:http://openvpn.net/index.php/download.html 二.安装与配置 第一步:安装openvpn这一部分是服务端跟client都要做的工作,操作全然同样双击 op

如何在Ubuntu 14.04上利用jexus搭建支持php+mysql数据库的网站服务

准备部分:sudo apt-get update          sudo apt-get install unzip -y第一部分:安装jexus    在终端运行以下命令    cd /tmp    wget https://www.linuxdot.net/down/jexus-5.8.2-x64.tar.gz     tar -zxvf jexus-5.8.2-x64.tar.gz     sudo mv jexus /usr    sudo mkdir -p /var/www/def

在windows环境下利用virtualenv搭建Python虚拟环境

安装Python 安装时只有一点需要注意,一定一定要将Python添加到系统环境变量那一项勾选. 安装 virtualenv 加入系统目录之后,命令行(CMD)下就多了一条命令:pip.用pip可以自动下载安装 Python 的各种第三方库. 打开命令行,在命令行下直接输入: >pip install virtualenv 下载安装好好了,就 cd 到需要创建虚拟 Python 环境的文件夹下,输入命令: >virtualenv venv 激活virtualenv 文件夹中就会多了一个叫做 v

利用express搭建一个restful api 服务器

学习express有几天了,记录一下内容也给入门的兄弟们一点提示. 想要解决的问题: node开发过程中自动重启服务器,无需每次都要运行node index.js启动服务器(nodemon) 使用ES6,ES7 编写代码,自动编译 使用import,export新特性.(babel) 使用express开发RESTFUL API,模块化开发. 学习postman中的提交内容方式. 利用mongoose中间件来实现model层映射. 利用body-parser中间件来实现提交内容解析.(multi