本文主要功能主要是利用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查看结果如下:

   OpenWRT UCI命令实现无线中继-LMLPHP

   根据以上可以看到无线wlan0已经连接到了我的上级路由(eSo),并且分配到的IP为192.168.3.13。

   接下来测试本地AP连接情况:(使用计算机连接本地无线AP(RT5350))

   OpenWRT UCI命令实现无线中继-LMLPHP

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

  OpenWRT UCI命令实现无线中继-LMLPHP

  此时如果上级路由eSo有网的话,当前连接的RT5350也会连上Internet.

  下面是ping 百度结果:

  OpenWRT UCI命令实现无线中继-LMLPHP

  至此,无线中继配置全部完成。

11)    下面是我的/etc/config/目录下面配置文件的结果,以前配置不成功的话可以参考直接利用vim 编辑器修改配置文件就可以。(呵呵,怎么快怎么来...)

   network配置文件如下:

   OpenWRT UCI命令实现无线中继-LMLPHP

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

    OpenWRT UCI命令实现无线中继-LMLPHP

   dhcp配置文件:

   OpenWRT UCI命令实现无线中继-LMLPHP

   wireless配置文件:

   OpenWRT UCI命令实现无线中继-LMLPHP

   ok,敲完,收工...

05-11 13:11