全球主机交流论坛

标题: BurstNET VPS搭建OpenVPN全程实录[原创] [打印本页]

作者: eryin    时间: 2010-3-30 22:34
标题: 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)升级系统软件,并下载所需软件。
  1. #yum install gcc gcc-devel openssl openssl-devel iptables
  2. #mkdir /opt/software
  3. #cd /opt/software
  4. #wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz
  5. #wget http://openvpn.net/release/openvpn-2.0.9.tar.gz
复制代码
复制代码好了,准备工作已经完成了。下面开始安装。

二、安装软件   
  1.     #cd /opt/software
  2.     #tar -zxvf lzo-2.03.tar.gz
  3.     #cd lzo-2.0.3
  4.     #./configure
  5.     #make && make install
  6.     #cd ../
  7.     #tar -zxvf openvpn-2.0.9.tar.gz
  8.     #cd openvpn-2.0.9
  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
  10.     #make && make install
复制代码
自此,软件已安装完成,下面开始最重要的步骤。

三、生成证书Key

1、初始化PKI
  1. #cd /opt/software/openvpn-2.0.9/easy-rsa
复制代码
  1.     #export D=`pwd`
  2.     #export KEY_CONFIG=$D/openssl.cnf
  3.     #export KEY_DIR=$D/keys
  4.     #export KEY_SIZE=1024
  5.     #export KEY_COUNTRY=CN
  6.     #export KEY_PROVINCE=BJ
  7.     #export KEY_CITY=BJ
  8.     #export KEY_ORG="eryinj.com"
  9.     #export KEY_EMAIL="[email protected]"
复制代码
2、生成CA证书
  1. #./clean-all
  2. #./build-ca
复制代码
复制代码本步骤除了以下两个地方需要改动之外,其他地方一路回车:   

