N2N特性:
基于点对点的udp连接,可穿透内网。极简,极轻量。
安全性
数据传输用twofish加密,采用预共享密钥模式。
twofish算法本身没问题,但n2n_v1只对数据内容加密,数据包头和supernode心跳包均明文,包头中包含mac地址ip地址、分组信息等,所以加密等级不高。
平台支持
使用N2N V1,软件很轻量,支持linux、Windows、OpenWrt等。
性能:
路由器cpu性能有限,只测到3-5mbps左右,私用够用;
局域网+Ubuntu+x86服务器上测得最大性能27mbps左右。
稳定性:
官版多年不维护了,故不稳定,自己修复了几个bug后基本稳定运行有两年了。
网络切换如宽带重新拨号时,短暂中断几分钟才能回归正常。
网络闲置时,连接会被清理,再使用需重建udp会话,因此闲置后重新ping时,首个数据包通信延时较长。
适用场景:
适合私人或较低要求场景,如用来家庭连接办公区,或用来远程维护内网服务器等,不适合用于生产环境,生产环境还是选ipsec或硬件vpn吧。
(大概因为包头不加密,是能被探测到然后封你IP的,所以不要用来垮境)
先画一张网络拓扑图,再开始介绍如何折腾。
网络拓朴
2017 -07-26 拓朴图来也:
192.168.0.1 路由器静态路由设置:
接口:Edge
对象:192.168.1.0
子网掩码:255.255.255.0
网关:10.0.0.1
192.168.1.1 路由器静态路由设置:
接口:Edge
对象:192.168.0.0
子网掩码:255.255.255.0
网关:10.0.0.2
大至IP路由路径:
192.168.0.100(PC)
–> 192.168.0.1(网关)
—>10.0.0.2(n2n)
—> 10.0.0.1(对方N2N)
—> 192.168.1.1(对方网关)
–> 192.168.1.100(对方PC)
(其中,10.0.0.1、10.0.0.2 两台路由器,通过运行Edge,形成N2N二层虚拟交换机网,网络直达。)
——————-华丽分割线——————–
N2N软件结构
N2N组成有三部份,SuperNode和Edge,虚拟网卡(tab/tun),其中:
SuperNode:为注册中心,用来注册各接入点的信息,相当于一张地址列表。
Edge :为接入点,他每分种都向SuperNode进行注册,也接收来自SuperNode的信息。
虚拟网卡 :故名思义,模拟一张网卡来交由操作系统统一管理,如IP地址配置等。
整个工作/通信流程:
1、Edge向SuperNode注册,SuperNode记下edge的信息,包括外网ip和端口,虚拟ip、虚拟mac地址等。
2、edge监听tab或tun虚拟网卡,获取网卡要发送的数据。
3、当从虚拟网卡读取到数据时,将数据包发送到SuperNode。
4、SuperNode提取数据包中的mac地址,并查询注册列表,并附上来源地址和端口,转发到目标edge。
5、目标edge收到数据包,提取来源地址和端口,并尝试udp直连
6、若直连成功,数据包不再走superNode中转,否则一直从SuperNode中转。
--------------接下来要开始写安装和配置了。敬请期待 20171017----------------------
lion