BurstNET VPS搭建OpenVPN全程实录

转自:http://igfw.tk/archives/2304

前言:

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

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

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

一、准备工作:

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

BurstNET的VPS开启Tun/Tap支持

图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即可。

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

本文来自http://old.mven.cn/post/51.html


—————————————————————————————————————————

需要翻墙利器? 请安装Wuala,查找和添加gfwblog为好友,就可高速下载翻墙软件,或访问http://tinyurl.com/gfwblog直接下载。

推特用户请点击这里免翻墙上推特

请点击这里下载翻墙软件

更多翻墙方法请发电邮(最好用Gmail)到:fanqiang70ma@gmail.com

请阅读和关注中国数字时代翻墙技术博客GFW BLOG(免翻墙)

请使用Google Reader订阅中国数字时代中文版http://chinadigitaltimes.net/chinese/feed),阅读最有价值的中文信息;以及GFW BLOG(功夫网与翻墙)http://feeds2.feedburner.com/chinagfwblog,获取最新翻墙工具和翻墙技巧信息。


1 条评论:

Unknown 说...

cat /dev/net/tun
如果返回信息为:cat: /dev/net/tun: File descriptor in bad state 说明正常,否则发个ticket给VPS公司让他们帮忙开吧。
另外如果你需要连上OpenVPN后能访问互联网,还需要iptables_nat模块支持,用这个命令检测:iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE
如果返回信息为:iptables: Unknown error 4294967295 说明正常

另外如果是xen vps的话,TUN/TAP通常是默认开启的,默认的网关设备是eth0而不是venet0,可以用ifconfig 命令查看网络设备