Organizational Unit Name (eg, section) []:eryin.com
Common Name (eg, your name or your server's hostname) []:server


3、建立Server Key
  1. #./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
  1. #./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
  1. #./build-key client2
  2. #./build-key client3
复制代码
5、生成 Diffie Hellman 参数
  1. #./build-dh
复制代码
四、创建服务器端和客户端配置文件

1、创建服务器端配置文件
  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、创建客户端配置文件
  1. #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和客户端配置文件下载到本地计算机
  1. #cp /usr/local/etc/client.ovpn /opt/software/openvpn-2.0.9/easy-rsa/keys/
  2. #tar keys.tar /opt/software/openvpn-2.0.9/easy-rsa/keys/
复制代码
不管你用什么方法,下载到本地即可。

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

1、启动OpenVPN服务器
  1. #/usr/local/sbin/openvpn --config /usr/local/etc/server.conf
复制代码
2、将OpenVPN设置成开机自动启动
  1.     #vi /etc/rc.local
复制代码
然后在最后面加入此行:   

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


六、OpenVPN 访问外网的设置

1、修改本机域名服务器
  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
  1. #vi /etc/sysctl.conf
复制代码
做以下修改:

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


4、设置iptables
  1.     #iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -j SNAT --to VPS的IP地址

  2.      #/etc/init.d/iptables save

  3.     #/etc/init.d/iptables restart
复制代码
七、OpenVPN GUI For Windows 客户端安装过程

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

    http://openvpn.se/files/install_ ... i-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文件值改掉。


本文来自:韦少乾博客(mven.cn)
详细出处:http://mven.cn/post/51.html
作者: 美国VPS    时间: 2010-3-30 23:33
好文章。OpenVPN什么时候客户端能如同windows的vpn一样方便就好,毕竟很多客户都完全不懂技术
作者: sunday    时间: 2010-3-31 01:14
XEN 的安装pptp真是方便好多,2行命令就OK,不过也感谢楼主提供这个详细的openvpn的方法
作者: 11qq    时间: 2010-3-31 01:16
完全看不懂。
作者: hx    时间: 2010-3-31 02:33
我就不明白了,openvpn2.1.1出来那么久,为啥教程爱是2.0.9的呢?
作者: taian    时间: 2010-3-31 08:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: eryin    时间: 2010-3-31 09:19
原帖由 Black-Xstar 于 2010-3-31 02:33 发表
我就不明白了,openvpn2.1.1出来那么久,为啥教程爱是2.0.9的呢?


呵呵,没看到官方网站OpenvVPN 2.0.9下面的2.0下面还有2.1.1,

不过刚才看了openvpn.se网站上没有支持OpenVPN 2.1.1的GUI版本。
作者: cnx    时间: 2010-3-31 10:27
帮顶。
需要的时候再安装。
作者: iamfly    时间: 2010-3-31 10:35
不错的文章,转载啦
作者: shy9000    时间: 2010-3-31 12:31
不错,做个记号以后在自己的VPS上尝试
作者: hx    时间: 2010-3-31 12:45
原帖由 eryin 于 2010-3-31 09:19 发表


呵呵,没看到官方网站OpenvVPN 2.0.9下面的2.0下面还有2.1.1,

不过刚才看了openvpn.se网站上没有支持OpenVPN 2.1.1的GUI版本。

不知道你怎么看的:
http://openvpn.net/index.php/open-source/downloads.html
现在已经找不到2.0.9了好不好。

另外,那个gui和内核有啥关系,官方win的安装包都带了这个gui好不好。
作者: eryin    时间: 2010-3-31 13:21
原帖由 Black-Xstar 于 2010-3-31 12:45 发表

不知道你怎么看的:
http://openvpn.net/index.php/open-source/downloads.html
现在已经找不到2.0.9了好不好。

另外,那个gui和内核有啥关系,官方win的安装包都带了这个gui好不好。 ...



多谢提醒。
作者: vaman    时间: 2010-3-31 13:40
备用~~~~~~~~~~~~~
作者: godvps    时间: 2010-3-31 15:12
mark
作者: edmin    时间: 2010-4-13 00:13
标记。
作者: taian    时间: 2010-4-14 21:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: mir3000    时间: 2010-4-24 13:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: cosence    时间: 2010-4-24 13:58
提示: 作者被禁止或删除 内容自动屏蔽
作者: ccy136    时间: 2010-4-24 15:41
收藏下,支持原创
作者: cnx    时间: 2010-5-15 09:37

作者: zktz    时间: 2010-5-21 11:34
Fri May 21 11:34:40 2010 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
作者: zktz    时间: 2010-5-21 12:41
能连上了

但是看putty里
老是

Fri May 21 08:34:17 2010 us=625861 read UDPv4 [EMSGSIZE Path-MTU=1466]: Message too long (code=90)
Fri May 21 08:35:17 2010 us=623456 read UDPv4 [EMSGSIZE Path-MTU=1466]: Message too long (code=90)

而且下载每秒才2k....
作者: cuxian    时间: 2010-5-21 12:41
留个记号
作者: zktz    时间: 2010-5-21 12:52
bad source address from client [192.168.0.205], packet dropped
作者: klgd    时间: 2010-5-29 12:03
以后有用了再说
作者: jinhab    时间: 2010-5-29 23:56
收藏一下
作者: wwftp    时间: 2010-11-2 03:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: cnad    时间: 2010-12-19 23:16
mark 备用
作者: zyf1015    时间: 2010-12-20 11:52
不错啊 先mark 下
作者: foxconndmd    时间: 2010-12-20 12:40
记号
作者: vip1    时间: 2011-7-18 12:41
留名
作者: meteor    时间: 2011-7-18 15:37
原帖由 eryin 于 2010-3-30 22:34 发表
前言:

    由于BurstNET的VPS使用的OpenVZ的虚拟环境,所以不支持PPTP VPN,但是官方承诺可无缝安装OpenVPN,这也给广大被高墙害惨了的网民一丝希望。

    虽然国内外提供FreeVPN的企业和个人有很多,但是还不如自己搭建一个 ...

4.2.2.1 和4.2.2.2
好像是Comcast的DNS.其实不快.
建议使用Google的DNS 8.8.8.8
Push的时候,也建议Push 8.8.8.8
作者: nmxk    时间: 2011-7-26 22:53
六个几号
作者: cquyf    时间: 2011-7-27 16:02
后排占座




欢迎光临 全球主机交流论坛 (https://lilynana.eu.org/) Powered by Discuz! X3.4