`
eryin
  • 浏览: 20080 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

BurstNET VPS搭建OpenVPN全程实录[原创]

阅读更多

前言:

 

    由于BurstNET的VPS使用的OpenVZ的虚拟环境,所以不支持PPTP VPN,但是官方承诺可无缝安装OpenVPN,这也

给广大被GFW害惨了的网民一丝希望。

 

    虽然国内外提供FreeVPN的企业和个人有很多,但是还不如自己搭建一个来得安全,毕竟用别人的咱们不知道数据流向哪里,或者说不知道数据会经过哪里,被多少人看到。

 

    好了,闲话不多说了,现在正式开始。

 

一、准备工作:

 

    1)确认购买的VPS是否开启了Tun/Tap设备的支持,以前看过的文章里都说要联系客服让客服开通,其实不用这么麻烦,自己在后台就可以开启(不过默认是不开启的)。不信请看下图,这是标准的BurstNET配置的免费的控制面板。

 

 

图1:BurstNET的VPS开启Tun/Tap支持,点一下“Enable Tun/Tap”按钮就行了

 

    2)升级系统软件,并下载所需软件。

 

#yum install gcc gcc-devel openssl openssl-devel iptables

#mkdir /opt/software

#cd /opt/software

#wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz

#wget http://openvpn.net/release/openvpn-2.0.9.tar.gz

 

    好了,准备工作已经完成了。下面开始安装。

 

二、安装软件

 

写道
#cd /opt/software

#tar -zxvf lzo-2.03.tar.gz

#cd lzo-2.0.3

#./configure

#make && make install

#cd ../

#tar -zxvf openvpn-2.0.9.tar.gz

#cd openvpn-2.0.9

#./configure --with-lzo-headers=/usr/local/include --with-lzo-lib=/usr/local/lib --with-ssl-headers=/usr/include/openssl --with-ssl-lib=/usr/lib

#make && make install

 

 

    自此,软件已安装完成,下面开始最重要的步骤。

 

三、生成证书Key

 

1、初始化PKI

 

 

#cd /opt/software/openvpn-2.0.9/easy-rsa

#export D=`pwd`

#export KEY_CONFIG=$D/openssl.cnf

#export KEY_DIR=$D/keys

#export KEY_SIZE=1024

#export KEY_COUNTRY=CN

#export KEY_PROVINCE=BJ

#export KEY_CITY=BJ

#export KEY_ORG="eryinj.com"

#export KEY_EMAIL="eryin@eryin.com"

 

 

2、生成CA证书

 

    #./clean-all

    #./build-ca

    本步骤除了以下两个地方需要改动之外,其他地方一路回车(红色部分为改动的值):

    Organizational Unit Name (eg, section) []:eryin.com

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

 

3、建立Server Key

 

    #./build-key-server server

    本步骤除了以下两个地方需要改动之外,其他地方一路回车(红色部分为改动的值):

    Organizational Unit Name (eg, section) []:eryin.com

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

    A challenge password []:abcd1234

    An optional company name []:eryin.com

    Sign the certificate? [y/n]:y

    1 out of 1 certificate requests certified, commit? [y/n]y

 

4、生成Client Key

 

    #./build-key client1

    Organizational Unit Name (eg, section) []:eryin.com

    Common Name (eg, your name or your server's hostname) []:client1

    A challenge password []:abcd1234

    An optional company name []:eryin.com

    Sign the certificate? [y/n]:y

    1 out of 1 certificate requests certified, commit? [y/n]y

    依次类推生成其他客户端证书/key

    #./build-key client2

    #./build-key client3

 

5、生成 Diffie Hellman 参数

 

    #./build-dh

 

四、创建服务器端和客户端配置文件

 

1、创建服务器端配置文件

 

    #vi /usr/local/etc/server.conf

写道
local VPS的IP地址
port 1194
proto udp

dev tun

ca /opt/software/openvpn-2.0.9/easy-rsa/keys/ca.crt
cert /opt/software/openvpn-2.0.9/easy-rsa/keys/server.crt
key /opt/software/openvpn-2.0.9/easy-rsa/keys/server.key
dh /opt/software/openvpn-2.0.9/easy-rsa/keys/dh1024.pem

server 10.8.0.0 255.255.255.0

client-to-client
keepalive 10 120

comp-lzo

persist-key
persist-tun
status /opt/software//openvpn-2.0.5/easy-rsa/keys/openvpn-status.log
verb 4

push "dhcp-option DNS 10.8.0.1"
push "dhcp-option DNS 4.2.2.1"
push "dhcp-option DNS 4.2.2.2"

 

2、创建客户端配置文件

 

   #vi /usr/local/etc/client.ovpn

写道
client

dev tun
proto udp

remote VPS的IP地址 1194

persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo
verb 3

redirect-gateway def1

 

3、把生成的客户端的KEY和客户端配置文件下载到本地计算机

 

    #cp /usr/local/etc/client.ovpn /opt/software/openvpn-2.0.9/easy-rsa/keys/

    #tar keys.tar /opt/software/openvpn-2.0.9/easy-rsa/keys/

 

    不管你用什么方法,下载到本地即可。

 

五、启动OpenVPN服务器并设置成开机自动启动

 

1、启动OpenVPN服务器

 

    #/usr/local/sbin/openvpn --config /usr/local/etc/server.conf

 

2、将OpenVPN设置成开机自动启动

 

   #vi /etc/rc.local

    然后在最后面加入此行:

    /usr/local/sbin/openvpn --config /usr/local/etc/server.conf > /dev/null 2>&1 &

 

六、OpenVPN 访问外网的设置

 

1、修改本机域名服务器

 

    #vi /etc/resolv.conf

    将文件内容修改为下面两行:

    nameserver   4.2.2.1

    nameserver   4.2.2.2

 

2、开启域名服务

 

    如果你需要访问一些已经被伟大的GFW封掉了域名的网站,但你的 OpenVPN 服务器没有被封的话,那么你需要在你

的主机上开启 name server, 并将 dns push 给 client。

 

    #service named start

 

3、修改/etc/sysctl.conf

 

    vi /etc/sysctl.conf

    做以下修改:

    net.ipv4.ip_forward = 1 (如果不是1的话则改成1)

 

4、设置iptables

 

   #iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -j SNAT --to VPS的IP地址

    #/etc/init.d/iptables save

    #/etc/init.d/iptables restart

 

七、OpenVPN GUI For Windows 客户端安装过程

 

1、下载和服务器端配套的OpenVPN GUI For Windows:

 

    http://openvpn.se/files/install_packages/openvpn-2.0.9-gui-1.0.3-install.exe

 

2、安装:一直下一步,大家应该比我都会装吧。

 

3、将第四段第三步下载的Key文件解压后,放到OpenVPN GUI For Windows安装目录下的config目录,并至少要包含

以下6个文件:

 

    ca.crt

    ca.key

    client1.crt

    client1.csr

    client1.key

    client.ovpn

 

4、双击client.ovpn即可启动OpenVPN GUI For Windows客户端,并连接至服务器。

 

5、如果双击client.ovpn 没有反应,则在任务栏点 OpenVPN GUI 的小图标右键,选择 edit config,将内容复制过去再保存,然后再点右键中的 connect即可。

 

6、如果需要第二台机器上使用OpenVPN,进行同样的配置,只需要将 client1.crt,client1.csr,client1.key 换成对应的 client2.xxx 即可,然后将 client.ovpn 中的对应key文件值改掉。


本文来自:韦少乾博客(mven.cn)
详细出处:http://mven.cn/post/51.html

0
0
分享到:
评论

相关推荐

    基于matlab实现实现了基于项目的协同过滤代码,MATLAB实现.rar

    基于matlab实现实现了基于项目的协同过滤代码,MATLAB实现.rar

    各地区年末城镇登记失业人员及失业率.xls

    数据来源:中国劳动统计NJ-2023版

    企业固定资产信息管理系统设计与实现.doc

    企业固定资产信息管理系统设计与实现.doc

    node-v11.14.0-darwin-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v8.9.1-sunos-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v12.10.0-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    基于VB实现的学生成绩管理系统(源代码+系统+开题报告+答辩PPT).zip

    【作品名称】:基于VB实现的学生成绩管理系统(源代码+系统+开题报告+答辩PPT) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。

    银行信贷管理系统设计与实现-(毕业设计)1.docx

    银行信贷管理系统设计与实现-(毕业设计)1.docx

    基于VB实现的银行代扣代发工资系统(源代码+系统+开题报告).zip

    【作品名称】:基于VB实现的银行代扣代发工资系统(源代码+系统+开题报告) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。

    (更新至2022年)全国镇分年龄、性别的人口数.xls

    数据来源:中国人口与就业统计NJ-2023版

    基于Java的考试管理系统

    java,大学课后作业

    数据更新至2020年分地区发电装机容量增速(风电).xls

    数据来源:中国电力统计NJ-2021版

    基于VB实现的网上餐饮管理系统设计(论文+源代码+开题报告+英文文献).zip

    【作品名称】:基于VB实现的网上餐饮管理系统设计(论文+源代码+开题报告+英文文献) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。

    基于matlab实现烟花算法进行函数最小-最大值寻优,对十多个测试函数进行了寻优,效果良好,代码附带详细说明.rar

    基于matlab实现烟花算法进行函数最小_最大值寻优,对十多个测试函数进行了寻优,效果良好,代码附带详细说明.rar

    数据更新至2020年分地区单机6000千瓦及以上 水力发电机组分类情况(合计).xls

    数据来源:中国电力统计NJ-2021版

    基于VB实现的商场管理系统设计(源代码+系统).zip

    【作品名称】:基于VB实现的商场管理系统设计(源代码+系统) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。

    (更新至2022年)全国按年龄、性别分的就业人员受教育程度构成.xls

    数据来源:中国劳动统计NJ-2023版

    数据更新至2020年分地区6000千瓦及以上电厂发电量(太阳能发电).xls

    数据来源:中国电力统计NJ-2021版

    数据更新至2020年分地区发电装机容量增速(合计).xls

    数据来源:中国电力统计NJ-2021版

    各地区劳动能力鉴定情况(2022年).xls

    数据来源:中国劳动统计NJ-2023版

Global site tag (gtag.js) - Google Analytics