构建N2N
简介
N2N是一款轻量级P2P的VPN软件,采用UDP协议,通过服务端(Supernode)的协调,如果客户端(Edge)之间NAT条件允许,则可以直接通信,实现了低时延。所以特别适合用来和基友一起远程玩局域网联机游戏😁
环境条件
编译需要 :
- VS 2019
- cmake
运行 :
- tap-windows 虚拟网卡
- vc_redist
编译
第一步当然是下载源码了
1 | git clone https://github.com/ntop/n2n |
Windows
打开x64_x86 Cross Tools Command Prompt for VS 2019
cd到源码目录
1 | md build |
然后打开build目录下的n2n.sln
分别右键edge工程选择属性->配置属性->链接器->清单文件->UAC执行级别 在下拉列表框中选择:requireAdministrator
然后生成
需要Supernode也同样操作
Linux
在源码目录
1 | ./autogen.sh |
即可编译出符合当前构架的可执行文件
使用
服务端
也叫中心节点、超级节点
一般部署在有公网IP的服务器上
安全起见创建一个area
文件,包含允许的网络群组(community),每行一个,将仅允许正确名称网络群组的客户端加入
1 | ./supernode -p 5678 -c area |
-p
后跟的是监听端口号
客户端
也叫边缘节点
方便起见创建一个文件来保存配置
edge.conf
1 | #community 网络群组 |
Windows需要注意通信时对应程序的端口要在公用防火墙上开放(此VPN网络会被Windows设为未识别网络,Windows会将未识别的网络视为公用网络,应用公用防火墙规则)
ps 也可以去除-a参数让Supernode自动分配IP地址
pps 好像加上-A2
参数使用Twofish
加密会快一点?
给基友用的懒人包😑
安装.bat
1 | @echo off |
碰到新基友改edge.conf
中的IP发给基友让他双击安装.bat就行了😉