N2N(Network to Network)是一个开源的轻量级VPN软件,它使用P2P技术来创建虚拟网络,使得不同网络环境下的设备能够相互通信,就像它们处于同一个局域网中一样。N2N的特点包括:
- 基于P2P协议的加密二层专用网络。
- 边缘节点(edge node)的加密使用带有用户自定义密码的开放协议。
- 支持用户同时加入不同的网络或社区。
- 能够跨越NAT和防火墙,实现从外部到内部的通信。
- 支持通过UDP协议进行通信,边缘节点可以通过核心节点(supernode)握手后直接通信,降低通信延时并减轻核心节点的带宽压力。
N2N官方GitHub:ntop/n2n: Peer-to-peer VPN (github.com)
安装
快速安装
下载链接(3.0稳定版):Release 3.0 Stable Release · ntop/n2n (github.com)
根据自己系统架构选择安装包进行下载,本文将用 Ubuntu 22.04 来演示
wget https://github.com/ntop/n2n/releases/download/3.0/n2n_3.0.0-1038_amd64.deb
(ps:如果下载太慢的话就自己在其他地方下载过来然后上传上去)
下载完后,使用dpkg
进行安装
sudo dpkg -i n2n_3.0.0-1038_amd64.deb
有些Linux发行版已经提供了n2n作为包,也可以直接使用sudo apt install n2n
来进行安装
编译安装
wget https://github.com/ntop/n2n/archive/refs/tags/n2n-3.0.tar.gz
sudo tar -zxvf n2n-3.0.tar.gz
cd n2n-3.0
sudo ./autogen.sh
sudo ./configure
sudo make
sudo make install
启动服务端
使用以下命令启动(如果要后台运行就去掉-f
,其中1234为端口)
sudo supernode -p 1234 -f
客户端连接
在Linux上连接
Linux的话就按照上述安装进行即可,然后输入以下命令即可进行连接:
sudo edge -c 自定义名称 -k 自定义加密密钥 -a 需要分配的IP地址 -f -l 服务端IP地址:端口号
在Windows上连接
Windows上的话我这里推荐使用Bug大佬制作的EasyN2N启动器
下载链接:EasyN2N(N2N启动器) v3.1.2 | Bug侠 (bugxia.com)
在下载解压后打开n2n.exe,输入我们服务器IP地址跟端口,然后输入一下想要的IP地址,小组名称可以自定义,然后启动
在连接之后我们可以在命令窗口处输入ipconfig
进行查看是否连接成功
如果想要自动分配IP地址,就得在服务器上输入以下命令开启Supernode,然后再次启动一下服务端:
sudo systemctl start supernode
最后请注意防火墙配置与对应云服务商有没有拦截对应端口