找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 7890|回复: 42

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

[复制链接]
发表于 2021-4-8 19:13 | 显示全部楼层 |阅读模式
本帖最后由 99010 于 2024-1-2 03:50 编辑

OpenGNB是一个国产的虚拟局域网软件,可实现大部分内网穿透组网,实测组网传输文件效果比zerotier高效

使用环境:
A路由器网件4300v1,移动大内网,光猫拨号。
B路由器新3,移动大内网,光猫拨号。
C路由器J1900软路由拨号,联通公网。

组建的虚拟局域网互传文件,基本跑满上传带宽(注:如果使用加密--crypto xor,网件、新3路由器CPU会满载)

相关配置看作者编写的用户手册https://github.com/gnbdev/opengn ... b_user_manual_cn.md

注:opengnb默认mtu1280,在某些环境的数据传输速度会很低,可自行指定mtu值,比如--mtu 1410

作者已经更新版本,需要自行编译执行程序(mips、mipsel、arm32/64)。

这里给出编译方法

  1. 下载openwrt SDK
  2. wget  https://mirrors.ustc.edu.cn/openwrt/releases/21.02.7/targets/ramips/mt7621/openwrt-sdk-21.02.7-ramips-mt7621_gcc-8.4.0_musl.Linux-x86_64.tar.xz
  3. 解压SDK
  4. tar xvJf  openwrt-sdk-21.02.7-ramips-mt7621_gcc-8.4.0_musl.Linux-x86_64.tar.xz

  5. 添加临时环境变量
  6. export PATH=$PATH:"/home/当前用户名/openwrt-sdk-21.02.7-ramips-mt7621_gcc-8.4.0_musl.Linux-x86_64/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin"
  7. export STAGING_DIR='/home/当前用户名/openwrt-sdk-21.02.7-ramips-mt7621_gcc-8.4.0_musl.Linux-x86_64/staging_dir'

  8. 确认变量
  9. mipsel-openwrt-linux-gcc -v

  10. 下载源码
  11. git clone https://github.com/gnbdev/opengnb.git
  12. cd opengnb
  13. CC=mipsel-openwrt-linux-gcc  CFLAGS='-static' make -f Makefile.openwrt
复制代码



  1. 以 Lite Mode 方式启动

  2. 1.复制执行程序到/usr/bin,记得添加权限0755

  3. 2.举例,假定:
  4. A路由器局域网192.168.33.0/24,指定gnb的节点编号为1033、IP10.1.0.33
  5. B路由器局域网192.168.77.0/24,指定gnb的节点编号为1077、IP10.1.0.77

  6. A路由器新建启动项/etc/init.d/gnb,权限0755,内容参考如下
  7. #!/bin/sh /etc/rc.common
  8. # "new(er)" style init script
  9. # Look at /lib/functions/service.sh on a running system for explanations of what other SERVICE_
  10. # options you can use, and when you might want them.

  11. START=99

  12. SERVICE_USE_PID=1
  13. SERVICE_WRITE_PID=1
  14. SERVICE_DAEMONIZE=1

  15. start() {
  16.         service_start /usr/bin/gnb -I 101.32.178.3/9001 -n 1033 -a 10.1.0.33  --multi-socket=on  -p 密码 -r '1033|10.1.0.33|255.255.255.0,1077|10.1.0.77|255.255.255.0,1077|192.168.77.0|255.255.255.0'
  17.         sleep 5
  18.         ip route add 192.168.77.0/24 via 10.1.0.77
  19. }

  20. stop() {
  21.         ip route del 192.168.77.0/24 via 10.1.0.77
  22.         service_stop /usr/bin/gnb
  23. }

  24. 运行
  25. /etc/init.d/gnb start

  26. 确认正常后添加开机启动
  27. /etc/init.d/gnb enable


  28. B路由器新建启动项/etc/init.d/gnb,权限0755,内容参考如下
  29. #!/bin/sh /etc/rc.common
  30. # "new(er)" style init script
  31. # Look at /lib/functions/service.sh on a running system for explanations of what other SERVICE_
  32. # options you can use, and when you might want them.

  33. START=99

  34. SERVICE_USE_PID=1
  35. SERVICE_WRITE_PID=1
  36. SERVICE_DAEMONIZE=1

  37. start() {
  38.         service_start /usr/bin/gnb -I 101.32.178.3/9001 -n 1077 -a 10.1.0.77  --multi-socket=on -p 密码 -r '1033|10.1.0.33|255.255.255.0,1077|10.1.0.77|255.255.255.0,1033|192.168.33.0|255.255.255.0'
  39.         sleep 5
  40.         ip route add 192.168.33.0/24 via 10.1.0.33
  41. }

  42. stop() {
  43.         ip route del 192.168.33.0/24 via 10.1.0.33
  44.         service_stop /usr/bin/gnb
  45. }

  46. 运行
  47. /etc/init.d/gnb start

  48. 确认正常后添加开机启动
  49. /etc/init.d/gnb enable

  50. 最后关键一步
  51. 到网络-接口,添加一个新接口,选不配置网络协议,网络接口选gnb_tun,防火墙选lan,保存&应用。(注意,这里保存后gnb会挂断,重启gnb就好)
