近期OpenWRT官方对dnsmasq进行了更新,增加了cache-rr
功能,允许根据所需解析类型进行缓存。同时加入了filter-rr
功能以屏蔽特定解析记录,比如屏蔽HTTPS记录。
然而此次更新未能保持兼容性,今天编译Openwrt固件后发现无法科学上网,主要表现为访问境外网站提示证书错误、您的连接不是私密连接等。经多次nslookup google.com 127.0.0.1
进行检查,homeproxy返回ip正常,smartdns返回ip正常,唯独到了dnsmasq的53端口返回污染ip。看来问题主要出在dnsmasq中。
查看了近期dnsmasq的更新记录20241020,发现这次更新将自定义配置的路径做了修改,/etc/init.d/dnsmasq 将以前指定的路径由/tmp/dnsmasq.d
改为了/tmp/dnsmasq${cfg:+.$cfg}.d
,而目前ssrp、homeproxy等都是默认的原来地自定义配置址。因此修改方法也很简单,只需再/etc/init.d/dnsmasq 1149 行处删除${cfg:+.$cfg}
后重启即可,也可以用下列命令修改:
sed -i 's/${cfg:+.$cfg}//' /etc/init.d/dnsmasq /etc/init.d/dnsmasq restart
修改后,翻墙功能将恢复正常。现在不知道以后是国内路由器科学上网插件作者修改自己的源码还是Openwrt官方对路径进行修改。
加入的filter-rr
这个功能还是不错的,可以屏蔽一些解析记录,比如可以解决sing-box等和SOA 65 HTTPS记录解析不兼容导致卡路由器的问题。
技术不断升级,请注意文章时效性。
本站文章,欢迎转发。转载请注明出处:https://www.bandwh.com/net/1855.html
评论列表(2条)
好奇爲什麼官方要加 {cfg:+.$cfg} 這樣的後綴呢?
@Charles Wong:不太清楚,不过各代理应用都已经修改源码了,现在无需这个操作了。