[batman-adv]学习(2) —— Quick Start
通过batman-adv建立和使用mesh网络。 安装batctl:# sudo apt-get batctlBatman-adv下载:https://downloads.open-mesh.org/batman/releases/batman-adv-2017.3/batman-adv-2017.3.tar.gz不同linux内核版本对应不同版本batman-adv:https:
通过batman-adv建立和使用mesh网络。
安装batctl:# sudo apt-get batctl
Batman-adv下载:https://downloads.open-mesh.org/batman/releases/batman-adv-2017.3/batman-adv-2017.3.tar.gz
不同linux内核版本对应不同版本batman-adv:https://www.open-mesh.org/projects/open-mesh/wiki/Download
1. 安装batman-adv
1. 下载并解压
2. # make 编译当前内核或者# makeKERNELPATH=/path/to/kernel
3. 安装模块 # sudo make install
4. 加载(load)batman-adv 模块:# sudo modprobe batman-adv
或者 # sudo nano /etc/modules
加入 batman-adv
2. 配置接口
不局限于接口种类,既可以是Wi-FI接口,例如wlan0,ath0,也可以是有线网卡eth0,或者蓝牙接口pan0。
# batctl if add wlan0
判断接口是否工作:
# batctl if
工作不需要IP地址,这些接口被用于桥接,不能再用于IP路由
3. Bat0
Bat0是一个虚拟接口,由batman-adv创建,用于接收发送的数据包。可以为bat0接口分配IP地址,手动分配、dhcpv4获取、avahi自动配置、dhcpv6、v6自动配置。batman-adv内核模块会检查所有进入bat0接口的包的目的mac地址,包会在B.A.T.M.A.N.’s 路由的控制下进行转发,最终到达正确的目的地址的bat0接口。
其封装结构如下:
4. 建立一个简单mesh网络
首先为所有节点安装batman-adv,加载模块,在root下输入以下命令:
ip link set mtu 1532 dev wlan0
iwconfig wlan0 mode ad-hoc essid my-mesh-network ap02:12:34:56:78:9A channel 1
#此处报错,通过sudo ifconfig wlan0 down解决
batctl if add wlan0
ip link set up dev wlan0
ip link set up dev bat0
可以通过sh脚本自动配置
#! /bin/bash
ifconfig wlan1 down
iwconfig wlan1 mode ad-hoc essid qxy-mesh channel 1
ifconfig wlan1 up
batctl if add wlan1
#此处可以在同一个bat0上添加多个接口,实现不同信道中继
ifconfig wlan1 mtu 1532
ifconfig bat0 up
batctl o
更多推荐
所有评论(0)