Ubuntu系统安装和运行n2n

(使用root权限)

下载git

apt install git

下载n2n源码

git clone https://github.com/meyerd/n2n.git

下载完成之后,当前目录下会出现名为 n2n 的文件夹:

root@VM-0-15-ubuntu:~# ll n2n
total 28
drwxr-xr-x  5 root   root   4096 Jun 23 15:33 ./
drwxrwxrwx 21 ubuntu ubuntu 4096 Jun 23 15:33 ../
drwxr-xr-x  8 root   root   4096 Jun 23 15:33 .git/
-rw-r--r--  1 root   root    189 Jun 23 15:33 .gitignore
drwxr-xr-x  6 root   root   4096 Jun 23 15:33 n2n_v1/
drwxr-xr-x  9 root   root   4096 Jun 23 15:33 n2n_v2/
-rw-r--r--  1 root   root    783 Jun 23 15:33 README.md

n2n文件夹中同时包含了 n2n_v1n2n_v2 两个文件夹。使用 cmake编译n2n_v2

编译安装n2n

安装cmake

n2n_v2CMakeLists.txt指明cmake最低版本要求是2.6

root@VM-0-15-ubuntu:~/n2n# more ./n2n_v2/CMakeLists.txt
project(n2n)
cmake_minimum_required(VERSION 2.6)# N2n information
set(N2N_VERSION 2.1.0)
set(N2N_OSNAME ${CMAKE_SYSTEM})(以下省略)

安装cmake,指定版本不低于2.6

apt install cmake>=2.6

查看cmake版本

root@VM-0-15-ubuntu:~/n2n# cmake --version
cmake version 3.10.2CMake suite maintained and supported by Kitware (kitware.com/cmake).

编译、安装

cd n2n
mkdir -p build_n2n_v2    #创建一个build文件夹,专门用于存放编译生成的文件和目录,#如Makefile、CMakeCache.txt、CMakeFiles#cmake_install.cmake、可执行文件等
cd build_n2n_v2
cmake ../n2n_v2         #cmake
make && make install    #编译、安装

测试

root@VM-0-15-ubuntu:~$ supernode -h
supernode usage
-l <lport>      Set UDP main listen port to <lport>
-f              Run in foreground.
-u <UID>        User ID (numeric) to use when privileges are dropped.
-g <GID>        Group ID (numeric) to use when privileges are dropped.
-v              Increase verbosity. Can be used multiple times.
-h              This help message.
root@VM-0-15-ubuntu:~$ edge -h
Welcome to n2n v.2.1.0 for Linux-4.15.0-142-generic
Built on Jun 15 2022 14:28:22
Copyright 2007-09 - http://www.ntop.orgedge -d <tun device> -a [static:|dhcp:]<tun IP address> -c <community> [-k <encrypt key> | -K <key file>] [-s <netmask>] [-u <uid> -g <gid>][-f][-m <MAC address>]
-l <supernode host:port> [-p <local port>] [-M <mtu>] [-r] [-E] [-v] [-t <mgmt port>] [-b] [-h]-d <tun device>          | tun device name
-a <mode:address>        | Set interface address. For DHCP use '-r -a dhcp:0.0.0.0'
-c <community>           | n2n community name the edge belongs to.
-k <encrypt key>         | Encryption key (ASCII) - also N2N_KEY=<encrypt key>. Not with -K.
-K <key file>            | Specify a key schedule file to load. Not with -k.
-s <netmask>             | Edge interface netmask in dotted decimal notation (255.255.255.0).
-l <supernode host:port> | Supernode IP:port
-L <local_ip>            | Add local ip to bypass between same nat problem
-i <interval>            | Set the NAT hole-punch interval (default 20seconds)
-b                       | Periodically resolve supernode IP: (when supernodes are running on dynamic IPs)
-p <local port>          | Fixed local UDP port.
-u <UID>                 | User ID (numeric) to use when privileges are dropped.
-g <GID>                 | Group ID (numeric) to use when privileges are dropped.
-f                       | Do not fork and run as a daemon; rather run in foreground.
-m <MAC address>         | Fix MAC address for the TAP interface (otherwise it may be random): eg. -m 01:02:03:04:05:06
-M <mtu>                 | Specify n2n MTU of edge interface (default 1400).
-r                       | Enable packet forwarding through n2n community.
-E                       | Accept multicast MAC addresses (default=drop).
-v                       | Make more verbose. Repeat as required.
-t                       | Management UDP Port (for multiple edges on a machine).Environment variables:N2N_KEY                | Encryption key (ASCII). Not with -K or -k.

启动supernode

在终端启动supernode,-f 表示在前台(foreground)运行。不使用 -f 选项,默认在后台运行。

supernode -v -v -v -f

启动edge node

在终端启动supernode,-f 表示在前台(foreground)运行。不使用 -f 选项,默认在后台运行。

edge -v -v -v -d edge0 -a 172.16.32.1 -c ljl -k ljl -l 1.116.255.112:7654 -p 8888 -f

