热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

OpenVZVPS安装配置Openvpn服务器

今天购买并开通了国内群众比较熟悉的Burstvps(“84vps”),在CentOS5系统下选择Openvz安装Openvpn,经过复杂的搭建过程配置好vpn线路,却发现速度却并不是很快。前两个月写了一篇关于基于ssh结合Tunnelier+Foxyproxy代理上网的文章,不过确实是vpn的速度要

今天购买并开通了国内群众比较熟悉的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。


推荐阅读
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • 本文详细介绍了如何在预装Ubuntu系统的笔记本电脑上安装Windows 7。针对没有光驱的情况,提供了通过USB安装的具体方法,并解决了分区、驱动器无法识别等问题。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • Git管理工具SourceTree安装与使用指南
    本文详细介绍了Git管理工具SourceTree的安装、配置及团队协作方案,旨在帮助开发者更高效地进行版本控制和项目管理。 ... [详细]
  • 本文详细介绍了如何通过RPM包在Linux系统(如CentOS)上安装MySQL 5.6。涵盖了检查现有安装、下载和安装RPM包、配置MySQL以及设置远程访问和开机自启动等步骤。 ... [详细]
author-avatar
arliejun
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有