内容提要
本文介绍了在Openwrt 23中使用dnsmasq-full/nftset/nftables为shadowsocks redir创建基于gfwlist的规则,并添加Telegram的IP段和转发规则。同时,还介绍了手动配置和创建部署脚本的方法,以及使用住宅IP访问ChatGPT等服务的场景。
关键要点
-
在 Openwrt 23 中,默认防火墙是 fw4,使用 nftables 对应的 nftset。
-
使用 dnsmasq-full/nftset/nftables 为 shadowsocks redir 创建基于 gfwlist 的规则。
-
编辑 /etc/nftables.d/gfwlist.nft,设置 nftset 的初始配置,加入 Telegram 的 IP 段和转发规则。
-
重启防火墙以应用配置。
-
手动配置可以临时将 IP 加入或移出 gfwlist。
-
切换到 dnsmasq-full 并创建 dnsmasq 配置文件。
-
创建部署脚本 deploy-dnsmasq-conf.sh 以自动复制配置文件并重启 dnsmasq。
-
将 gfwlist 转化为 dnsmasq 配置文件的脚本 gfwlist2dnsmasq.sh 只支持 ipset,需要进行编辑。
-
编辑 /etc/rc.local 以自动更新 gfwlist 配置。
-
添加 crontab 任务以定期更新 gfwlist 配置。
-
本文内容选择翻墙场景,另一个有用场合是使用住宅 IP 访问 ChatGPT 等服务。
延伸问答
如何在OpenWRT 23中配置Shadowsocks的gfwlist规则?
可以通过编辑/etc/nftables.d/gfwlist.nft文件,设置nftset的初始配置,并加入Telegram的IP段和转发规则。
在OpenWRT中如何重启防火墙以应用新配置?
使用命令service firewall restart来重启防火墙。
如何手动添加或移除gfwlist中的IP?
可以使用命令nft add element inet fw4 gfwlist { IP地址 }添加,使用nft delete element inet fw4 gfwlist { IP地址 }移除。
如何将gfwlist转换为dnsmasq配置文件?
需要编辑gfwlist2dnsmasq.sh脚本,将其修改为支持nftset,并运行相应的转换命令。
在OpenWRT中如何设置定期更新gfwlist?
可以通过添加crontab任务来定期运行更新gfwlist的脚本,例如:0 0 1 * * ? sh /root/gfwlist/nftset/update-gfwlist-dnsmasq-conf.sh。
使用住宅IP访问ChatGPT的场景如何配置?
可以通过配置Shadowsocks和gfwlist规则,使用住宅IP来访问ChatGPT等服务。