新版的 openwrt 默认改用 nftables 防火墙,原来的 ipset + iptables 科学转发
的套路不能用了。说一下新的套路。
首先是 dnsmasq 从 2.87 开始增加了一个 nftset 的选项,现在还是测试版,
需要修改 package/network/services/dnsmasq/Makefile 文件,
1、把 PKG_UPSTREAM_VERSION PKG_SOURCE_URL PKG_HASH 这三项做相应修改
2、给 DEPENDS 加上 +nftables-json
3、给 COPTS 加上 -DHAVE_NFTSET
然后在 /etc/nftables.d/ 目录下增加一个文件,加入集合和转发链
set scilist4 {
type ipv4_addr;
}
chain scilist4-redirct {
type nat hook prerouting priority 0; policy accept;
ip daddr @scilist4 ip protocol tcp redirect to :1234
}
最后是修改 dnsmasq.d 目录下的科学域名列表,把 ipset 格式改成 nftset 格式
nftset=/sci-domains.com/4#inet#fw4#scilist4
设置完成。以上是 ipv4 的设置,如果有 ipv6 的路径,做相应的修改即可。
--
修改:Quanm FROM 58.48.87.*
FROM 58.48.87.*