# 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
Last Updated: 2/3/2024, 3:26:33 PM