N2N
概述
n2n是一个比较好用的基于p2p的VPN程序,对于我来说主要利用其虚拟局域网的功能,用来和小伙伴们联机……(最早用过Hamachi速度比较慢,配置也比较痛苦……
n2n原作者似乎已不再维护,还在维护的branch为这个,其中更新的n2n_v2.1 版本比较新,看作者的描述,应该是为v3版本做铺垫。
这个branch的v21版本与之前的v1,v2版本都不兼容,需要重新编译,实测Google Play中的n2n也不能使用……不过还是有人做出了适配的Android客户端。
编译与使用
Linux(x86)平台
Linux平台下编译很方便,具体步骤如下:
编译
安装依赖:
Centos下执行:yum install cmake openssl openssl-devel yum install gcc-c++
Debian下执行:
apt install cmake libssl-dev apt install build-essential
编译
git clone https://github.com/meyerd/n2n.git cd n2n/n2n_v2 cmake ./ make && make install
使用
编译好的文件在 n2n/n2n_v2 下,其中supernode为服务端,edge为客户端,
大致使用命令如下:
supernode -l 端口号 如: ./supernode -l 1024
edge -a VLAN地址 -c 组名 -k 密码 -l 服务器地址:端口号 -s 掩码 -r -b -L 本地ip
其中若服务器地址为域名,使用-r命令则会周期性解析域名,一般用于公网ip经常变化的DDNS服务器,-b命令开启转发
Windows平台
编译
待续
使用
Windows下客户端需要先安装openvpn Tap-windows用于创建虚拟网卡,之后才能运行edge客户端。
下面文件打包了edge和tap网卡,使用命令和linux一致,官方没有GUI客户端。
Windows客户端下载
Android
Android下有Hin2n开源程序,通过Android调用VPN API实现n2n,但这样也意味着无法与大多数科学上网工具同时使用(
hin2n下载地址
路由器
直接给出编译好的程序:
padavan.zip
n2n_openwrt.zip
Zerotier
zerotier与n2n类似,打洞穿透率似乎高于n2n,下面主要记录moon节点的搭建安装<中转加速用>
moon节点
- 安装Zerotier
curl -s https://install.zerotier.com/ | sudo bash
2.加入网络
network-id 为在官网上建立网络的一串字符串
zerotier-cli join <network-id>
3.生成与建立moon模板
cd /var/lib/zerotier-one
zerotier-idtool initmoon identity.public > moon.json
检查json文件中id与服务器的id是否一致
修改moon.json中stableEndpoints为服务器ip,如
"stableEndpoints": [ "1.1.1.1/9993","2.2.2.2/9993" ]
之后执行
zerotier-idtool genmoon moon.json
会生成000000.moon的文件,其中为服务器id
之后执行
mkdir moons.d
mv 000000***.moon文件 ./moons.d
service zerotier-one restart
即可
加入moon节点
方法一
zerotier-cli orbit <id> <id>
id为moon节点的id,此方法要求服务器连接到zerotier网络
方法二
拷贝上面生成的000000*.moon文件到zerotier的moons.d文件夹中,并重启服务
不同系统文件夹地址如下<不存在moons.d文件夹则新建>
Windows: C:\ProgramData\ZeroTier\One
Linux: /var/lib/zerotier-one
MacOs: /Library/Application\ Support/ZeroTier/One)
FreeBSD/OpenBSD: /var/db/zerotier-one
- 注意: windows需要重启服务,而不是重启程序,按住windows键+r,在弹出的对话框中输入services.msc并回车,找到ZeroTier One,右键选择重新启动即可。