找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 5371|回复: 109

opengnb异地组网,gnb内网穿透,mipsle静态二进制程序

[复制链接]
本帖最后由 8267 于 2024-3-24 09:18 编辑

又一个异地组网小插件,也是由@xf110提供的方案,给需要的人吧,静态编译了mipsle架构的 可以在7621padavan上运行,文件也很小,小到只有32M内存的路由器都可以很好地运行GNB网络, arm64架构的  由@xf110测速 在两台设备都是7621CPU下也可以跑满30m上传速率!

需要其他架构的 电脑端的作者已经编译好了,下载地址:github.com/gnbdev/gnb_build/bin

gnb项目地址:github.com/gnbdev/gnb
官方教程文档:OpenGNB 用户手册


国产去中心化 P2P 内网穿透 V屁恩 - GNB,明年代码全量放出,可自行编译

openwrt安装配置gnb内网穿透,实现网对网组建虚拟局域网

gnb可以让你把 ”公司“-”家庭网络“-”更多异地网络“ 组成直接访问的局域网,可以让你免费实现自己的SDWAN网络。
内网穿透 去中心化 P2P virtual**


GNB独有的去中心化组网技术可以将分布在世界不同地方的计算机组成一个虚拟局域网,即使这些计算机深藏于没有公网ip的局域网里,不需要公网服务器中转就可以实现TCP/IP通讯
GNB有四套机制确保在主机所在网络发生变化时能够快速恢复数据链路并且在某些场景下还能保持应用层的网络连接,以下是一个经过反复测试的例子: 1、在肯德基打开苹果笔记电脑本接入肯德基的免费Wi-Fi; 2、在苹果笔记电脑启动GNB的边缘节点,此时可以通过 ssh 客户端登录到家中的同样是接入GNB网络的一台Linux; 3、合上笔记本电脑并带着走出肯德基。 4、来到麦当劳,打开笔记本,接入麦当劳的免费Wi-Fi,稍等半分钟网络恢复; 5、此时苹果笔记本中的 ssh 客户端与家中Linux的ssh的tcp连接没有断开,依然是通的。
以上是作者的介绍

1、怎么突破“GNB lite 模式内置5个节点”的限制(这里假设只增加一个节点1006) 我编译的默认支持20个节点了1001-1020 对应10.1.0.1-10.1.0.20
   a、方法一:直接在命令行里加入(需要所有的gnb客户端都加入)(windows下请在 -r 后使用英文双引号):
      gnb -n 1001 -I "39.108.10.191/9001" --multi-socket=on -p 12345678 -r '1001|10.1.0.1|255.255.0.0,1002|10.1.0.2|255.255.0.0,1003|10.1.0.3|255.255.0.0,1004|10.1.0.4|255.255.0.0,1005|10.1.0.5|255.255.0.0,1006|10.1.0.6|255.255.0.0' &
   b、方法二:修改源码“src/gnb_config_lite.c
”里的“1001|10.1.0.1|255.255.0.0,1002|10.1.0.2|255.255.0.0,1003|10.1.0.3|255.255.0.0,1004|10.1.0.4|255.255.0.0,1005|10.1.0.5|255.255.0.0”,
      里面再增加一条(,1006|10.1.0.6|255.255.0.0)即可,然后再覆盖原来的文件,重新编译替换新的主程序
2、怎么实现转发功能(不能直连时)
   假设AB之间不能直接连接(形成p2p),但是他们都能 ping 通C(假设它是:1001|10.9.0.1),那么在AB机器上加入如下语句即可:-a "f|1001|10.9.0.1|9001"
   gnb -n 1001 -I '101.32.178.3/9001' -p 12345678 &
   gnb -n 1002 -I '101.32.178.3/9001' -p 12345678 -a "f|1001|10.9.0.1|9001" &
   gnb -n 1003 -I '101.32.178.3/9001' -p 12345678 -a "f|1001|10.9.0.1|9001" &

