来源:http://qianjia.org/archives/6038
今天购买并开通了国内群众比较熟悉的Burst vps(“84 vps”),在CentOS 5系统下选择Openvz安装Openvpn,经过复杂的搭建过程配置好vpn线路,却发现速度却并不是很快。前两个月写了一篇关于基于ssh结合 Tunnelier+Foxyproxy代理上网的文章,不过确实是vpn的速度要比ssh快一些;今天发现留言的两位鱼童靴对文中提到的快速的免费日本 VPN客户端感兴趣,因为客户端不在这台电脑上,只能明天白天再将vpn发到你们邮箱了。
Burstnet vs Rapidxen
前几天也写了篇关于rapidxen vps搭建vpn的文章,建了几个vpn账号国内访问国外网站速度还算可以。Rapidxen和Burst net都是比较便宜的vps主 机(每月$6左右),相比较而言Burst的vePortal vps管理后台功能更加强大,而且相同价位的vps性能参数要比rapidxen高很多,如6美元的vps型号:CPU: 1GHZ, RAM: 512MB, DISKSPACE: 20GB, BANDWIDTH: 1000GB/MONTH ,还附送两个ip,而rapidxen ram只有128MB且流量限制每月600G。
Openvz vs Xen
因此按理说Burst 的vpn速度会比Rapidxen好很多,事实上并非如此。这可能和两者vps系统的虚拟化技术不同有关,rapidxen采用基于xen的半虚拟化技 术,Burst 则是基于操作系统级别虚拟化技术Openvz的vps,Google上查了些资料说虽然Openvz虚拟化技术会使vps有更高的性能表现,但其配置却非 常灵活,表面上分了512M内存给你,实际上因主机商超买vps后,最后分配到每个用户的甚至还没有Xen的128M好。
Openvpn vs pptpd
在Openvz vps下只有venet0,没有eth0,大部分Openvz没有masqurade;因此不能像Xen vps通过pptpd来搭建vpn。在Openvz下可以使用Openvpn来搭建vpn,需要生成key证书,生成服务器端和客户端配置文件,在用户的 客户端机器上也要安装openvpn 的GUI客户端,因此Openvz安装Openvpn配置vpn搭建的整个过程要复杂很多,下面是具体步骤:
Openvz VPS安装Openvpn配置vpn
一、VPS安装Openvpn配置准备工作
以Burst为例,购买Burst vps的过程中,选择vps操作系统如CentOS 5 32 bit,vps开通之后可以通过uname –a
命令查看linux vps系统的发行版本信息,getconf WORD_BIT
查看是64位还是32位机。vps开通之后,进入Burstnet vePortal管理后台开启TUN/TAB,点击Enable Tun/Tap
按钮即可,并不需要发ticket给Burst net客服帮助启用。开启之后输入命令cat /dev/net/tun
,若出现 cat: /dev/net/tun: File descriptor in bad state 说明开启成功。以下部分参考mven .cn博客的介绍:BurstNET VPS搭建OpenVPN全过程记录。
二、升级下载和安装系统软件
1. 安装iptables等: yum install gcc gcc-devel openssl openssl-devel iptables
2. 下载Openvpn和lzo
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
3. 安装Openvpn和lzo
#cd /opt/software #tar -zxvf lzo-2.03.tar.gz #cd lzo-2.03 #./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
三、生成CA证书、Server Key和Client Key
1. 初始化参数
#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=GD #export KEY_CITY=GZ #export KEY_ORG="farlee.info" (设置为自己的) #export KEY_EMAIL="farlee@farlee.info"(设置为自己的)
2. 生成CA证书
./clean-all ./build-ca 采用初始化参数的只需按Enter取用默认值,生成OpenVPN的CA证书只要设置下面两项,其他直接回车: Organizational Unit Name (eg, section) []:farlee.info(设置为你自己的) Common Name (eg, your name or your server's hostname) []:vpnhostname(设置为自己的名称或主机名)
3. 建立Server Key
#./build-key-server server OpenVPN创建server key只要设置下面几项,其他采用初始化参数的只需回车: Organizational Unit Name (eg, section) []:farlee.info (设置为自己的) Common Name (eg, your name or your server's hostname) []:vpnhostname A challenge password []:vpn111(设置密码) An optional company name []:farlee.info 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) []:farlee.info Common Name (eg, your name or your server's hostname) []:client1 A challenge password []:abcd1234 An optional company name []:farlee.info Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y
如果要创建多个vpn帐户,则同样如client1一样生成其他客户端证书/key
./build-key client2harry ./build-key client3farlee
5、生成 Diffie Hellman 参数:./build-dh
四、创建Openvpn vps服务器和客户端配置文件
1. Openvpn服务器端配置文件:nano /usr/local/etc/server.conf
复制如下文件内容:
local 1.1.1.1 (改为你的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. Openvpn配置客户端配置文件:nano /usr/local/etc/client.ovp
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. 下载以上生成的客户端client key和客户端配置文件到本地计算机
#cp /usr/local/etc/client.ovpn /opt/software/openvpn-2.0.9/easy-rsa/keys/ #tar -vcf keys.tar /opt/software/openvpn-2.0.9/easy-rsa/keys/
如使用putty客户端程序psftp.exe下载这些文件到本地计算机:lcd
本地路径设置保存压缩文件的位置,cd /opt/software/openvpn-2.0.9/easy-rsa/
,执行psftp下载命令get keys.tar
即下载到本地客户端。
五、配置OpenVPN启动和设置
1. 启动OpenVPN服务器:/usr/local/sbin/openvpn --config /usr/local/etc/server.conf
2. 设置OpenVPN开机自动启动:nano /etc/rc.local
,在最后面加入:
/usr/local/sbin/openvpn –config /usr/local/etc/server.conf > /dev/null 2>&1 &
3. 修改本机OpenVPN VPS域名服务器:nano /etc/resolv.conf
,将nameserver改为下面两行:
nameserver 4.2.2.1 nameserver 4.2.2.2
4. 开启域名服务:
若需要访问被blocked掉了域名的网站,如twitter、facebook、google相关产品网站,需要在OpenVPN 服务器VPS主机上开启 name server, 并将 dns push 给 client,命令:service named start
5. 修改/etc/sysctl.conf:nano /etc/sysctl.conf
,改成如下:net.ipv4.ip_forward = 1
6. 设置iptables
#iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -j SNAT --to 1.1.1.1 (改成VPS的IP地址) #/etc/init.d/iptables save #/etc/init.d/iptables restart
六、Opnevpn windows 客户端安装设置
终于配置到了客户端了,接下来在用户Windows 系统下的安装OpenVPN GUI程序就比较简单了。
1. 下载安装和服务器端配套的OpenVPN GUI For Windows:
http://openvpn.se/files/install_packages/openvpn-2.0.9-gui-1.0.3-install.exe,直接点next安装即可;
2. 将刚才下载到本地的keys.tar解压,全部放到OpenVPN GUI For Windows安装目录下的config目录下,检查一下至少要包含以下6个文件:
ca.crt | ca.key | client1.crt | client1.csr | client1.key | client.ovpn
3. 在客户端双击client.ovpn即可启动OpenVPN GUI For Windows客户端,不用输入账号密码即可连接至vpn服务器。若双击client.ovpn 没有反应,则在任务栏点 OpenVPN GUI 的小图标右键,选择 edit config,将内容复制过去再保存,然后再点右键中的 connect即可。
4、如果多个客户端要用到多个vpn账号,OpenVPN的配置和上面相同,再将config文件目录里的 client1.crt,client1.csr,client1.key 替换成对应的 client2harry.xxx 即可,最后在client.ovpn 中将cert client1.crt 和key client1.key的值改成client2harry.crt和client2harry.key。
翻越防火长城,你可以到达世界上的每一个角落。(Across the Great Firewall, you can reach every corner in the world.)
本文由自动聚合程序取自网络,内容和观点不代表数字时代立场