上篇文章将了如何用uci命令实现中继。现在做个总结。直接写成脚本。
#!/bin/ash
#开启WIFI功能,OpenWrt默认没启用WIFI
uci set wireless.@wifi-device[0].disabled=0
uci commit wireless
wifi
#创建wwan接口
uci set network.wwan=interface
uci set network.wwan.proto=dhcp
uci commit network
#连接上级路由,我的上级路由是WR720N,OpenWrt系统
#uci set wireless.radio0.channel=11 #与上级路由使用同样的通道。可以不管
uci set wireless.@wifi-iface[0].network=wwan
uci set wireless.@wifi-iface[0].mode=sta
# 上级路由SSID
uci set wireless.@wifi-iface[0].ssid=goldsunny1
# 上级路由加密方式
uci set wireless.@wifi-iface[0].encryption=psk2
# 上级路由密码
uci set wireless.@wifi-iface[0].key=goldsunny2014
uci commit wireless
wifi down
wifi
#ifconfig查看wlan0是否连接成功,成功后还不能上网需要设置一下网关与DNS
#uci set network.lan.ipaddr=192.168.2.1
# 修改本路由的IP,避免与上级路由冲突
#uci set network.lan.gateway=192.168.1.1
# 上级路由网关
#uci set network.lan.dns=8.8.8.8
# 不要使用上级路由IP
#uci commit network
#wifi down
#wifi
#创建无线中继,通过无线接入MR10U上网
#添加 接口
#uci add /etc/config/wireless wifi-iface
#uci set wireless.@wifi-iface[1].device=radio0
uci set wireless.@wifi-iface[1].device=radio0 >/dev/null
if [ $? -eq 0 ];then
echo uci set wireless.@wifi-iface[1].device=radio0 is okey!
else
uci add /etc/config/wireless wifi-iface
uci set wireless.@wifi-iface[1].device=radio0
fi
uci set wireless.@wifi-iface[1].network=lan
uci set wireless.@wifi-iface[1].mode=ap
uci set wireless.@wifi-iface[1].ssid=Openwrt-Faker
uci set wireless.@wifi-iface[1].encryption=psk2
uci set wireless.@wifi-iface[1].key=12345678
uci commit wireless
/etc/init.d/dnsmasq restart
/etc/init.d/firewall restart
wifi down
wifi
#创建stabridge接口
uci set network.stabridge=interface
uci set network.stabridge.network="lan wwan"
uci commit network
#调整防火墙
uci set firewall.@zone[0].forward=ACCEPT
uci set firewall.@zone[0].network="lan wwan"
uci set firewall.@zone[0].input=ACCEPT
uci set firewall.@zone[0].output=ACCEPT
uci set firewall.@zone[0].masq=1
uci set firewall.@zone[0].mtu_fix=1
uci commit firewall
#重启网络:
/etc/init.d/network restart