所以我按上面的测试  ping通了  三个免费的公益中心节点 自行测试看看可不可用( 110.238.106.225/9001    101.32.178.3/9001    47.93.29.76/9001   120.76.206.113/9001    101.32.178.3/9001 usa.homedns.net/9001)
A地机器输入gnb -n 1001 -I '101.32.178.3/9001' -p 密码 &
B地机器输入gnb -n 1002 -I '101.32.178.3/9001' -p 密码 &

输入iptables -t nat -I POSTROUTING -j MASQUERADE  即可访问了
不知道你们的网络环境怎么样?速度能达到多少?



由xf110提供的用内网ip访问对端设备   启动命令如下
   gnb -n 1001 -I '101.32.178.3/9001' -d -q -p 12345678 -r '1001|10.1.0.1|255.255.0.0,1002|10.1.0.2|255.255.0.0, 1001|192.168.2.0|255.255.0.0' &
再用ip route add 192.168.2.0 via 10.1.0.1
这样在1002端  就可以用192.168.2.1访问对端设备了





     


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 liaohcai 于 2024-1-2 02:27 编辑

lite模式下:


我所使用的参数
/tmp/bin/gnb -p l000000 -n 1002 -I 101.32.178.3/9001 --mtu 1300  -d -q --crypto=none

参数太多了太麻烦了
也可以用我的
只不过里面的文件不是最新版的
lite模式下也是默认加密的,不想加密再加上“--crypto=none”
基本上能跑满我上行带宽
ipv6:pandavan---openwrt(mt7621):62M
ipv4:pandavan---openwrt(mt7621):63M

补我之前的测速数据
vnt :pandavan---openwrt(mt7621):56M
gnb:pandavan---openwrt(mt7621):38M
gnb:pandavan---padavan(mt7621):58.4M
gnb:pandavan---openwrt(mt7981):60M



safe模式下:



我所使用的文件和参数




  1. /tmp/bin/gnb -c /tmp/gnb_1001 &
复制代码
感谢@8267 大佬编译好的执行文件

感谢@gnbuser大神提供的自定义虚拟网络项目
无法上githup的网友,相关配置查看作者编写《OpenGNB 用户手册》
docs/gnb_user_manual_cn.md · master · gnbdev / opengnb · GitLab


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

来自手机 | 显示全部楼层
ZEROTIER国内河蟹越来越不好用了  可惜了
回复

使用道具 举报

 楼主| | 显示全部楼层
iamyangyi 发表于 2023-8-18 22:34
ZEROTIER国内河蟹越来越不好用了  可惜了

我的宽带有移动  联通  电信  都在同一个城市 ,  都有ipv6,而且电信还有公网v4,目前使用v6进行zerotier的,所以一直很稳定。看网上都说不行了就尝试关了一端设备的v6 只用v4,确实突然掉了,无法访问了,zerotier-cli pees查看变成中继了,不过十分钟后又自己打通变成直连了,总的来说没有v6的话zerotier就不好用。在一个zerotier速度不太行,tailscale文件又太大了,go程序也特别吃cpu,还没有zerotier稳定
回复

使用道具 举报

来自手机 | 显示全部楼层
所以现在不知道用啥
回复

使用道具 举报

 楼主| | 显示全部楼层
iamyangyi 发表于 2023-8-18 23:09
所以现在不知道用啥

是的呢,想找个能代替zerotier的 比较好的
回复

使用道具 举报

来自手机 | 显示全部楼层
在padavan下速率怎么样?
回复

使用道具 举报

 楼主| | 显示全部楼层
liaohcai 发表于 2023-8-19 04:47
在padavan下速率怎么样?

还没试过…
回复

使用道具 举报

 楼主| | 显示全部楼层
看有人说 别的都是一个udp端口打洞 这个是多个udp端口打洞   不知道有没有大神研究怎么用    https://forum.gl-inet.cn/forum.php?mod=viewthread&tid=159
回复

使用道具 举报

来自手机 | 显示全部楼层
这个值得研究
回复

使用道具 举报

8267 发表于 2023-8-21 08:05
看有人说 别的都是一个udp端口打洞 这个是多个udp端口打洞   不知道有没有大神研究怎么用    https://forum ...
  1. --multi-socket=on
