前言
资源准备:一台公网IP的主机A,一台普通内网的主机B。(win或linux设备都可以)
n2n最新源码链接(有时打不开,等等再试)
1 Ubuntu搭建方式
参考git的源码的项目说明就可以实现supernode和edge部署
1.1 下载源码git clone https://github.com/ntop/n2n
1.2 进入源码目录n2n,依次执行下列命令
./autogen.sh
# 如果提示命令不在,需要安装apt install autoconf
./configure
make
make install
# 安装完执行命令,检查安装是否正确
supernode -h
edge -h
1.3 在公网主机上运行supernode,监听1234端口
supernode -l 1234 -v >/dev/null &
注:如果公网主机在云服务主机上,安全组需要放开1234端口,防火墙相应放开
firewall-cmd --zone=public --add-port=1234/tcp --permanent
#再重启一下防火墙
firewall-cmd --reload
1.4 测试
- 公网主机A也可以运行节点edge
edge -d n2n -c myn2n -k 123456 -a 10.0.0.1 -l x.x.x.x:1234 >/dev/null &
其中x.x.x.x为公网IP
- 另一台linux主机B运行节点edge
edge -d n2n -c myn2n -k 123456 -a 10.0.0.2 -l x.x.x.x:1234 >/dev/null &
- 两台主机可以相互ping通则搭建完成
2 windows运行方式
此处直接下载对应的windows版本应用程序下载链接
- 解压后找到对应的版本
运行之前需要先安装虚拟网卡TAP
安装TAP网卡步骤:
-
windows+r输入hdwwiz.exe
-
安装手动从列表选择的硬件
-
选择网络适配器
-
选择TAP-Win32 Provider V9安装
-
给网卡分配静态IP10.0.0.3
-
在路径框内运行cmd
-
运行edge.exe
edge.exe -a 10.0.0.3 -c myn2n -k 123456 -l x.x.x.x:1234
测试ping通10.0.0.1则搭建成功
3 嵌入式Linux搭建(需要交叉编译)
和Ubuntu上搭建方式基本一致,只需重新指定下编译器,编译即可。
git clone https://github.com/ntop/n2n
cd n2n
./autogen.sh
# 如果提示命令不在,需要安装apt install autoconf
./configure
# 修改编译器
vi Makefile
# 将其中CC=gcc AR=ar 改为对应的嵌入式平台编译器
export CC
export AR
CC=arm-fsl-linux-gnueabi-gcc
AR=arm-fsl-linux-gnueabi-ar
# :wq 退出保存
make
# 等待编译完成后生成 edge 和 supernode
# 放入嵌入式平台,运行
edge -d n2n -c myn2n -k 123456 -a 10.0.0.4 -l x.x.x.x:1234 >/dev/null &
# 测试
ping 10.0.0.1
/dev/net/tun