快速业务通道

我的VPN--初探openvpn(一)

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-26
介绍一下 openvpn,此介绍来自网络:
OpenVPN 允许参与建立VPN的单点使用预设的私钥,第三方证书,或者用户名/密码来进行身份验证.它大量使用了OpenSSL加密库,以及SSLv3/TLSv1 协议.OpenVPN能在Linux、xBSD、Mac OS X与Windows 2000/XP上运行.它并不是一个基于Web的VPN软件,也不与IPsec及其他VPN软件包兼容.
隧道加密
OpenVPN使用OpenSSL库加密数据与控制信息:它使用了OpesSSL的加密以及验证功能,意味着,它能够使用任何OpenSSL支持的算法.它提供了可选的数据包HMAC功能以提高连接的安全性.此外,OpenSSL的硬件加速也能提高它的性能.
验证
OpenVPN提供了多种身份验证方式,用以确认参与连接双方的身份,包括:预享私钥,第三方证书以及用户名/密码组合.预享密钥最为简单,但同时它 只能用于建立点对点的VPN;基于PKI的第三方证书提供了最完善的功能,但是需要额外的精力去维护一个PKI证书体系.OpenVPN2.0后引入了用 户名/口令组合的身份验证方式,它可以省略客户端证书,但是仍有一份服务器证书需要被用作加密.
网络
OpenVPN所有的通信都基于一个单一的IP端口,默认且推荐使用UDP协议通讯,同时TCP也被支持.OpenVPN连接能通过大多数的代理服务 器,并且能够在NAT的环境中很好地工作.服务端具有向客户端“推送”某些网络配置信息的功能,这些信息包括:IP地址、路由设置等.OpenVPN提供 了两种虚拟网络接口:通用Tun/Tap驱动,通过它们,可以建立三层IP隧道,或者虚拟二层以太网,后者可以传送任何类型的二层以太网络数据.传送的数 据可通过LZO算法压缩.IANA(Internet Assigned Numbers Authority)指定给OpenVPN的官方端口为1194.OpenVPN 2.0以后版本每个进程可以同时管理数个并发的隧道.
OpenVPN使用通用网络协议(TCP与UDP)的特点使它成为IPsec等协议的理想替代,尤其是在ISP(Internet service provider)过滤某些特定VPN协议的情况下.在选择协议时候,需要注意2个加密隧道之间的网络状况,如有高延迟或者丢包较多的情况下,请选择 TCP协议作为底层协议,UDP协议存在无连接和重传机制,导致要隧道上层的协议进行重传,效率非常低下.
安全
OpenVPN与生俱来便具备了许多安全特性:它在用户空间运行,无须对内核及网络协议栈作修改;初始完毕后以chroot方式运行,放弃root权限;使用mlockall以防止敏感数据交换到磁盘.
OpenVPN通过PKCS#11支持硬件加密标识,如智能卡.

有两种模式,一种是路由模式,一种是桥接模式,这里用的是路由模式(官方推荐的模式),如有特殊需求可采用桥接模式,具体要求可参考官方说明.

那么开始搭建吧!!!
以下是我的安装步骤:

一.服务器端的安装

1.安装软件包并更新时间

ntpdate server 0.pool.ntp.org

openvpn需要以下三个软件包.
openssl
pam
lzo

检查系统中是否已安装以上所需安装包,如没有安装许下载安装,安装方式可以是rpm包或源码包,我在这里选择的是源码包


2.下载 lzo
wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz

3.到官方网站下载openvpn
wget http://www.openvpn.net/release/openvpn-2.1.1.tar.gz

4.安装lzo

tar -zxvf lzo-2.03.tar.gz
cd lzo-2.03
./configure
make ; make install

5.安装openvpn
tar -zxvf openvpn-2.1.1.tar.gz
cd openvpn-2.1.1
./configure --with-ssl-headers=/usr/include/openssl --with-ssl-lib=/usr/lib --with-lzo-headers=/usr/local/include/lzo --with-lzo-lib=/usr/local/lib
make;make install

6.进到相关目录设定相关环境参数:(你也可以修改该目录下的vars文件)
cd /root/soft/vpn/openvpn-2.1.1/easy-rsa/2.0
export D=`pwd`
export KEY_CONFIG=$D/openssl.cnf
export KEY_DIR=$D/keys
export KEY_

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号