复制代码

可以看出是多接口
回复

使用道具 举报

 楼主| | 显示全部楼层
liaohcai 发表于 2023-8-22 03:12
主机对主机
它的命令非常简单
原来 密码 是它的网络标识

可能这类软件都是在2m  我用zerotier n2n 加密的    openp2p都是在2m左右    今天测试一下 vnt  这个软件组网速度怎么样
回复

使用道具 举报

有没有通俗的的教程模板呢?按官方教程分别在两台主机上执行命令后,无法互ping
回复

使用道具 举报

 楼主| | 显示全部楼层
aming.ou 发表于 2023-8-22 07:42
有没有通俗的的教程模板呢?按官方教程分别在两台主机上执行命令后,无法互ping ...

官方的那个ip失效了,换为我帖子里的那三个ip就可以了
回复

使用道具 举报

用你提供的几个公益中心节点运行后,日志信息多了很多,但在主机A中ping主机B的IP地址(ping 10.1.0.3),无法ping通, 请问还需要设置什么吗?

在Linux主机A中运行的命令和日志
[root@aaaaaaaa bin_linux]# ./gnb -n 1001 -I '110.238.106.225/9001' --multi-socket=on -p 92462243 &
[1] 2474
[root@hadoop02 bin_linux]# 23-08-22 09:51:27 CORE GNB version 1.3.0.c protocol version 1.2.0
23-08-22 09:51:27 CORE Copyright (C) 2019 gnbdev<gnbdev@qq.com>
23-08-22 09:51:27 CORE Site: https://github.com/gnbdev/opengnb
23-08-22 09:51:27 CORE Build Time [Aug 21 2023,12:32:22]
23-08-22 09:51:27 PF gnb_pf_route init
23-08-22 09:51:27 NODE gnb_node_worker init finish
23-08-22 09:51:27 INDEX gnb_index_worker init finish
23-08-22 09:51:27 FULL_DETECT gnb_detect_worker init finish
23-08-22 09:51:27 INDEX_SERVICE gnb_index_service_worker init finish
23-08-22 09:51:27 MAIN gnb_main_worker init finish
23-08-22 09:51:27 CORE gnb core created!
23-08-22 09:51:27 CORE Start.....
23-08-22 09:51:27 CORE if[gnb_tun] opened
23-08-22 09:51:27 CORE node[1001] ipv4[10.1.0.1]
23-08-22 09:51:27 CORE gnb_index_worker start
23-08-22 09:51:27 CORE gnb_detect_worker start
23-08-22 09:51:27 CORE gnb_index_service_worker start
23-08-22 09:51:27 CORE gnb_node_worker start
23-08-22 09:51:27 MAIN bind addr6 [:::9001]
23-08-22 09:51:27 MAIN bind addr4[0.0.0.0:9001]
23-08-22 09:51:27 MAIN bind addr4[0.0.0.0:57900]
23-08-22 09:51:27 MAIN bind addr4[0.0.0.0:55101]
23-08-22 09:51:27 MAIN bind addr4[0.0.0.0:37232]
23-08-22 09:51:27 MAIN bind addr4[0.0.0.0:42084]
23-08-22 09:51:27 CORE gnb_main_worker start
23-08-22 09:51:27 MAIN start gnb_main_worker success!
23-08-22 09:51:27 INDEX_SERVICE start gnb_index_service_worker success!
23-08-22 09:51:27 INDEX start gnb_index_worker success!
23-08-22 09:51:27 FULL_DETECT start gnb_detect_worker success!
23-08-22 09:51:27 NODE start gnb_node_worker success!
23-08-22 09:51:27 INDEX post local address to index ***.238.106.225:9001
23-08-22 09:51:27 INDEX get echo address ***.136.205.182:9001 from index ***.238.106.225:9001:9001
23-08-22 09:51:28 CORE exec gnb_es argv '/root/tmp/bin_linux/gnb_es -b /tmp/gnb.9001.map --if-loop --upnp'
23-08-22 09:51:37 INDEX RECEIVE_PUSH_ADDR node=1003 ***.136.205.182:1579 text='INDEX PUSH ADDR[1003]=>[1001]' action=C
23-08-22 09:51:37 INDEX send DETECT 1001 ==> 1003 address ***.136.205.182:1579 port range[25]
23-08-22 09:51:37 INDEX RECEIVE_PUSH_ADDR node=1003 ***.136.205.182:33039 text='INDEX PUSH ADDR[1003]=>[1001]' action=C
23-08-22 09:51:37 INDEX send DETECT 1001 ==> 1003 address ***.136.205.182:33039 port range[25]
23-08-22 09:51:37 INDEX RECEIVE_PUSH_ADDR node=1003 ***.136.205.182:59580 text='INDEX PUSH ADDR[1003]=>[1001]' action=C
23-08-22 09:51:37 INDEX send DETECT 1001 ==> 1003 address ***.136.205.182:59580 port range[25]
23-08-22 09:51:37 INDEX RECEIVE_PUSH_ADDR node=1003 ***.136.205.182:55918 text='INDEX PUSH ADDR[1003]=>[1001]' action=C
23-08-22 09:51:37 INDEX send DETECT 1001 ==> 1003 address ***.136.205.182:55918 port range[25]
23-08-22 09:52:06 INDEX RECEIVE_PUSH_ADDR node=1003 ***.136.205.182:55918 text='INDEX PUSH ADDR[1003]=>[1001]' action=C
23-08-22 09:52:06 INDEX send DETECT 1001 ==> 1003 address ***.136.205.182:55918 port range[25]
23-08-22 09:52:06 INDEX RECEIVE_PUSH_ADDR node=1003 ***.136.205.182:55918 text='INDEX PUSH ADDR[1003]=>[1001]' action=C
23-08-22 09:52:06 INDEX send DETECT 1001 ==> 1003 address ***.136.205.182:55918 port range[25]
23-08-22 09:52:06 INDEX RECEIVE_PUSH_ADDR node=1003 ***.136.205.182:55918 text='INDEX PUSH ADDR[1003]=>[1001]' action=C
23-08-22 09:52:06 INDEX send DETECT 1001 ==> 1003 address ***.136.205.182:55918 port range[25]
23-08-22 09:52:06 INDEX RECEIVE_PUSH_ADDR node=1003 ***.136.205.182:55918 text='INDEX PUSH ADDR[1003]=>[1001]' action=C
23-08-22 09:52:06 INDEX send DETECT 1001 ==> 1003 address ***.136.205.182:55918 port range[25]
23-08-22 09:52:06 INDEX RECEIVE_PUSH_ADDR node=1003 ***.136.205.182:55918 text='INDEX PUSH ADDR[1003]=>[1001]' action=C
23-08-22 09:52:06 INDEX send DETECT 1001 ==> 1003 address ***.136.205.182:55918 port range[25]
23-08-22 09:52:09 PF unified forwarding auto src=1001 dst=1003
23-08-22 09:52:09 PF unified forwarding from tun dst=1003 nodeid not found!
23-08-22 09:52:10 PF unified forwarding auto src=1001 dst=1003
23-08-22 09:52:10 PF unified forwarding from tun dst=1003 nodeid not found!
23-08-22 09:52:11 PF unified forwarding auto src=1001 dst=1003
23-08-22 09:52:11 PF unified forwarding from tun dst=1003 nodeid not found!
23-08-22 09:52:12 PF unified forwarding auto src=1001 dst=1003
23-08-22 09:52:12 PF unified forwarding from tun dst=1003 nodeid not found!
23-08-22 09:52:13 PF unified forwarding auto src=1001 dst=1003
23-08-22 09:52:13 PF unified forwarding from tun dst=1003 nodeid not found!
23-08-22 09:52:14 PF unified forwarding auto src=1001 dst=1003


