OpenWRT UCI命令实现无线中继
本文主要功能主要是利用OpenWRT系统uci命令实现无线中继,主要是利用uci程序修改/etc/congfig/目录下的配置文件。实现步骤如下主要分为以下几步:
1) 安装 relayd (opkg安装或者make menuconfig里加载)
opkg update
opkg install relayd
/etc/init.d/relayd enable
2) 开启系统wifi功能
uci set wireless.@wifi-device[0].disabled=0 //开启wifi
uci commit wireless //写入配置到config文件
wifi //wifi重启
3) 创建 wwan 网络接口
uci set network.wwan=interface //network中添加wwan接口
uci set network.wwan.proto=dhcp //开启dhcp服务
uci commit network //写入该配置到配置文件
4) 连接上级路由节点 (我的上级路由ssid:"eSo")
uci set wireless.radio0.channel=11 //改变信道,此配置可省略
uci set wireless.@wifi-iface[0].network=wwan //设置wwan网络接口
uci set wireless.@wifi-iface[0].mode=sta //设置station客户端模式
uci set wireless.@wifi-iface[0].ssid=eSo //需要连接的无线ssid
uci set wireless.@wifi-iface[0].encryption=psk2 //加密方式PSK2
uci set wireless.@wifi-iface[0].key=20130828 //需要连接的ssid 密码
uci commit wireless //写入配置到文件
wifi down //关闭wifi
wifi //启动wifi
5) 设置lan口IP段,设置网关
uci set network.lan.ipaddr=192.168.10.1 //设置本地路由ip,避免与上级路由冲突
uci set network.lan.gateway=192.168.3.1 //设置网关为上上级路由网关
uci set network.lan.dns=8.8.8.8 //设置dns
uci commit network //写入配置到文件
wifi down //关闭wifi
wifi //启动wifi
6) 开启本地DHCP服务器
uci set dhcp.lan.ignore="0" //关闭禁用
uci set dhcp.lan.ra_management="1" //设置
uci commit dhcp //写入配置
7) 防火墙修改
uci set firwall.@zone[0].forward=ACCEPT //访问
uci set firwall.@zone[0].network="lan" //lan
uci set firwall.@zone[1].forward=ACCEPT //访问
uci set firwall.@zone[1].network="wan wwan" //wan wwan接口桥接
8) 创建AP服务端
uci add wireless wifi-iface //创建ap接口
uci set wireless.@wifi-iface[1].device=radio0 //选择radion0设备
uci set wireless.@wifi-iface[1].network=lan //lan口
uci set wireless.@wifi-iface[1].mode=ap // AP模式
uci set wireless.@wifi-iface[1].ssid=RT5350 //AP ssid
uci set wireless.@wifi-iface[1].encryption=psk2 //加密方式
uci set wireless.@wifi-iface[1].key=12345678 //无线密码
uci commit wireless //写入配置
9) 网络重启,使中继生效
/etc/init.d/dnsmasq restart //网络服务重启
/etc/init.d/firewall restart //防火墙重启
wifi down //关闭wifi
wifi //开启wifi
10) 测试
在完成以上配置命令后,系统将会自动连接至指定的无线节点(我的上级路由是eSo),并放出本地AP(RT5350)。
ifconfig查看结果如下:

根据以上可以看到无线wlan0已经连接到了我的上级路由(eSo),并且分配到的IP为192.168.3.13。
接下来测试本地AP连接情况:(使用计算机连接本地无线AP(RT5350))

连接后,电脑分到的IP为:192.168.10.157

此时如果上级路由eSo有网的话,当前连接的RT5350也会连上Internet.
下面是ping 百度结果:

至此,无线中继配置全部完成。
11) 下面是我的/etc/config/目录下面配置文件的结果,以前配置不成功的话可以参考直接利用vim 编辑器修改配置文件就可以。(呵呵,怎么快怎么来...)
network配置文件如下:

firwall配置文件:(只需要关注lan 和 wan 两个端口的配置,即zone[0] 、zone[1])

dhcp配置文件:

wireless配置文件:

