Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MosDNS作为ROS上游,但是ROS的DNS缓存会出现TTL几十秒后过期,并且ROS的DNS缓存记录会出现正常域名被解析到0.0.0.0 #138

Open
gebilaozhaodezhaijidi opened this issue Nov 12, 2022 · 5 comments

Comments

@gebilaozhaodezhaijidi
Copy link

gebilaozhaodezhaijidi commented Nov 12, 2022

希望大佬在日理万机的生活中,挤出一点时间帮忙分析一下问题出现在哪里。

#网络架构:
主路由是ROS,旁路由固件是lean大源码并且加入的此项目的源码所编译的固件,MosDNS在OpenWrt中作为国内外DNS分流并且重定向到5335,国内通过修改library.sh内上游地址为127.0.0.1:5336,5336服务是AdGuard Home,作为国内DNS请求服务器,远程DNS为默认的8.8.4.4,并且ssr插件强制代理。

#问题现象:
如果ROS的DNS地址填写为OpenWrt地址,ROS的DNS缓存列表就会出现大量正常网站的TTL几十秒后过期,并且缓存记录会出现正常域名被解析到0.0.0.0,并非广告域名,有些网站第一次被正确解析,第二次或者换浏览器访问同一网站就会提示DNS错误,如果ROS设置劫持DNS请求并转发到OP或者PC机DNS直接填写OP,就不会出现上述现象。

#排查过程:
排查发现,如果禁用def_config_orig.yaml内qtype65相关插件,可以解决第二次请求打不开网页的问题,但是TTL几十秒后过期及正常域名被解析到0.0.0.0,并没有的到解决

WechatIMG129

屏幕快照 2022-11-12 下午6 29 35

@jcxq520
Copy link

jcxq520 commented Feb 28, 2023

我也遇见这个问题,中间再套个smartdns才行:ros-smartdns-mosdns就解决了0.0.0.0

@daiaji
Copy link
Contributor

daiaji commented Mar 19, 2024

现在故障应该修复了吧,毕竟mosdns都大版本更新了。

@lengfwong
Copy link

现在故障应该修复了吧,毕竟mosdns都大版本更新了。

我以前这几天刚改成ROS Dns指向openwrt的MOSDNS,也出现正常网站解析0.0.0.0的现象。

@daiaji
Copy link
Contributor

daiaji commented Apr 1, 2024

现在故障应该修复了吧,毕竟mosdns都大版本更新了。

我以前这几天刚改成ROS Dns指向openwrt的MOSDNS,也出现正常网站解析0.0.0.0的现象。

可能是DNS解析本身被干扰了,这个我真没遇到过。

@lengfwong
Copy link

lengfwong commented Apr 1, 2024

抓了个包看了看,也发现了qtype 65的问题。
image
上网查了查,说是这种 qtype 65 HTTPS DNS查询是Apple 的IOS和Chrome浏览器会使用的加密DNS查询,Mosdns应该不支持。我用Mosdns自定义配置中这一段

- tag: query_is_reject_domain
    type: sequence
    args:
      - matches: qname $blocklist
        exec: reject 3
      - matches: qname $adlist
        exec: reject 3
      - matches:
        - qtype 12
        - qname $local_ptr
        exec: reject 3
      - matches: qtype 65
        exec: reject 3

调到查询域名sequence的前面,再看Ros 中DNS cache没有域名解析成0.0.0.0了,不知道你的管用不。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants