目录

N2Nlinux

https://pic.imgdb.cn/item/60e468e75132923bf8cc42ce.png

n2n简介

N2N是一款开源的P2P VPN软件,其作者是著名的开源网管软件ntop的作者Luca Deri。 N2N是一个双层架构的VPN,它让用户可以在网络层上开发P2P应用的典型功能,而不是在应用层上开发。这意味着用户可以获取本地IP一样的可见度(比如说,同一个n2n网络内的两台PC机可以相互ping通),并且可以通过n2n虚拟网内的IP地址相互访问,而不必关心当前所属的物理网络地址。可以这样说,OpenVPN是把SSL从应用层转移到网络层实现(比如说实现https协议),而n2n则是把P2P的实现从应用层转移到网络层。

编译环境及工具

  • ubuntu 16.4
  • cmake
  • make
  • gcc++

开始上手

按照如下步骤操作

1
2
3
4
5
6
7
8
9
$ sudo apt-get install subversion build-essential libssl-dev
$ git clone https://github.com/meyerd/n2n.git
$ cd n2n/n2n_v2
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
$ ls

查看当前目录文件,出现edge 和 supernode 两个文件,其中edge是用来边缘节点,supernode是超级节点,可以这样理解,边缘节点edge是用在终端,supernode是用在服务器中间端。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
用法如下:

$ ./edge -h     查看使用帮助
$ ./edge -h     查看使用帮助

$ sudo ./edge -d edge0 -a 10.0.0.1 -c eafa -k eafaga -u 1000 -g 1000 -l [supernode IP]:[supernode port]

$ ./supernode -l [port]

使用就是如此简单

在这里提供一个超级节点用来测试学习。

1
2
3
4
5
6
7
8
9

35.194.175.179:10086

只需在两台电脑上运行下面的命令:
sudo ./edge -d edge0 -a 10.0.0.1 -c eafa -k eafaga -u 1000 -g 1000 -l 35.194.175.179:10086

启动后,ping另外一台电脑即可

如: ping 10.0.0.2 (从10.0.0.1 ping 10.0.0.2)

注意: 两个电脑的局域网地址不能相同,就是上面的10.0.0.1

如有不明之处欢迎讨论。