ok,敲完,收工...
OpenWRT UCI命令实现无线中继的更多相关文章
- Openwrt无线中继设置并访问外网
Openwrt无线中继设置并访问外网 本篇博文参考来自:http://blog.csdn.net/pifangsione/article/details/13162023 配置目标 主路由器使用AP模 ...
- openwrt 无线中继
参考: https://wiki.openwrt.org/doc/recipes/relayclient 该方法可以实现中继AP,而不需要AP(WDS)模式.中继后,相当于该路由所有的LAN口以及AP ...
- Android手机做无线中继路由器
为什么要拿手机做路由器?因为我现在每天要带着一个火柴盒大小的路由器(703n).它提供了一个f了q的无线网络,电脑,手机,平板等设备连接上这个无线网络之后之后就可以自由上twitter,看youtub ...
- 提升网速的路由器优化方法(UPnP、QoS、MTU、交换机模式、无线中继)
在上一篇<为什么房间的 Wi-Fi 信号这么差>中,猫哥从微波炉.相对论.人存原理出发,介绍了影响 Wi-Fi 信号强弱的几大因素,接下来猫哥再给大家介绍几种不用升级带宽套餐也能提升网速的 ...
- openwrt uci
UCI: Unified Configuration Interface 通用配置接口,主要用于集中控制openwrt的配置文件. 1.uci使用的配置文件一般放置在设备上的/etc/config目录 ...
- 【转载】OpenWrt sysupgrade 命令行更新固件到最新版
OpenWrt sysupgrade 命令行更新固件到最新版 下面我们要使用 sysupgrade 更新固件到trunk最新版. 要注意的是,trunk包含试验的功能,可能不稳定,刷机风险自己承担. ...
- 路由器桥接(WIFI无线中继)设置及摆放位置图解
路由器桥接(WIFI无线中继)设置及摆放位置图解 WIFI实在好用,但它的波覆盖面小.穿透力很差.我们安装时要考虑波的衍射特点,装在衍射效果最佳的位置(居中,室外可绕,避开密封墙).确实无法兼顾的地方 ...
- openwrt无线中继教程
1.设置自己路由lan口的IP地址,网段不能跟上级路由的一样. 2.在无线标签下点击"扫描网络". 3.在新出现的界面中,会列出你附近的无线网络.点击你需要中继的网络右边的&quo ...
- 1 Openwrt无线中继设置并访问外网
https://www.cnblogs.com/wsine/p/5238465.html 配置目标 主路由器使用AP模式发射Wifi 从路由器使用Client模式接受Wifi 从路由器使用Master ...
随机推荐
- 201521123079《Java程序设计》第2周学习总结
1. 本周学习总结 学会String类和StringBuilder类的一些用法. 学会使用码云管理代码,会将码云上的代码和本地仓库关联 2. 书面作业 Q1.使用Eclipse关联jdk源代码,并查看 ...
- 201521123025 《Java程序设计》第1周学习总结
1. 本章学习总结 (1)对JAVA的历史有了初步了解 (2)学会安装JDK和设置JAVA_HOME,PATH,CLASSPATH环境变量 (3)范围:JDK>JRE>JVM 2. 书面作 ...
- java课设-计算数学表达式的程序,201521123050,肖世松,个人
1.团队课程设计博客链接 http://www.cnblogs.com/xss666/p/7063780.html 2.个人负责模块或任务说明 个人负责:计算器外观,左容器CalPanelL p1: ...
- Junit4学习(三)Junit运行流程
一,验证Junit测试方法的流程 1,在test/com.duo.util右键,新建测试类 2,生成后的代码: package com.duo.util; import static org.juni ...
- 三分钟深入TT猫之故障转移
结束了一周繁忙的工作,趁着周末,小编手中的键盘早已饥渴难耐了,想知道上期省略号中发生了什么有趣的故事么?且听小编娓娓道来,结尾有彩蛋. 目录 风月前场 梦回现实 模拟老鸨 会话机制 故障转移 总结 风 ...
- 【Spring源码深度解析系列 】Spring整体架构
一.Spring的整体架构和模块 二.模块分类: 1.Core Container Core Container包含有Core .Beans.Context.和Expression Language ...
- Spring-mvc配置“/”路径过滤问题
首先大家都知道"/*"可以匹配所有url,包括带扩展名的,一般只用在过滤器上. 一般Spring-mvc的核心 <servlet> <servlet-name&g ...
- 安装Appium
1.Appium官方网站:http://appium.io/ 拉到页面底端显示下面一段描述: > brew install node # get node.js > npm install ...
- ThinkPHP中:使用递归写node_merge()函数
需求描述: 现有一个节点集合 可以视为一个二维数组 array(5) { [0] => array(4) { ["id"] => string(1) "1&q ...
- 用es6的class关键字定义一个类
es6新增class关键字使用方法详解. 通过class关键字,可以定义类.基本上,ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对象原型的写法 ...