找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 12201|回复: 28

mesh-batman及有线回传的解析 教学和配置

[复制链接]
发表于 2020-3-6 15:33 | 显示全部楼层 |阅读模式
本帖最后由 q623928815 于 2020-3-7 00:40 编辑

这两周研究了研究batman的mesh组网,把经验跟大家分享一下

本文主要基于batman官网说明书:https://www.open-mesh.org/projec ... -adv-Openwrt-config

先说点基本概念
802.11s只是无线的mesh。通过batman才可以实现有线回传。
batman不同版本配置不一样,这里适用的是2019.0-3以后的版本。


batman的原理如上图所示,即把多个接口(interface)合并为一个batman格式的虚拟接口,然后该接口可以像eth0(lan口)一样并入br-lan中,实现batman网桥。
也就是说,我们需要构建了一个batman的虚拟接口,这个接口包含了802.11s的无线接口,某些有线网口(见文章后面的有线回传设置)。

开始配置:
需要安装3个依赖包:kmod-batman-adv  batctl-full   wpad-mesh-openssl
其中wpad只能装一个,需要先卸载了wpad-basic再装这个


先添加一个802.11s的wifi,要注意所有节点信道要一致。可以通过网页添加,也可以直接修改/etc/config/wireless(如下配置)。
  1. config wifi-device 'radio0' #一般这个是2.4g的,一般5G对应的是radio1
  2.     option wifi-iface [..] # 这是之前的2.4g-wifi,不用删除

  3. config wifi-iface 'wmesh'  #从这开始是添加的新的mesh-wifi
  4.       option device 'radio0'
  5.       option ifname 'mesh0'
  6.       option network 'bat0_hardif_mesh0'
  7.       option mode 'mesh'
  8.       option mesh_id 'mesh'  # 这里是ssid,我填的zzmesh,填啥都行但要所有节点一致
  9.       option mesh_fwding '0'
  10.       option mesh_ttl '1'
  11.       option 'mcast_rate' '24000'
  12.    option encryption 'sae' # 这两行是加密
  13.    option key 'YOUR_PASSWD' # 这两行是加密
复制代码


然后检查一下连接上了没有:
可以通过网页查看,如下图就是连上了


之后开始配置batman
首先建立batman虚拟接口,这里只能通过修改/etc/config/network来做,在里面添加下面内容:
  1. config interface 'bat0'  # 这里我们定义的batman接口名为bat0
  2.     option proto 'batadv'
  3.     ## optional settings to override the defaults:
  4.     option routing_algo 'BATMAN_IV'
  5.     option aggregated_ogms 1
  6.     option ap_isolation 0
  7.     option bonding 0
  8.     option fragmentation 1
  9.     option gw_mode 'off'
  10.     #option gw_bandwidth '10mbit/2mbit'
  11.     #option gw_sel_class 20
  12.     option log_level 0
  13.     option orig_interval 1000
  14.     option bridge_loop_avoidance 1
  15.     option distributed_arp_table 1
  16.     option multicast_mode 1
  17.     option multicast_fanout 16
  18.     option network_coding 0
  19.     option hop_penalty 30
  20.     option isolation_mark '0x00000000/0x00000000'</pre>
复制代码

然后把之前创建的802.11s无线接口配置一下,同样是修改/etc/config/network文件,添加下面几行:
  1. config interface 'bat0_hardif_mesh0'
  2.     option proto 'batadv_hardif'
  3.     option master 'bat0'
  4.     option mtu '1536'
复制代码

所有节点配置之后重启一下,应该无线mesh就配置好了,可以用登录路由器后输入batctl o或batctl n查看,像下面那样就成功了(我一共有三个mesh无线节点,所有batctl n能看到链接了两个节点)




配置完成了,但是还没用起来。下面就来吧他用起来。
首先关闭所有ap节点的dhcp,并把br-lan配置成同网段的不同ip。比如主路由是192.168.3.1,ap路由就是192.168.3.2   192.168.3.3之类的。主路由的dhcp不能关闭。
然后把bat0接进br-lan里:打开lan配置,像下图所示在bat0前面打勾。


现在再连各个ap的wifi或lan口,应该就能自动获取ip地址上网了。



有线回传设置:
这里我想到的方案是吧主路由4个lan口中的1个转换成有线回传端口,剩下3个端口仍是普通lan口。对于ap路由,则把wan口转换成有线回传接口,lan口还是普通lan口。
首先来操作主路由,在网页里的交换机设置:添加一个vlan,把其中的一个lan端口分配给新建立的vlan,并把cpu设置成tagged,如下图所示。我是吧lan1分配给了vlan3,但我的配置里有个vlan2是wan的,可能很多人没有这个vlan,并不影响。



然后再把这个vlan3接入batman网络,方法是编辑/etc/config/network,加入下面几行
  1. config interface 'bat0_hardif_eth0_3' # 这个名字随意
  2.     option proto 'batadv_hardif'
  3.     option master 'bat0' # 并入bat0虚拟接口
  4.     option mtu '1536'
  5.     option ifname 'eth0.3' # 因为我的是vlan3,所以是eth0.3
  6.     option elp_interval '500'
  7.     # change throughput_override to 0 to use automatic detection; also allows kbit suffix
  8.     option throughput_override '1000mbit' # 速率
复制代码
主路由就配置完了。

