目录
二、Linux 配置 并运行 N2N - Supernode (必选)
三、Linux -- 配置 并运行 N2N - 边缘节点配置 Edge(可选步骤)
四、Windows -- 配置 并运行 N2N - 边缘节点配置 Edge (可选步骤)
五、Android -- 配置 并运行 N2N - 边缘节点配置 Edge (可选步骤)
一、背景
说下背景,因为某些原因,需要远程调试客户的Android手机,而且,还是异地的客户。。。
- 本次安装配置基于
N2N
的V3
版本,具体区别请参考 N2N版本选择介绍(v1\v2\v2s\v3区别\使用方法教程\免费服务器); - 本次配置主要是以
Linux
为服务端、Windows
为客户端来静态分配地址;
二、Linux 配置 并运行 N2N - Supernode (必选)
$ git clone https://github.com/ntop/n2n -b 3.0-stable
$ cd n2n
$ ./autogen.sh
$ ./configure
$ make && make install
//也可以 cd n2n && cmake .. && make && make install
运行supernode,supernode相当于服务端,还有个edge相当于客户端
# supernode -p 8081 -v -f #前台模式,可以查看日志方便调试
如果需要后台运行就
# supernode -p 8081
端口任意,我这里是8081,然后需要在防火墙里放开这个端口。如果有安全组, 安全组也需要放开。TCP 和UDP都放开吧。
配置开机启动(可选)
linux 的init系统分2种,分别是Systemd 和SysV ,两种系统设置开机启动程序的命令是不一样的。
当你使用 systemctl 命令(适用于有 systemd init 的系统)的时候,系统自然会报错。
那么怎样查看到底用的是哪个 init 系统呢?可以使用如下命令来检查 PID 为 1 的进程(即系统运行的第一个进程)名称:
ps -p 1 -o comm=
它应该在输出中显示 init 或 sysv(或类似的东西)。如果你看到的是 init,那么你的系统就没有使用 systemd,应该使用 init 命令。
------------------------
- Systemd的linux
# vim /etc/systemd/system/supernode.service
填入以下内容:
[Unit]
Description=N2N SuperNode Run On Port 2012 UDP
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/sbin/supernode -p 8081 -f
TimeoutStartSec=0
[Install]
WantedBy=default.target
启动并 设置为开机启动:
# systemctl enable supernode
# systemctl start supernode
------------------------
- SysV 的linux
# vim /etc/init.d/n2n-supernode
填入以下内容:
#!/bin/sh
### BEGIN INIT INFO
# Provides: n2n-supernode
# R