n2n安装

n2n原理
编译版下载,可直接使用:windows下vpn客户端 n2n_v2_linux_x64 n2n_v2_Win32TAP网卡驱动

#linux环境编译
yum install -y git
git clone https://github.com/meyerd/n2n.git && cd n2n/ && cd n2n_v2 && mkdir build && cd build #n2n-master
cmake ..
make
make install

#启动超级节点
supernode -l 8080
#启动边缘节点
edge -d eth2 -a 10.0.0.20 -c yourgroupname -k yourpasswd -u root -g root -l 123.124.125.126:8080

#windows环境编译
下载源码:https://github.com/meyerd/n2n.git

wintap.h文件修改 文件末尾添加 #define ERROR_IO_PENDING                 997L 
安装cmake,若安装了老版本,需要先卸载
使用mingw交叉编译:
下载mingw安装器,安装以下3个组件:

运行C:\MinGW\msys\1.0\msys.bat进入命令行,查看cmake是否安装成功,若不成功,请检查环境变量:

cd /c/n2n-master/n2n_v2/
mkdir build
cd build
cmake -G "MSYS Makefiles" --build ./ ../
make



编译成功后产生edge.exe supernode.exe

#windows客户端配置
下载n2nguien.exe 安装,并用编译好的edge.exe替换安装目录的edge2.exe
配置正确的超级节点ip和端口
本地ip填随意局域网ip,如10.0.0.* 192.168.0.*等
组名称和密码随意,三者匹配后会组成局域网

高级设置:
打开Enable packet forwarding through n2n community
版本选n2n v2

重启生效

#windows脚本启动
新建目录D:\GreenSoft\n2n
将edge.exe放入此目录,并新建start.sh 内容如下:

@echo off
#切换到管理员模式
cd /d "%~dp0"
cacls.exe "%SystemDrive%\System Volume Information" >nul 2>nul
if %errorlevel%==0 goto Admin
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"
echo Set RequestUAC = CreateObject^("Shell.Application"^)>"%temp%\getadmin.vbs"
echo RequestUAC.ShellExecute "%~s0","","","runas",1 >>"%temp%\getadmin.vbs"
echo WScript.Quit >>"%temp%\getadmin.vbs"
"%temp%\getadmin.vbs" /f
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"
exit

:Admin

#自动后台运行
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin

#启动edge
D:
cd GreenSoft\n2n
edge.exe -a 10.0.0.6 -c test -k test-l 123.123.123.123:1080 -r

访问C:\ProgramData\Microsoft\Windows\Start Menu\Programs路径
将start.sh的快捷方式放到启动目录,实现开机自启(windows10下)。

关掉客户端测试是否成功
cd C:\Program Files\n2n Gui
edge2.exe -f -a 192.168.99.1 -c test -k mima -l 112.121.187.156:8333

如果连接成功,则显示(每 2 分钟显示一条):
Rx REGISTER_SUPER_ACK myMAC= ... ...

失败则重复显示:
WARNING:Supernode not responding - moving to 0 of 1

N2N windows下编译安装文件的更多相关文章

  1. Windows下编译安装 FFmpeg

    在Linux/Mac下编译 ffmpeg是非常方便的.但要在 Windows下编译 ffmpeg还真要花点时间.以下就是在 Windowns下编译ffmpeg的步骤: 一.安装Cygwin 在wind ...

  2. Java项目生成可执行jar包、exe文件以及在Windows下的安装文件

    1.如何通过eclipse将Java项目生成可执行jar包 首先把在eclipse下的java项目导出jar file 下一步 下一步 下一步 最后点击完成,便生成了可执行的jar文件.可以在刚刚选择 ...

  3. windows下编译安装BOOST

    boost的编译和使用,经过搜集资料和总结,记录成文.感谢文后所列参考资料的作者. 1 下载 地址:http://sourceforge.net/projects/boost/files/boost/ ...

  4. ffmpeg windows下编译安装

    安装msys2 更新源使下载速度更快 进入msys64/etc/pacman.d/目录中,分别在三个文件中增加mirrorlist.mingw32Server = http://mirrors.ust ...

  5. windows下编译和安装boost库

    boost是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库. 获取方式 boost提供源码形式的安装包,可以从boost官方网站下载,目前最新版本是1.59.0. 本机上正好有boos ...

  6. [转] Windows下编译OpenSSL

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  7. centos7.2下编译安装&&使用-git代码库

    centos7.2下编译安装git Git简介 Git是一个分布式版本控制系统 Git vs SVN SVN是典型的集中式版本控制起,版本库集中存放在服务器,当我们用自己的电脑干活儿的时候,需要先从中 ...

  8. ubuntu15.10下编译安装wine1.8 rc4

    ubuntu15.10下编译安装wine1.8rc4 Wine (“Wine Is Not an Emulator” 的递归缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Li ...

  9. memcache的windows下的安装和简单使用

    原文:memcache的windows下的安装和简单使用 memcache是为了解决网站访问量大,数据库压力倍增的解决方案之一,由于其简单实用,很多站点现在都在使用memcache,但是memcach ...

随机推荐

  1. linux查看tomcat启动运行日志

    1.先切换到:cd tomcat/logs 2.tail -f catalina.out 3.这样运行时就可以实时查看运行日志了

  2. 深入理解Java虚拟机读书笔记8----Java内存模型与线程

    八 Java内存模型与线程   1 Java内存模型     ---主要目标:定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节.     ---此处的变量和J ...

  3. javaweb复习(一)

    学习网站开发一般都是3部走.1.基本的servlet.jsp.js.html的内容学习.2.ssm.ssh之类的框架学习.3.大型网站开发的框架和技术学习(目前我还没学到),我学习这部分主要的书是李兴 ...

  4. Base64图片转Blob对象

    //将Base64图片转成Blob对象 //@args: base64Url:编码字符串,contentType:类型. function base64UrltoBlob(base64Url, con ...

  5. Chrome 插件PPAPI 开发(一)环境搭建

    前言:本文参考了其他已有的文章,在其基础上简化了一些没有必要的操作. 同时也记录一下chrome 插件ppapi环境的基础搭建.并且感谢已有文章作者的大无畏的分享精神! 在这附上参考文章链接:http ...

  6. Unity添加多个可视镜头Preview功能(一)

    打算写这样一个工具,可用于影片镜头调节,房产漫游的可视化,建立多个可视镜头,可以动态调整各个镜头的位置和旋转方向,同时,还能在类似于Camera 的Preview这样的小窗口中查看该镜头(在小窗口中点 ...

  7. vue provide和inject 父组件和子孙通信

    父组件中通过provider来提供变量,然后在子组件中通过inject来注入变量.不论子组件有多深,只要调用了inject那么就可以注入provider中的数据.而不是局限于只能从当前父组件的prop ...

  8. spring @Autowired与@Resource的区别

    1.@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上. 2.@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必 ...

  9. git 合并冲突 取消合并

    如果有冲突,会出现MERING 使用git merge  --abort命令解决冲突

  10. UniRX简述

    UniRX:是一个Unit3D的编程框架,专注于解决异步逻辑,使得异步逻辑的实现更加简单优雅. 例如:实现“只处理第一次鼠标点击事件”: Observable.EveryUpdate() .Where ...