在Linux主机B中运行的命令和日志中运行的命令和日志
[root@bbbbbbbb bin_linux]# ./gnb -n 1003 -I '110.238.106.225/9001' --multi-socket=on -p 92462243 &
[1] 18431
[root@hadoop01 bin_linux]# 23-08-22 09:52:13 CORE GNB version 1.3.0.c protocol version 1.2.0
23-08-22 09:52:13 CORE Copyright (C) 2019 gnbdev<gnbdev@qq.com>
23-08-22 09:52:13 CORE Site: https://github.com/gnbdev/opengnb
23-08-22 09:52:13 CORE Build Time [Aug 21 2023,12:32:22]
23-08-22 09:52:13 PF gnb_pf_route init
23-08-22 09:52:13 NODE gnb_node_worker init finish
23-08-22 09:52:13 INDEX gnb_index_worker init finish
23-08-22 09:52:13 FULL_DETECT gnb_detect_worker init finish
23-08-22 09:52:13 INDEX_SERVICE gnb_index_service_worker init finish
23-08-22 09:52:13 MAIN gnb_main_worker init finish
23-08-22 09:52:13 CORE gnb core created!
23-08-22 09:52:13 CORE Start.....
23-08-22 09:52:13 CORE if[gnb_tun] opened
23-08-22 09:52:13 CORE node[1003] ipv4[10.1.0.3]
23-08-22 09:52:13 CORE gnb_index_worker start
23-08-22 09:52:13 CORE gnb_detect_worker start
23-08-22 09:52:13 CORE gnb_index_service_worker start
23-08-22 09:52:13 CORE gnb_node_worker start
23-08-22 09:52:13 MAIN bind addr6 [:::9001]
23-08-22 09:52:13 MAIN bind addr4[0.0.0.0:9001]
23-08-22 09:52:13 MAIN bind addr4[0.0.0.0:33039]
23-08-22 09:52:13 MAIN bind addr4[0.0.0.0:59580]
23-08-22 09:52:13 MAIN bind addr4[0.0.0.0:44025]
23-08-22 09:52:13 MAIN bind addr4[0.0.0.0:55918]
23-08-22 09:52:13 CORE gnb_main_worker start
23-08-22 09:52:13 MAIN start gnb_main_worker success!
23-08-22 09:52:13 INDEX start gnb_index_worker success!
23-08-22 09:52:13 FULL_DETECT start gnb_detect_worker success!
23-08-22 09:52:13 NODE start gnb_node_worker success!
23-08-22 09:52:13 INDEX_SERVICE start gnb_index_service_worker success!
23-08-22 09:52:13 INDEX post local address to index ***.238.106.225:9001
23-08-22 09:52:13 INDEX get echo address ***.136.205.182:1579 from index ***.238.106.225:9001:9001
23-08-22 09:52:13 INDEX RECEIVE_PUSH_ADDR node=1001 ***.136.205.182:9001 text='INDEX PUSH ADDR[1001]=>[1003]' action=C
23-08-22 09:52:13 INDEX send DETECT 1003 ==> 1001 address ***.136.205.182:9001 port range[25]
23-08-22 09:52:13 INDEX RECEIVE_PUSH_ADDR node=1001 ***.136.205.182:9001 text='INDEX PUSH ADDR[1001]=>[1003]' action=C
23-08-22 09:52:13 INDEX send DETECT 1003 ==> 1001 address ***.136.205.182:9001 port range[25]
23-08-22 09:52:13 INDEX RECEIVE_PUSH_ADDR node=1001 ***.136.205.182:9001 text='INDEX PUSH ADDR[1001]=>[1003]' action=C
23-08-22 09:52:13 INDEX send DETECT 1003 ==> 1001 address ***.136.205.182:9001 port range[25]
23-08-22 09:52:13 INDEX RECEIVE_PUSH_ADDR node=1001 ***.136.205.182:9001 text='INDEX PUSH ADDR[1001]=>[1003]' action=C
23-08-22 09:52:13 INDEX send DETECT 1003 ==> 1001 address ***.136.205.182:9001 port range[25]
23-08-22 09:52:13 INDEX RECEIVE_PUSH_ADDR node=1001 ***.136.205.182:9001 text='INDEX PUSH ADDR[1001]=>[1003]' action=C
23-08-22 09:52:13 INDEX send DETECT 1003 ==> 1001 address ***.136.205.182:9001 port range[25]
23-08-22 09:52:13 INDEX RECEIVE_PUSH_ADDR node=1001 ***.136.205.182:9001 text='INDEX PUSH ADDR[1001]=>[1003]' action=C
23-08-22 09:52:13 INDEX send DETECT 1003 ==> 1001 address ***.136.205.182:9001 port range[25]
23-08-22 09:52:13 INDEX RECEIVE_PUSH_ADDR node=1001 ***.136.205.182:9001 text='INDEX PUSH ADDR[1001]=>[1003]' action=C
23-08-22 09:52:13 INDEX send DETECT 1003 ==> 1001 address ***.136.205.182:9001 port range[25]
23-08-22 09:52:13 INDEX RECEIVE_PUSH_ADDR node=1001 ***.136.205.182:9001 text='INDEX PUSH ADDR[1001]=>[1003]' action=C
23-08-22 09:52:13 INDEX send DETECT 1003 ==> 1001 address ***.136.205.182:9001 port range[25]
23-08-22 09:52:13 INDEX RECEIVE_PUSH_ADDR node=1001 ***.136.205.182:9001 text='INDEX PUSH ADDR[1001]=>[1003]' action=C
23-08-22 09:52:13 INDEX send DETECT 1003 ==> 1001 address ***.136.205.182:9001 port range[25]
23-08-22 09:52:13 INDEX RECEIVE_PUSH_ADDR node=1001 ***.136.205.182:9001 text='INDEX PUSH ADDR[1001]=>[1003]' action=C
23-08-22 09:52:13 INDEX send DETECT 1003 ==> 1001 address ***.136.205.182:9001 port range[25]
23-08-22 09:52:13 INDEX RECEIVE_PUSH_ADDR node=1001 ***.136.205.182:9001 text='INDEX PUSH ADDR[1001]=>[1003]' action=C
23-08-22 09:52:13 INDEX send DETECT 1003 ==> 1001 address ***.136.205.182:9001 port range[25]
23-08-22 09:52:14 CORE exec gnb_es argv '/root/tmp/bin_linux/gnb_es -b /tmp/gnb.9001.map --if-loop --upnp'
23-08-22 09:52:42 INDEX RECEIVE_PUSH_ADDR node=1001 ***.136.205.182:9001 text='INDEX PUSH ADDR[1001]=>[1003]' action=C
23-08-22 09:52:42 INDEX send DETECT 1003 ==> 1001 address ***.136.205.182:9001 port range[25]
23-08-22 09:52:42 INDEX RECEIVE_PUSH_ADDR node=1001 ***.136.205.182:9001 text='INDEX PUSH ADDR[1001]=>[1003]' action=C


