【转】基于OLSR路由协议实现Ad-Hoc组网
一、软件包的安装
1、 olsrd软件包的安装
libpthread_0.9.33.2-1_ar71xx.ipk
olsrd_0.6.6.2-4_ar71xx.ipk
2、 luci的安装
olsrd-mod-jsoninfo_0.6.6.2-4_ar71xx.ipk
luci-lib-luaneightbl_0.12+git-15.037.36195-f1e2a26-1_ar71xx.ipk
luci-app-olsr_0.12+git-15.037.36195-f1e2a26-1_ar71xx.ipk
luci-lib-json_0.12+git-15.037.36195-f1e2a26-1_ar71xx.ipk
3、 olsrd-server的安装
olsrd-mod-nameservice_0.6.6.2-4_ar71xx.ipk
luci-app-olsr-services_0.12+git-15.037.36195-f1e2a26-1_ar71xx.ipk
4、 olsrd-viz的安装
olsrd-mod-txtinfo_0.6.6.2-4_ar71xx.ipk
luci-app-olsr-viz_0.12+git-15.037.36195-f1e2a26-1_ar71xx.ipk
注:如果没法联网,直接通过opkg install安装,则可以直接在menuconfig中加入编译选项,可以按“/”进行查找软件包。
在menuconfig中查找的时候,olsrd-mod-jsoninfo、olsrd-mod-nameservice、olsrd-mod-txtinfo三个ipk包在olsrd选上时也就可以编译进内核了。
二、设置概览(以网络中存在3个节点为例)
每个节点的lan IP可以设置在不同网段,我的设置如下
|
节点编号 |
LAN IP |
无线AP设置 |
Ad-Hoc IP |
|
1 |
172.16.1.11 |
SC-wifi11 |
172.16.2.11 |
|
2 |
172.16.1.12 |
SC-wifi12 |
172.16.2.12 |
|
3 |
172.16.1.13 |
SC-wifi13 |
172.16.2.13 |
三、具体设置
以节点编号为3的为例子,进行设置
1、 修改lan ip为172.16.1.13;
2、 添加wifi热点SC-wifi13,之后就可以通过无线连接这个节点,进行以下操作;
3、网络 >>无线,点击“添加”

4、信道为6,ESSID为默认OpenWrt,模式为点对点Ad-Hoc,网络创建一个网络mesh,最后点击“保存和应用”,设置效果如下

5、 点击 网络 >>接口,进入到MESH接口设置,协议选择静态地址,ip地址为172.16.2.13,子网掩码为255.255.255,保存和应用,效果如下

6、 防火墙新建一个mesh防火墙,设置如下

7、 进入 服务 >>OLSR IPv4
在接口处选择mesh,效果如下

8、 进入 服务 >>OLSR IPv4 >>Plugins,启用olsrd_jsoninfo.so.0.0,设置如下

四、其他设置
1、其他两个节点也类似的设置,注意lan iP不同,Ad-Hoc的wlan IP要设置在同一网段,三个节点的信道要在同一信道,否则组网无法成功。
2、查看组网状态
进入 状态 >>OLSR >>OLSR-Viz

此时可以相互ping通。
五、更多设置
1、 让电脑也加入这个mesh网络
(1)这时要开启某个多点中继站MPR(MultipointRelay)节点的DHCP服务,例如开启172.16.2.11的DHCP服务,设置:在 网络 >>接口 >>MESH接口 开启DHCP服务。
(2)电脑选择OpenWrt无线信号,进行连接

(3)此时,电脑可以ping通这个网络中的所有节点可以相互ping通,但是在OLSR-Viz中只显示MPR的网络拓扑图。
此时,电脑的浏览器可以都可以登陆到这三个路由的管理界面,输入ip如下表
|
节点 |
输入ip |
|
1 |
172.16.2.11 |
|
2 |
172.16.2.12 |
|
3 |
172.16.2.13 |
2、 让所有节点都可以上网
(1)开启DHCP的MPR要配置能连接外网,可以直接WAN口连接网线,也可以增加无线为客户端模式。
(2)电脑加入这个mesh网络,过一阵子就可以上外网了。
(3)其他节点的配置
A、进入 网络 >>接口 >>mesh接口
填写网关设置172.16.2.11
此时就可以上外网了,但dns有问题。
B、继续配置dns,填入 114.114.114.114,就可以正常上网了。
设置效果如下