Ubuntu系统安装和运行n2n相关推荐

  1. 【以太坊】搭建测试网络之ubuntu系统安装geth客户端以及同步区块数据

    一.前言 在前两天就开始研究这个geth客户端,奈何中间一直遇到各种各样的问题,最后总算是成功在服务器上安装geth并开始同步区块了.这里记录一下过程. 1.虚拟机配置问题 博主最开始用的是虚拟机,但 ...

  2. Ubuntu系统安装Hadoop3.1.3并进行单机/伪分布式配置

    Ubuntu系统安装Hadoop3.1.3并进行单机/伪分布式配置 文章目录 Ubuntu系统安装Hadoop3.1.3并进行单机/伪分布式配置 前言 详细流程 创建Hadoop用户 安装Java 配 ...

  3. ubuntu系统安装微信过程与问题解决记录

    ubuntu系统安装微信 electronic wechat deepin-wine Wine-HQ安装 docker-wechat 常用docker命令 存储库 Main Universe Mult ...

  4. Windows通过虚拟机的Ubuntu系统安装、配置、管理、远程访问ClickHouse

    Windows通过虚拟机的Ubuntu系统安装.配置.管理.远程访问ClickHouse 1. 安装虚拟机 2. 使用Ubuntu的官方预编译deb软件包 2.1 apt-get命令 2.2 密钥管理 ...

  5. Windows重装系统+虚拟机virtuabox安装+ubuntu系统安装+linux环境下安装fsl 一条龙(步步亲测有效)

    Windows重装系统+虚拟机virtuabox安装+ubuntu系统安装+linux环境下安装fsl 一条龙 零:综述 一.windows10系统的安装 1.准备工作 2.制作启动盘 3.修改启动设 ...

  6. 台式机Ubuntu系统安装Tesla系列显卡+深度学习环境搭建

    1.前言 Tesla系列的显卡主要是作为计算显卡来使用的,常用在服务器.工作站等设备上,并不适用于普通台式机主板上.与常用的Nvidia显卡系列相比,其内部的电源供电结构.散热功能都是不一样的.因此要 ...

  7. Ubuntu系统安装webrtc

    Ubuntu系统安装webrtc 系统环境安装要求 1. Linux系统要求 2. 由于国内下载webrtc需要翻墙,因此购买国外的阿里云服务器下载 3.使用管理员账户登录系统,安装git 4.使用管 ...

  8. ubuntu系统安装安卓模拟器(Android SDK)的方法

    ubuntu或者别的linux系统安装安卓模拟器(Android SDK)的方法跟Windows差不多,今天安卓部落就教大家怎么样在ubuntu环境下安装安卓模拟器. 首先下载Android SDK ...

  9. 【正点原子MP157连载】第一章 Ubuntu系统安装-摘自【正点原子】【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7

    1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...

  10. Ubuntu系统安装在移动固态硬盘,实现在不同电脑即插即用

    Ubuntu系统安装在移动固态硬盘,实现在不同电脑即插即用 一.前期准备 二.制作系统启动盘 2.1 Ubuntu20.04系统下载 2.2 制作U盘启动盘 三. 磁盘分区(重点) 四.Ubuntu系 ...

最新文章

  1. qu(判定操作序列)NOIP模拟 数据结构判断 模拟
  2. PHP移动互联网开发笔记(3)——运算符
  3. html超链接使用d,HTML图像的调用和超链接
  4. 国际区块链专利统计:蚂蚁、平安、腾讯分列申请数前三名
  5. 65. magent 手动创建用户
  6. 游戏策划学习(一)游戏研发基础
  7. 阿里巴巴java开发编码规范—代码格式
  8. 好用的scrum敏捷开发工具有哪些?推荐3个scrum项目管理工具
  9. MATLAB命令大全
  10. java删除占用的文件_「强力删除」自己用命令强制删除占用的文件或文件夹 - seo实验室...
  11. 百度导航SDK升级适配 Anroid 11骑步导航闪退
  12. 利用jink的驱动软件j-flash 合并两个hex的方法,bootloader+app -(转载)
  13. MYSQL_ASSOC
  14. android获取网页标题,android获取系统自带浏览器书签
  15. 高维非空间数据可视化
  16. 绿联扩展坞拆解_拆解报告:UGREEN绿联2A1C三口多功能拓展坞
  17. kaggle比赛记录——ieee_fraud_detection问题
  18. 论文他引次数及ESI高被引论文查询方法
  19. PLM与ERP集成,这个头疼的问题,可以这样解决!
  20. Windows11 安装 chocolatey 包管理器

热门文章

  1. python小于_删除python中小于某个值的行
  2. mybatis 小于号转义
  3. HALCON联合C#检测表面缺陷——检测缺陷原理(三)
  4. TIBCO.Rendezvous简单的发消息的过程
  5. Elasticsearch 分布式搜索引擎 速学
  6. LiveZilla-最好的免费在线客服介绍和详细说明
  7. sqlserver2005 sa密码忘记了怎么办
  8. 电子计算机的五个部分组成,电子计算机由哪几大部分构成?
  9. 中国农业大学821数据结构计算机考研
  10. java能解决数学题目吗_Java竟然可以做数学应用题?