另外我在openwrt系统中运行,提示以下错误(WR703N刷的openwrt版本 LEDE Reboot 17.01.7 r4030-6028f00df0 )
root@Printer:/tmp/g# ./gnb -n 1003 -I '110.238.106.225/9001' --multi-socket=on -p 92462243
23-08-22 10:07:52 CORE GNB version 1.3.0.c protocol version 1.2.0
23-08-22 10:07:52 CORE Copyright (C) 2019 gnbdev<gnbdev@qq.com>
23-08-22 10:07:52 CORE Site: https://github.com/gnbdev/opengnb
23-08-22 10:07:52 CORE Build Time [Aug 21 2023,12:30:23]
23-08-22 10:07:52 PF gnb_pf_route init
23-08-22 10:07:52 NODE gnb_node_worker init finish
23-08-22 10:07:52 INDEX gnb_index_worker init finish
23-08-22 10:07:52 FULL_DETECT gnb_detect_worker init finish
23-08-22 10:07:52 INDEX_SERVICE gnb_index_service_worker init finish
23-08-22 10:07:52 MAIN gnb_main_worker init finish
23-08-22 10:07:52 CORE gnb core created!
23-08-22 10:07:52 CORE Start.....
ioctl addr4 SIOCSIFADDR: No such device
root@Printer:/tmp/g#
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-20 17:44

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表