# OpenWRT开发记录
项目需要在OpenWRT上开发,相关技术记录如下
# 根据mac白名单上网
需要根据mac控制转发流量,只允许白名单mac地址转发上网,还要允许非白名单mac用户连接内网。
经过研究发现可以通过iptables进行转发控制,在forwarding_rule链上增加策略,接口为br-lan
#允许源地址为02:D4:C7:11:DA:25的流量在br-lan进行转发
iptables -A forwarding_rule -i br-lan -m mac --mac-source 02:D4:C7:11:DA:25 -j ACCEPT
#拒绝其他流量
iptables -A forwarding_rule -i br-lan -j reject
将规则写入/etc/firewall.user
重启防火墙
/ect/init.d/firewall restart
# 制作自启动服务
开发好程序后,需要做成自启动服务,OpenWRT自启动服务在/ect/init.d/
目录,需要按照指定格式创建脚本,系统启动时会启动该服务
创建脚本文件
vim /etc/init.d/helloworld
内容如下
#!/bin/sh /etc/rc.common
#运行顺序等级,等级越高执行顺序越早,没特殊要求一般为99
START=99
start(){
#运行程序
echo "service start"
}
stop(){
#停止程序
echo "service stop"
}
restart(){
#重启程序
echo "service restart"
}
增加权限
chmod +x /etc/init.d/helloworld
启用
/etc/init.d/helloworld enable
运行
/etc/init.d/helloworld start