2008年,ntop的作者Luca Deri开始研究p2p VPN,他一方面看到公众对p2p VPN有着强烈的需求,另一方面又不满足已有产品的现状,于是n2n诞生了。
对于一个VPN而言,主要涉及封装和加解密两个步骤,edge node使用UDP协议进行封装,目的是为了更好的兼容防火墙的策略,因为很多防火墙禁用了非TCP/UDP协议禁用。加密算法则采用了twofish,好处开源、简便,处理速度快。
为了降低设计难度,n2n利用了tap/tun虚拟网卡,这样做得好处是一方面软件尺寸极小,一方面源码的依赖性极低,可以很容易移植到嵌入式设备中,目前有openwrt的版本,在未来的计划中,还将移植到android和iPhone中。
n2n支持的OS也非常广,Linux、FreeBSD、MAC OSX、甚至windows,不过由于n2n只提供源代码,需要用户自行手工编译。
下面就介绍一下如何在Debian Lenny中安装和使用n2n。
1. 在sources.list中加入mentors.debian.org
alfie:~# vim /etc/apt/sources.list
deb-src http://mentors.debian.org/debian/ unstable main contrib non-free
:wq
alfie:~# aptitude update
2. 下载&编译
alfie:~# apt-get source n2n
从mentors中下载n2n的源代码
alfie:~# apt-get install fakeroot build-essential devscripts
安装编译环境所需的组件,debuild是devscripts软件包中的一个脚本,编译的时候需要用到
alfie:~# apt-get build-dep n2n
编译n2n的过程可能需要一些lib的支持,该步骤就是让debian判断并下载安装相关的lib
alfie:~# cd /usr/src/n2n_1.2.2~svn3653
alfie:/usr/src/n2n_1.2.2~svn3653# debuild -us -uc
如果不是Debian的维护者,需要打上-us和-uc这两个标签,避免编译完后签名
3. 安装
alfie:/usr/src/n2n_1.2.2~svn3653# cd ..
alfie:/usr/src/# dpkg --install n2n_1.2.2~svn3653_i386.deb
4. 使用
家里的电脑
alfie:~# edge -d n2n0 -c linuxabc -k linuxabc -a 10.1.2.1 -l 88.86.108.50:82
公司的电脑
ds-server:~# edge -d n2n0 -c linuxabc -k linuxabc -a 10.1.2.2 -l 88.86.108.50:82
说明:88.86.108.50是http://www.vpnhosting.cz/index.php/N2n-at-vpnhosting.cz.html提供的一个公共super node。
这样就可以将两台位于NAT/防火墙之后的电脑互联起来了,是不是特别简单呢?
n2n是一个很有前途的p2p VPN软件,优秀的设计理念将会为它带来大量的用户群,随着时间的流逝,SoftEther,VNN,hamachi将成为过眼烟云,唯有开源的n2n才是永恒。
文章评论
还没有更新..期待更新...www.wenx.net小说阅读