参考:
基于OLSR路由协议的Wireless Mesh Network实验设计_中国论文网
OLSR on OpenWrt - Ubiquiti Wiki
原文:
https://www.cnblogs.com/smbx-ztbz/p/4478862.html
【转】基于OLSR路由协议实现Ad-Hoc组网的更多相关文章
- 基于OLSR的路由协议实现Ad-Hoc组网
一.软件包的安装 1. olsrd软件包的安装 libpthread_0.9.33.2-1_ar71xx.ipk olsrd_0.6.6.2-4_ar71xx.ipk 2. luci的安装 olsrd ...
- OFDM、FTTx、SCTP、Ad Hoc、WSN术语简介
上课提到一些术语,下来查了一下,总结在这里. OFDM: OFDM(Orthogonal Frequency Division Multiplexing)即正交频分复用技术,实际上OFDM是MCM(M ...
- 即席查询(Ad Hoc)如何做到又快又稳?
数字化与数字生态建设,是当前所有企业成长发展的必经之路.随着"加强新型基础设施建设"第一次被写入政府工作报告,5G.人工智能.工业互联网.智慧城市等新型基建彻底激发了数字的价值. ...
- SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问
delphi ado 跨数据库访问 语句如下 ' and db = '帐套1' 报错内容是:SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATE ...
- Ad hoc sql
SQL Server如何启用Ad Hoc Distributed Queries? 2011-08-11 14:53 wangdingbang CSDN博客 字号:T | T 本文主要介绍了SQL ...
- SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问
消息 15281,级别 16,状态 1,第 2 行SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/Open ...
- XE7 & IOS开发之开发账号(3):证书、AppID、设备、授权profile的申请使用,附Debug真机调试、Ad hoc下iPA文件生成演示(XCode5或以上版本推荐,有图有真相)
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,以下讨论都是以&q ...
- XE7 & IOS开发之开发账号(2):发布证书、发布授权profile的申请使用,附Ad hoc真机调试、生成ipa文件演示(XCode所有版本通用,有图有真相)
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,以下讨论都是以&q ...
- 启用与关闭 Ad Hoc Distributed Queries
在数据库里执行以下脚本: 启用: exec sp_configure 'show advanced options',1reconfigureexec sp_configure 'Ad Hoc Dis ...
随机推荐
- Java中将字符串转为驼峰格式
本文不再更新,可能存在内容过时的情况,实时更新请移步我的新博客:Java中将字符串转为驼峰格式: 使用CaseUtils 对Java字符串进行转换为驼峰格式: CaseUtils.toCamelCas ...
- ROS urdf和xacro文件详解
视觉标签:visual <visual> <origin xyz="0.0 0.0 0.0" /> <geometry> <box siz ...
- PAT甲级——A1048 Find Coins
Eva loves to collect coins from all over the universe, including some other planets like Mars. One d ...
- 转载 Python 安装setuptools和pip工具操作方法(必看)
本文章转载自 脚本之家 http://www.jb51.net 感谢! setuptools模块和pip模块是python进行第三方库扩展的极重要工具,例如我们在需要安装一些爬虫或者数据分析的包时就 ...
- DLL编程总结
进行DLL的编程主要涉及到两个方面的问题,一个是要保证DLL中要导出的函数名不被编译器不可控地更改(在C++中由于重载机制的存在,会造成程序被编译时函数名被改变),其实就是要保证DLL导出的函数名与使 ...
- sql删除重复的记录保留一条
delete from A_TO_NOW where yuan_name in (select yuan_name from A_TO_NOW group by yuan_name hav ...
- nodejs+express 初学(二)
开发首先要先选一个适合的IDE,经过上网查找最后还是决定用Webstorm,因为比较好用 1.我下载的版本是 2.然后就是新创建一个nodejs项目了 3.确定后就会在项目中生成新的项目,结构如下 目 ...
- PHP jpgraph的一点小提示和方法
PHP默认是不启用GD库的,因为需要在php.ini的配置文件中将extension=php_gd2.dll注释打开.打开后你就可以画一些你想画的各种奇葩图案了.什么?不会画?那回去学基础! 今天看了 ...
- Javascript-循环输出菱形,并可菱形自定义大小
var Cen = 6;//定义菱形中部为第几行(起始值为0) //for循环输出菱形 document.write("<button onclick='xh()'>点我for循 ...
- 【html、CSS、javascript-10】jquery-操作元素(属性CSS和文档处理)
一.获得内容及属性 三个简单实用的用于 DOM 操作的 jQuery 方法: text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括 HTML 标记) val ...