交叉编译N2N-LEDE x86_64 & Windows

LEDE OpenWrt

下载工具链
地址lede-sdk-17.01.7-x86-64_gcc-5.4.0_musl-1.1.16.Linux-x86_64.tar.xz
更名后路径:/opt/toolchain/lede-gcc-5.4.0-x86_64

编译N2N

0、环境变量
修改~/.bashrc,执行source .bashrc立即生效,并使重启自动生效

export STAGING_DIR=.....

1、git clone https://github.com/ntop/n2n.git or get zip source code
2、CMake构建,vim CMakeLists.txt,在开头加入:

SET(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_CROSSCOMPILING TRUE)
SET(CMAKE_CROSSCOMPILER "x86_64-openwrt-linux-")
SET(CMAKE_C_COMPILER "${CMAKE_CROSSCOMPILER}gcc")
SET(CMAKE_CXX_COMPILER "${CMAKE_CROSSCOMPILER}g++")

3、编译

mkdir build
cd build
cmake ..
make

4、将edge拷贝至目标主机/bin目录

chmod +x edge
cp edge /bin

5、启动脚本/etc/init.d/autoboot,执行目标脚本

#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org
START=99
start() {
	sh /usr/share/jerry/autoboot
}

编辑autoboot内容,并添加权限chmod +x autoboot

#!/bin/sh
USERDIR=/usr/share/jerry
edge -c group-k key -a ip -l supernode:port
if [ ! -f "${USERDIR}/boottimes.log"]; then
	touch ${USERDIR}/boottimes.log
fi
date >> ${USERDIR}/boottimes.log

使能自启动,log记录每次重启的时间

/etc/init.d/autoboot enable

Windows

0、sudo apt-get install mingw-w64
另外需要TAP驱动,从bugxia EasyN2N处安装即可
1、CMake构建,vim CMakeLists.txt,在开头加入:

SET(CMAKE_SYSTEM_NAME Windows)
Set(CMAKE_CROSSCOMPILING TRUE)
SET(CMAKE_CROSSCOMPILER "x86_64-w64-mingw32-")
SET(CMAKE_C_COMPILER "${CMAKE_CROSSCOMPILER}gcc")
SET(CMAKE_CXX_COMPILER "${CMAKE_CROSSCOMPILER}g++")
SET(CMAKE_RC_COMPILER "${CMAKE_CROSSCOMPILER}windres")
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

2、

mkdir cmake
touch CMakeToolchainFileMingw32.cmake
# the name of the target operating system
SET(CMAKE_SYSTEM_NAME Windows)

# which compilers to use for C and C++
SET(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
SET(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)

# here is the target environment located
SET(CMAKE_FIND_ROOT_PATH ${HOME}/win_n2n/mingw32/)

# adjust the default behaviour of the FIND_XXX() commands:
# search headers and libraries in the target environment, search 
# programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/CMakeToolchainFileMingw32.cmake --build ./ ../
make

N2N help

edge edge.conf

edge
-a 指定静态IP,动态为“ -r -a dhcp:0.0.0.0 ”
-c 指定群组名,类似于工作组,只有在同一工作组才能通信
-k 密码
-l 超级节点公网地址及端口号
-m 指定MAC地址,缺省为随机
-M 指定MTU,缺省为1290
-r 使能数据包通过n2n转发
-S 不使用p2p,数据包始终通过supernode

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值