内网穿透、异地组网之N2N

内网穿透、异地组网之N2N

N2N(Network to Network)是一个开源的轻量级VPN软件,它使用P2P技术来创建虚拟网络,使得不同网络环境下的设备能够相互通信,就像它们处于同一个局域网中一样。N2N的特点包括:

  1. 基于P2P协议的加密二层专用网络。
  2. 边缘节点(edge node)的加密使用带有用户自定义密码的开放协议。
  3. 支持用户同时加入不同的网络或社区。
  4. 能够跨越NAT和防火墙,实现从外部到内部的通信。
  5. 支持通过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
image-20240913173121550

客户端连接

在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地址,小组名称可以自定义,然后启动

image-20240913174220263

在连接之后我们可以在命令窗口处输入ipconfig进行查看是否连接成功

image-20240913174321294

如果想要自动分配IP地址,就得在服务器上输入以下命令开启Supernode,然后再次启动一下服务端:

sudo systemctl start supernode
最后请注意防火墙配置与对应云服务商有没有拦截对应端口

本文作者:松種
文章中所涉及的各种链接或软件工具均来自对应官方正版
版权声明:除文章额外声明外,本博客所有文章均采用CC BY-MC-SA 4.0协议
上一篇