复制代码


  1. 以 Safe Mode 方式启动

  2. 按照用户手册配置好相关设置,创建配置存放目录,并复制配置文件进去。
  3. mkdir -p /etc/gnb

  4. 复制执行程序到/usr/bin,记得添加权限0755

  5. 新建启动项/etc/init.d/gnb,权限0755,内容参考如下(其他路由器用配置文件1002或者1003)
  6. #!/bin/sh /etc/rc.common
  7. # "new(er)" style init script
  8. # Look at /lib/functions/service.sh on a running system for explanations of what other SERVICE_
  9. # options you can use, and when you might want them.

  10. START=99

  11. SERVICE_USE_PID=1
  12. SERVICE_WRITE_PID=1
  13. SERVICE_DAEMONIZE=1

  14. start() {
  15.         cp -r /etc/gnb /tmp
  16.         service_start /usr/bin/gnb  -c /tmp/gnb/conf/1001
  17. }

  18. stop() {
  19.         service_stop /usr/bin/gnb
  20.         rm -rf /tmp/gnb
  21. }

  22. 运行
  23. /etc/init.d/gnb start

  24. 确认正常后添加开机启动
  25. /etc/init.d/gnb enable

  26. 最后关键一步
  27. 到网络-接口,添加一个新接口,选不配置网络协议,网络接口选gnb_tun,防火墙选lan,保存&应用。(注意,这里保存后gnb会挂断,重启gnb就好)
  28. 其他路由器复制bin目录里面的执行程序以及conf文件夹(记得修改配置),按照相同位置传上去就可以了。
复制代码



5元包月的垃圾宽带,实测效果



本帖子中包含更多资源

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

×
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-4-8 19:19 | 显示全部楼层
看看怎么配置
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-4-9 16:33 | 显示全部楼层
没用过,好用吗
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-4-9 21:10 | 显示全部楼层
这不就是n2n吗?

点评

比n2n灵活很多  详情 回复 发表于 2021-4-9 21:37
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-4-9 21:37 | 显示全部楼层
本帖最后由 99010 于 2021-4-9 21:55 编辑
pidge 发表于 2021-4-9 21:10
这不就是n2n吗?

组建网对网比n2n灵活很多

点评

支持 公网域名吗?  详情 回复 发表于 2021-4-9 22:39
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-4-9 22:39 | 显示全部楼层
99010 发表于 2021-4-9 21:37
组建网对网比n2n灵活很多

支持 公网域名吗?

点评

不清楚你要问什么? 这个是组建虚拟局域网,和公网域名没任何关系。 简单说,这是异地多个路由器组网,实现每个路由器lan下面的设备都能访问对端任何一个路由器lan下面的设备。  详情 回复 发表于 2021-4-9 23:20
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-4-9 23:13 | 显示全部楼层
不需要第三方服务器?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-4-9 23:20 | 显示全部楼层
本帖最后由 99010 于 2021-4-9 23:26 编辑
hwlon 发表于 2021-4-9 22:39
支持 公网域名吗?

不清楚你要问什么?

这个是组建虚拟局域网,和公网域名没任何关系。

简单说,这是异地多个路由器组网,实现每个路由器lan下面的设备都能访问对端任意一个路由器lan下面的设备。
比如,A路由器下的Windows电脑(192.168.1.147)直接访问C路由器下面的群晖,只需要输入群晖的局域网IP(192.168.2.123)即可

点评

节点中的公网IP,可以用动态域名吗  详情 回复 发表于 2021-4-10 07:17
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-4-10 00:02 | 显示全部楼层
深藏在内网中通过nat方式联网的计算机需要部署在公网的index节点找到其他同样处于内网中的主机建立点对点的虚拟链路。

GNB的index节点的角色类似于BT协议中的Tracker,由一部分GNB网络志愿者提供。在绝大多数情况下index节点仅为GNB网内主机提供地址索引,不会为GNB节点中转数据。

一部分志愿者提供的GNB的forward节点可以为极端情况下暂时无法进行点对点通信的主机进行数据中转,而GNB主机之间的非对称数据加密使得forward节点无法窥探中转的数据。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-4-10 07:17 | 显示全部楼层
99010 发表于 2021-4-9 23:20
不清楚你要问什么?

这个是组建虚拟局域网,和公网域名没任何关系。

节点中的公网IP,可以用动态域名吗

点评

不可以。 现在测试的由作者提供的index节点,已经足够了。  详情 回复 发表于 2021-4-10 11:57
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-4-10 11:57 | 显示全部楼层
hwlon 发表于 2021-4-10 07:17
节点中的公网IP,可以用动态域名吗

不可以。
现在测试的由作者提供的index节点,已经足够了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-4-11 11:32 | 显示全部楼层
试试看!!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-4-11 11:35 | 显示全部楼层
99010 发表于 2021-4-9 21:37
组建网对网比n2n灵活很多

这个自带握手节点比n2n省了super节点,从安全性上讲n2n会更好,不过这个方便灵活

点评

主题贴中的例子是 lite 模式,当然不安全。 gnb 支持椭圆曲线非对称加密,推荐使用这个模式工作。  详情 回复 发表于 2023-9-24 19:50
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-4-11 11:55 | 显示全部楼层
谢谢分享了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-4-11 16:06 | 显示全部楼层
看看是不是比zt好,国人之光
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 22:24

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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