说明:本文不是一份详细的安装文档,只是概要记述利用开源软件自建可扩展的vpn服务器群。
一.VPN的简介
VPN是Virtual Private Network的缩写。简单的说vpn是一种加密的隧道技术。其功能是在两个已经建立连接的主机之间,建立虚拟的加密连接。这也是其名称的来由。
二.系统架构(配图)
2.1 vpn拨入端
Linux常见比较常见的vpn实现有3种:
-
OpenVPN
-
L2TP/IPSEC VPN
-
PPTP VPN
这3种VPN在开源领域都有比较简单便捷便于安装的软件包:
OpenVPN: openvpn.net
PPTP VPN: www.poptop.org
L2TP/Ipsec VPN : http://www.openswan.org/ or http://www.strongswan.org/
需要说明的是,以上几种vpn软件还依赖某些未列出的开源软件。比如:Openvpn/openswan/strongswan需要openssl支持;PPTP vpn需要内核支持MPPE。
2.2 登录认证/计费
因为牵涉到vpn用户的管理,所以,我们加入freeradius.
简单的说,freeradius提供符合RFC标准的的用户认证/管理/计费功能。
利用radius另外一个好处就是,如果vpn服务器需要扩容,那么简单的增加一台vpn接入服务器,并挂接至radius服务器做认证即可。
2.3 数据库/用户管理的web界面
幸运的是,freeradius支持mysql。这意味着我们的用户数据(包括认证/计费等)将可以由开源世界的另外两位常客:apache/php 管理。
至此,全部利用开源软件搭建而成的可管理,可扩充的VPN系统已经全部完成。
2.4 系统结构图
三.优点/缺点
优点:
3.1性价比非常好。
除了租赁服务器和带宽的费用,软件部分全部利用开源软件。没有为购买License支付1分钱。而Google解决了我在设定过程中的所有问题。
3.2 稳定性非常好。
我们的vpn接入服务器,从去年12月底运行以来,除了今年年头(1月1日,印象深刻,死党从被窝抓起来 -_-!)因为he.net和联通线路抽风的几天,我们的vpn接入部分一直处于无人搭理的状态。至今稳定运行。
3.3 通用性非常好。
pptp vpn的客户端遍地都是,基本上所有的桌面操作系统都有pptp拨号器。即便移动设备,现在大部分也支持pptp vpn(iphone/ipod/android/WM 系列)
openvpn 除了移动设备支持较少以外,(android可以参考 yegle的 这篇 和 Virushuo的 这篇) win/osx/linx都有客户端支持(开源的好处呀)
l2tp/ipsec 虽然用的不多,但linux/win/osx肯定是支持的。移动设备上,至少iphone是完全支持的。
缺点:您需要一定的linux知识/耐心/时间解决安装设定中的各种问题。
四.案例
本人blog所提供的vpn,即是按照以上思路搭建vpn服务器群。
最后,插播广告:
VPN账户出售中,去https://www.windhunter.net/members/ 注册后,点击“申请试用”链接 即可获得1小时试用时间。