需求

我在各种设备上的web服务变得越来越多,之前一直在使用frp做端口映射,映射表已经变得臃肿不堪,根本记不住哪个服务在哪个端口,所以想全部换成私有的虚拟局域网,一方面提高了安全性,使web服务不在公网直接暴露,另一方面每个设备现在有一个固定的ip,不再需要全部使用公网服务器的ip然后按端口分配服务

N2N

1
2
3
4
5
6
7
8
9
n2n 是一款轻量级 VPN 软件,可以轻松绕过中间防火墙创建虚拟网络。

为了开始使用 n2n,需要两个元素:

超级节点:它允许边缘节点宣布和发现其他节点。它必须有一个可在互联网上公开访问的端口。
边缘节点:将成为虚拟网络一部分的节点
n2n 中多个边缘节点之间共享的虚拟网络称为社区。单个超级节点可以中继多个社区,而一台计算机可以同时成为多个社区的一部分。边缘节点可以使用加密密钥来加密其社区内的数据包。

如果可能,N2N 会尝试通过 UDP 在边缘节点之间建立直接的对等连接。当这是不可能的(通常是由于特殊的NAT设备)时,超级节点也用于中继数据包。

项目地址:n2n-github

在windows系统下我们使用Bug侠制作的客户端EasyN2N,简单易用:Bug侠—喵喵爸爸的七零八碎,下载配置方法他的网站都有详细说明

如果使用linux系统,请不要按照官方readme的说明直接使用sudo apt install n2n安装,可能会安装错误的不兼容的版本,如果需要linux系统使用,可以自己编译,或者在lucktu的github下载编译好的版本,他的github仓库连接在下面

另外还有人提供了对于安卓系统和编译好的linux系统的支持:lucktu-github

使用(主要针对我自己)

服务器启动命令:

1
2
cd ~/n2n-3.0
supernode -p 9527 -f

在linux下的启动命令:

1
sudo edge -c mynetwork -k mysecretpass -a 192.168.100.1 -f -l supernode.ntop.org:7777

针对于我的配置:

1
sudo edge -f -l triority.cc:9527 -a 192.168.100.x -c triority

我的服务器使用了白名单,所以就不要尝试使用我的服务器了

ip记录表:

1
2
3
4
5
6
7
mi10s: 192.168.100.0
G15: 192.168.100.1
Surface: 192.168.100.2
orangepi: 192.168.100.3
matx: 192.168.100.4
ljx: 192.168.100.5-7