N2N 点对点网络、搭建虚拟局域网、防火墙穿透

N2N 不同于传统的网络软件,它的特点是通过网络层实现一种虚拟局域网的功能,使得跨网络通信更加便利,常被用于内网穿透,异地组网等需求方向,其支持点对点特性,对数据传输效率有很大提升,得益于其开源项目,支持跨平台使用,可以满足各类客户端运行。

N2N 官方网站:https://www.ntop.org/products/n2n/

N2N 开源项目:https://github.com/ntop/n2n

准备工作

1. 确认路由器系统有足够的剩余空间,至少100KB。
2. 按需安装软件界面:luci-i18n-n2n-edge-zh-cn(客户端)、luci-i18n-n2n-supernode-zh-cn(服务端)

客户端使用

按需调整“节点配置”,然后启用并运行。

一般只需修改四处参数:

1、# 设置N2N网络组名称,用于标识局域网,以便客户端加入。
-c=mynetwork

2、# 设置加密密钥,与名称对应的加密密钥。
-k=mypassword

3、# 设置接口IP地址,用于此虚拟局域网中,此设备专用的一个局域网 IP 地址,不可与路由器已有的其它网段相同。
-a=10.0.0.1

4、# 设置超级节点IP和端口,也可以使用域名。
-l=127.0.0.1:7777

各客户端使用相同的网络组名称和加密密钥即可加入同一个虚拟局域网,使得客户端之间可以互联互通,日常使用方式同物理局域网。

其它参数请根据实际情况自行调整。

服务端使用

服务端软件界面:luci-i18n-n2n-supernode-zh-cn

服务端主要是要配置一个公网可以访问的端口,然后需要打开对应的防火墙端口。

3.0 版本已可配置“网络组列表文件”,以便只允许指定的网络组名称才能连接到服务器。

N2N 工作原理

N2N 的服务端通常称为“超级节点”,所有参与组网的客户端节点,需要连接至同一个超级节点。

首先由超级节点负责客户端节点间的握手通信,一旦客户端之间建立起了点对点通信,则后续流量不再经过超级节点,如果客户端之间因为 NAT 问题导致无法进行点对点通信,则超级节点将承担所有流量中转。

N2N 网络中,各个客户端节点自行负责数据包的加密与解密,超级节点(服务端)不参与任何加解密工作。