官方N2N更新至2.6稳定版~
这两天又想起来折腾折腾N2N,发现N2N居然稳定版2.6了
https://github.com/ntop/n2n/releases
看看日志
增加了在supernode上指定允许社区(组)的白名单的功能
通过多播实现本地对等点发现
Windows编译修复和说明
MacOS编译修复和说明
支持多个edge节点的systemd服务管理
通过AES加密以提高安全性和吞吐量
添加基准测试工具以提高加密吞吐量
提高连接稳定性并建立P2P连接的机会
删除密钥计划支持以简化加密代码
整合n2n的meyerd分支中所做的更改
实现P2P与supernode通信的数据包统计信息
用哈希表替换对等链接列表,以在大型网络中更快地查找
自动向用户n2n投递
n2n版本改进
添加对ARM64构建的支持
在OpenWRT上构建n2n的说明和makefile文件
更多选项来控制MTU,P2P连接,TOS和日志详细程度
为n2n协议实现wireshark解剖器
在tuntap_linux中删除对system()的调用,改用netlink
实现n2n-decode实用程序以解码流量并将其转储到PCAP
搞起……
20 条评论
谁有编译好的 windows n2n v2.6 ?
谁了解帮忙告知一下。可以发邮件juvham@foxmail.com
你好,我更新到2.6现在两个edge之间相互ping不通。-v 模式可以看到对方ping过来包,但是没有响应。是还需要配置什么吗?
@null
盲猜分析一下,确认有包过来,那说明N2N隧道是通的,但对方ping不通,说明你返回给对方的包,对方收不到,所以,1,要么是你这边被封锁了(防火墙什么的),2,要么就是对方阻断了(估计也是防火墙之类的)
请问有没有windows编译版本?想偷懒不想自己搭环境
@阿迟
有啊,https://github.com/lucktu/n2n/tree/master/Windows
已经更新到2.7了
“添加对ARM64构建的支持”可以在树莓派4B上搞吗?
@special
我手边是3B+,ARM32的Raspbian,ARM64系统没测试,很抱歉,不知道需要做什么修改
你可以先试试直接编译看看
======
git clone https://github.com/ntop/n2n.git
cd n2n/
./autogen.sh
./configure
make && make install
@Bug侠
我还是个树莓派新手,不太会用Linux指令,看到N2N很感兴趣,想搞搞玩玩,但是,我今天为了编译折腾了3个小时,还是没编译出来。“./autogen.sh”,“./configure”这两个指令都不太懂。
@special
好吧,没事,都是一步一步来的
我这边也可以用apt-get install n2n来直接安装,但是版本比较低,是1.3.1的旧版本n2n
上面我贴的命令是常规的编译步骤,可以编译出最新版2.6
可能缺少一些编译环境(会报错),如gcc等,你可以先百度,如果还是没解决,可以把出错的日志贴这里,我们一起研究研究~~
@Bug侠
我在网上搜到的方法是:
sudo apt-get install subversion build-essential libssl-dev
git clone https://github.com/meyerd/n2n.git
cd n2n/n2n_v2
mkdir build
cd build
cmake ..
make
sudo make install
第一步我就安装不上,百度了,解决方法是换源,我就换了,之后更新源时又出了这个错误:The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY (一串密钥)。百度的都是ubuntu系统的解决。就先跳过了。
直到cmake这步,我执行这一步显示:
The CXX compiler identification is unknown
Configuring incomplete, errors occurred。百度没找到解决办法。
最后就先暂时放弃了(大一狗,还要上网课)
@special
大一就是时间多,有空折腾~我当时也是的。
只有这两行错误日志吗? GCC/G++环境装了没有,我看你贴的是编译分支n2n的,编译官方最新的2.6呢?
@Bug侠
GCC/G++环境装了
但是有问题,我尝试编译hello world,显示:
pi@raspbian:~/c_test$ gcc -o hello hello.c
hello.c:1:10: fatal error: stdio.h: No such file or directory
#include
^~~~~~~~~
compilation terminated.
无法编译,在网上找方法:
安装build-essential
sudo apt-get install build-essential
显示:Unable to locate package build-essential
@special
安装build-essential是对的,build-essential的问题估计是源导致的了~
@Bug侠
这是cmake的错误信息:
pi@raspbian:~/n2n/n2n_v2/build$ cmake ..
— The C compiler identification is GNU 8.3.0
— The CXX compiler identification is unknown
— Check for working C compiler: /usr/bin/cc
— Check for working C compiler: /usr/bin/cc — broken
CMake Error at /usr/share/cmake-3.13/Modules/CMakeTestCCompiler.cmake:52 (message):
The C compiler
“/usr/bin/cc”
is not able to compile a simple test program.
It fails with the following output:
Change Dir: /home/pi/n2n/n2n_v2/build/CMakeFiles/CMakeTmp
Run Build Command:”/usr/bin/make” “cmTC_af2a9/fast”
/usr/bin/make -f CMakeFiles/cmTC_af2a9.dir/build.make CMakeFiles/cmTC_af2a9.dir/build
make[1]: Entering directory ‘/home/pi/n2n/n2n_v2/build/CMakeFiles/CMakeTmp’
Building C object CMakeFiles/cmTC_af2a9.dir/testCCompiler.c.o
/usr/bin/cc -o CMakeFiles/cmTC_af2a9.dir/testCCompiler.c.o -c /home/pi/n2n/n2n_v2/build/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_af2a9
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_af2a9.dir/link.txt –verbose=1
/usr/bin/cc -rdynamic CMakeFiles/cmTC_af2a9.dir/testCCompiler.c.o -o cmTC_af2a9
/usr/bin/ld: cannot find Scrt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
/usr/bin/ld: cannot find -lc
/usr/bin/ld: cannot find crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
make[1]: *** [CMakeFiles/cmTC_af2a9.dir/build.make:87: cmTC_af2a9] Error 1
make[1]: Leaving directory ‘/home/pi/n2n/n2n_v2/build/CMakeFiles/CMakeTmp’
make: *** [Makefile:121: cmTC_af2a9/fast] Error 2
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:1 (project)
CMake Error at CMakeLists.txt:1 (project):
No CMAKE_CXX_COMPILER could be found.
Tell CMake where to find the compiler by setting either the environment
variable “CXX” or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.
— Configuring incomplete, errors occurred!
See also “/home/pi/n2n/n2n_v2/build/CMakeFiles/CMakeOutput.log”.
See also “/home/pi/n2n/n2n_v2/build/CMakeFiles/CMakeError.log”.
@special
如果你能确保cmake、gcc等这些安装正确,那我猜测会不会和他的魔改有关系?因为我这边用3b+官方的raspbian测试了,是没问题的,正常编译。我看了一下这个系统的介绍,有这一段
——
除外,在这次2.0正式版的发布中,我们重新定义和优化了我们自己的专门针对树莓派的交叉编译链工具和编译器,并使用自定义的编译工具重新构建了基础内核以及相关系统模块,大幅度的优化和提高了编译器的编译速度及效率(关于编译链工具及编译器,大家可以参考华为的方舟编译器,有异曲同工之处,我们的编译器主要针对C、C++、G++、ASM、NM、ld、CMAKE、Glib库等底层编译工具进行了优化:专门针对树莓派的ARM aarch64 A53及A72 的 ARM-v8a进行了定制的针对性优化,包括编译硬件架构的指令集等)
@special
没注意到关键的一句
No CMAKE_CXX_COMPILER could be found.
所以大概率还是gcc\gcc-c++没安装好导致的
@Bug侠
再补充一下:
我的是树莓派4B
系统不是官方的,官方没有64位的,我贴一个我用的系统链接:
https://www.oschina.net/p/debian-pi-aarch64
我用的是“无桌面增强版” 支持3B+
ps:谢谢,你能和我交流这方面的东西,很感谢。
@Bug侠
我已经再我的树莓派4B上成功编译运行N2N了,谢谢博主
快点搞起,等你文章