n2n 笔记

2017-08-01  本文已影响875人  钢铁油腻男

n2n 是一个开源(GPLv3)软件,它允许你在用户间构建一个加密的二层或三层点对点 VPN,数据流量是用 UDP 封装的。一个 n2n VPN 由两类节点组成:边缘(edge)节点和超级(super)节点,加密是在edge节点执行的,使用开源协议和自定义密钥,有兼容NAT和穿越防火墙的功能。edge节点都会建立tun/tap虚拟网卡,用作n2n网络的入口;super节点用于注册节点网络路径,为位于防火墙后的edge节点中转数据。edge节点间通过虚拟网卡通信,一台主机可有多个虚拟网卡,隶属于多个n2n网络。可用于实现无公网ip设备的远程访问,比如在公司访问家里的电脑、路由器等。

n2n的git地址: https://github.com/ntop/n2n

N2N示意图

中心节点Super node负责打洞为每个节点edge打洞, 并记录相关IP, 节点利用中心节点给的信息直接与其他节点建立链接, 数据不通过中间节点。

n2n分为多个版本, V1和V2, 两个版本不兼容。
V1版本有windows版本, 如果要V2版本的windows, 需要自己编译。
如果在android上使用n2n, 必须root。

据说国外有人说V1更稳定, 这个没看到原文, 笔者也没有安装两个版本比较, 不予评价。

直接安装

sudo apt install n2n

但是由于版本比较老, 无法使用ssh进行连接,需要重新编译。

编译安装V2

目前n2n原作者很久没有更新了,所以已经不兼容当前的gcc了, 使用另外一个大神meyerdn2n的版本

git clone https://github.com/meyerd/n2n.git
sudo apt install cmake libssl-dev
cd n2n/n2n_v2
mkdir build
cd build
cmake -build . ..
make 
sudo make install 

现在安装完毕, 可以启动一个superServer

supernode -l 8080 -v

启动客户端:

edge -d n2n0 -c <网络名称> -k <密码> -a <本地IP> -l <服务器IP或地址>:8080 >/dev/null

或者在rc.local里面设置

(/usr/local/sbin/edge -d n2n0 -c <网络名称> -k <密码> -a <本地IP> -l <服务器IP或地址>:8080 &> /tmp/edge.log ) &

在windows版本安装

笔者没安装过, 转下面这篇。
http://gohom.win/2016/09/03/n2n-p2pnet/

上一篇 下一篇

猜你喜欢

热点阅读