N2N windows下编译安装文件

时间:2024-02-18 15:17:13

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