前言

资源准备:一台公网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
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网卡步骤:

  1. windows+r输入hdwwiz.exe

  2. 安装手动从列表选择的硬件

  3. 选择网络适配器

  4. 选择TAP-Win32 Provider V9安装

  5. 给网卡分配静态IP10.0.0.3
    在这里插入图片描述
    在这里插入图片描述

  6. 在路径框内运行cmd
    在这里插入图片描述

  7. 运行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
参考链接:
  1. n2n内网穿透及代理服务
  2. Linux arm 内核选项和busybox选项 加载tun模块 – 创建/dev/tun 字符设备