Configuring Shadowsocks rules with nftset in OpenWRT 23

Configuring Shadowsocks rules with nftset in OpenWRT 23

💡 原文中文,约2100字,阅读约需5分钟。
📝

内容提要

本文介绍了在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等服务。

🏷️

标签

➡️

继续阅读