再来配置ap路由,先在网页里接口那里,把wan和wan6删掉。然后同样是编辑/etc/config/network,加入下面几行把wan口并入bat0
  1. config interface 'bat0_hardif_eth1' # 这个名字随意
  2.     option proto 'batadv_hardif'
  3.     option master 'bat0' # 并入bat0虚拟接口
  4.     option mtu '1536'
  5.     option ifname 'eth1' # 我的路由器wan口对应eth1
  6.     option 'elp_interval' 500
  7.     # change throughput_override to 0 to use automatic detection; also allows kbit suffix
  8.     option 'throughput_override' '1000mbit' # 速率
复制代码

至此配置完成,把主路由的lan1和ap的wan口连接就自动可以有线回传。配置成功与否可以用batctl n查看,看是否有有线网卡。



LibreMesh好像更厉害,没看懂,期待哪位大神能给讲解一下。




本帖子中包含更多资源

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

×
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-6 22:49 | 显示全部楼层
看见mesh必须顶
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-31 17:31 | 显示全部楼层
求教编译时怎么选包,以前试过,编译后batman不能用
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-31 19:40 来自手机 | 显示全部楼层
楼主厉害了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-31 21:52 | 显示全部楼层
其实我也不是很了解,不过还是想跟楼主探讨一下。batman-adv可以在有线网络上搭建,然而这对于结构简单的家庭网络并没有什么意义;所以一般都建议在无线网络部署。我用了很长时间尝试batman-adv组建无线mesh,甚至在一个节点上使用两个双频无线路由(模拟双5G三频路由),性能仍然差强人意。

mesh所谓有线回程,对处于同一子网的设备并没有啥意义,数据包在二层转发,与什么多跳、自组织啥的不沾边啦。

batman-adv其实真正有价值的功能是支持非mesh设备在mesh节点上快速漫游。正如楼主的方法在有线网络划分vlan建立batman-adv节点,无线接口直接以ap模式与bat0桥接,不需要802.11s/ad-hoc,无线带宽全部都提供给接入的无线设备。漫游性能我只比较过802.11r,强的不是一点点!我也不会专业的测试,反正看4k原盘切换节点不掉帧。

点评

具体细节我也不是很清楚,我也只是勉强会用而已嘛。 不过我理解的batman只是把整个网络融合成一个而已,并不涉及到AP间的漫游。 把网线直接插到子路由的lan口当AP,可以实现最简单有线串联。如果基于batman则可以  详情 回复 发表于 2020-4-27 00:12
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-4-3 15:33 | 显示全部楼层
请教一下,每次编译完都配置BAT0接都提示不支持的协议类型,怎么处理呢?kmod-batman-adv包已经编译进去安装了的

本帖子中包含更多资源

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

×

点评

这是正常的,它没有luci的支持。所以配置都需要直接改文件  发表于 2020-4-26 23:58
这是正常的,它没有luci的支持。所以配置都需要直接改文件  详情 回复 发表于 2020-4-26 23:58
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-4-4 17:40 来自手机 | 显示全部楼层
求楼主赐教
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-4-4 17:41 | 显示全部楼层
很遗憾 说起 batman  今天的在大雕的源码中 炸了

点评

啥意思……!!??  详情 回复 发表于 2020-4-4 17:53
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-4-4 17:53 来自手机 | 显示全部楼层
vergessen 发表于 2020-4-4 17:41
很遗憾 说起 batman  今天的在大雕的源码中 炸了

啥意思……!!??

点评

大雕的源码 今天编译这个会失败  详情 回复 发表于 2020-4-4 18:05
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-4-4 18:05 | 显示全部楼层
wongjian1979 发表于 2020-4-4 17:53
啥意思……!!??

大雕的源码 今天编译这个会失败

点评

前天编译的还正常的呢……  详情 回复 发表于 2020-4-4 18:46
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-4-4 18:46 来自手机 | 显示全部楼层
vergessen 发表于 2020-4-4 18:05
大雕的源码 今天编译这个会失败

前天编译的还正常的呢……
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2020-4-26 23:58 | 显示全部楼层
wongjian1979 发表于 2020-4-3 15:33
请教一下,每次编译完都配置BAT0接都提示不支持的协议类型,怎么处理呢?kmod-batman-adv包已经编译进去安 ...

这是正常的,它没有luci的支持。所以配置都需要直接改文件
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2020-4-27 00:12 | 显示全部楼层
本帖最后由 q623928815 于 2020-4-27 00:18 编辑
shanpo 发表于 2020-3-31 21:52
其实我也不是很了解,不过还是想跟楼主探讨一下。batman-adv可以在有线网络上搭建,然而这对于结构简单的家 ...

具体细节我也不是很清楚,我也只是勉强会用而已嘛。
不过我理解的batman只是把整个网络融合成一个而已,并不涉及到AP间的漫游。
把网线直接插到子路由的lan口当AP,可以实现最简单有线串联。如果基于batman则可以把应用范围扩大到无线串联。
这种无线串联确实要损失很多带宽,所以一般建议都是用5G来中继。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-8 20:06 | 显示全部楼层
完全不懂呀
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-12 17:02 | 显示全部楼层
shanpo 发表于 2020-3-31 21:52
其实我也不是很了解,不过还是想跟楼主探讨一下。batman-adv可以在有线网络上搭建,然而这对于结构简单的家 ...

我也有楼主的疑惑,整个环节与漫游有什么关系吗,求赐教
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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