Closed windmsn closed 7 months ago
?
在描述问题,不小心点了comment,等会,,
看你配置,是gfwlist分流?
路由器上使用?mips吗
没网的时候,有去路由器上观察chinadns-ng什么状态没?还在运行?能否正常dig解析域名
目前情况就是若想正常使用chinadns-ng作为主服务,就必须把它的cache给关了
关了cache就正常?
看你配置,是gfwlist分流?
是的。是gfwlist分流,之前以为是使用chinafirst,发现有很多国内的域名解析到国外了。所以就改了一下配置。不匹配gfwlist的都走china了。
路由器上使用?mips吗
是在路由器上使用,是x86的openwrt。
没网的时候,有去路由器上观察chinadns-ng什么状态没?还在运行?能否正常dig解析域名
没网的时候。chinadns-ng是正在运行的。局域网下的设置是能用dig解析域名的,但只局限于dig。其他客户端就表示没网络。
关了cache就正常?
是的。关了就正常。就慢一点。 目前只使用chinadns-ng,并关闭cache,使用一天正常,其他情况关闭chinadns-ng的cache的时候,都是前面套多了一个dnsmasq作为主服务,并启用缓存的
没网的时候。chinadns-ng是正在运行的。局域网下的设置是能用dig解析域名的,但只局限于dig。其他客户端就表示没网络。
就是说,出现“没网的时候”,在其他局域网机器上,可以用dig正常解析,但是常规app就是提示没网?
没网的时候。chinadns-ng是正在运行的。局域网下的设置是能用dig解析域名的,但只局限于dig。其他客户端就表示没网络。
就是说,出现“没网的时候”,在其他局域网机器上,可以用dig正常解析,但是常规app就是提示没网?
是的。是的。但是我dig的都只是一些常规的域名。。例如什么www.qq.com www.baidu.com www.163.com等
在这种“没网”的情况下,是否试过使用curl、wget测试?能否访问 baidu、google、youtube 之类的(模拟正常解析dns)
有没有测过在这种情况下,使用curl、wget测试?能否访问 baidu、google、youtube 之类的(模拟正常解析dns)
是有的。我常用wget。是可以解析的。也能直接wget到他们的index.html的。dns感觉运行是正常的。
你说的wget测试,在什么机器上进行?openwrt路由器上?还是其他局域网机器上?都ok吗?
你说的wget测试,在什么机器上进行?openwrt路由器上?还是其他局域网机器上?都ok吗?
路由器上和局域网下都是ok的。局域网里有2台linux设备。
那就奇了怪了,出现你说的“无网络”症状时:
手机上获取的网关和dns都是指向这台openwrt路由器吗?
这个透明代理用的是什么插件?这里可能会有问题吗?
那就奇了怪了,出现你说的“无网络”症状时:
- 使用wget、dig可以正常解析dns、访问网站
- 但是手机上就提示没网络,无法访问
手机上获取的网关和dns都是指向这台openwrt路由器吗?
这个透明代理用的是什么插件?这里可能会有问题吗?
手机上提示没网络。主要集中于高频app。(微信,抖音,头条等)
路由器上,是做了dns 53端口胁持的。所有局域网内设置的dns查询都是被REDIRECT到路由器的53端口的。
透明代理用的是ssrplus。但是国内流量。都是直连的。。而且大半个ssrplus我自己重写过了。iptables上我试过把ssrplus的规则删除。情况依旧。透明代理插件应该没问题。
现在主要的区别就是cache与非cache的区别。。。
手机没网的时候,能把那个时间段chinadns-ng日志发出来吗(开一下verbose日志)
我有与你类似的使用场景,也是透明代理,chinadns-ng作为唯一的dns服务器,但不是openwrt,而是在树莓派上。
开了缓存等功能,也在上面持续跑了快半个月了,最长持续运行时间(未重启)应该有5天左右,没有你说的问题。
需要一些更详细的信息,才能分析(主要是我没法重现):
我有与你类似的使用场景,也是透明代理,chinadns-ng作为唯一的dns服务器,但不是openwrt,而是在树莓派上。
开了缓存等功能,也在上面持续跑了快半个月了,最长持续运行时间(未重启)应该有5天左右,没有你说的问题。
需要一些更详细的信息,才能分析(主要是我没法重现):
- 出现“无网络”问题时的dns verbose log
- 当时的进程运行情况,cpu占用,内存占用
- dig测试、wget测试时的dns verbose log
稍等。我写个脚本捕获一下日志。
记得把cache开启。配置带上verbose行,启用详细日志
dhcp还需要dnamasq呢。是不是dhcp没了
dhcp还需要dnamasq呢。是不是dhcp没了
不是的dnsmasq没关,只是监听端口改为了0,chinadns-ng监听53而已。
可以考虑用mosdns运行一段时间看看有没有问题。
可以考虑用mosdns运行一段时间看看有没有问题。
那倒不必。只要前面再套上dnsmasq,打开缓存。关掉chinadns-ng的cache
dnsmasq(监听53)->chinadns-ng(监听5354)->各种上游
这样是完全没问题的。
现在不想用dnsmasq去解析dns。。是因为chinadns-ng不出问题的时候是真的快。。
看了下 cache 的代码,发现有个地方可能会导致 与某些客户端不兼容。
不确定是否是这个问题导致。
但我觉得就算这个有影响,也不至于无网络,感觉问题根源不是这个。
看了下 cache 的代码,发现有个地方可能会导致 与某些客户端不兼容。
- NODATA 类型的响应(rcode=NOERROR && answer.n=0),我这边误删了 AUTHORITY 节的内容。按照 RFC 规范,这里要保留 SOA 记录的(位于 AUTHORITY 节)。
不确定是否是这个问题导致。
但是我直接dig @223.5.5.5 www.qq.com
或者dig @119.29.29.29 www.qq.com
的时候。返回的reply也不带有AUTHORITY 节的内容。
更何况,影响的是访问高频的域名。微信,抖音,腾讯视频,爱奇艺等这 APP。这些日常使用频率高的app,应该不会存在NODATA的吧。。
晚上9点的时候我添加了一个参数cache-nodata-ttl 0
我不清楚会不会有些偶尔reply会返回空的情况。而缓存进去了。
目前观察中。
下午截了大概3小时的日志,出现无网络情况时。所有的dig,wget,cpu,内存,进程等都是正常的。 dns.tar.gz
下午又出现了“无网络”是吗?
我看下log先
下午又出现了“无网络”是吗?
是的。大概出现在下午5点钟左右,我女放学回来玩手机的时候说,日志上的时间+8小时。
这个log的结束时间点是不是就是出故障的那段时间
看日志没啥问题。。。
但我觉得就算这个有影响,也不至于无网络,感觉问题根源不是这个。
其实这个问题在上一个版本的时候就已经有,更早之前的不清楚。那时候还没用chinadns-ng替代dnsmasq。,当时我还跟你说过以为是tc的问题,也以为是edns返回的包超过512字节的问题,才做了第一版的cache调整。
这个log的结束时间点是不是就是出故障的那段时间
这个log的结束点。。。是被我女儿投诉上不了网后我又把dnsmasq加上去结束chinadns-ng缓存的时候的。 收到我女儿反馈的时候是5点左右。故障出现应该更早。。
看日志没啥问题。。。
日志是看不出问题,dig,wget等都是正常的。当时我让她试了一些其他app〉小红书等,也是能正常使用的。
日志是看不出问题,dig,wget等都是正常的。当时我让她试了一些其他app〉小红书等,也是能正常使用的。
是部分APP无网络,而不是所有都无网络?
那就更奇怪了。
你确定不是路由器哪里设置有问题吗,这看起来不像是DNS导致的。
日志是看不出问题,dig,wget等都是正常的。当时我让她试了一些其他app〉小红书等,也是能正常使用的。
是部分APP无网络,而不是所有都无网络?
那就更奇怪了。
是的,最主要就是微信,因为用得多嘛。一小时看几十次微信。。是最容易发现的。昨天也试了。把缓存关了,就能正常使用的。所以今天一直在调整缓存的参数。
你确定不是路由器哪里设置有问题吗,这看起来不像是DNS导致的。
路由器设置应该没问题吧。。因为只要关了cache。。能正常使用。。
cache从理论上来说,如果会出问题,也是一开始就出问题了,而不是运行几个小时后出问题。毕竟程序都是死的。无论运行多久,cache的逻辑都是相同的。
cache只会影响2个方面:
按理来说要是这里会出问题,刚开始运行就会立马发现。所以我想不通。
我想起一个地方:未命中缓存时的响应内容 与 命中缓存时的响应内容 有一些不同:
我只能怀疑是这个不同 导致某些 resolver 产生奇怪行为。因为我思来想去,与dnsmasq做对比,唯一的区别就在这个地方。
有兴趣的话,我明天给你发个修改版,测试下
修改的内容:
无论是否启用缓存,都把additional节给删了(EDNS信息在这个节,有些dns服务器也会在这个节带上NS记录关联的A/AAAA记录),本质上都没啥作用,不如删了,这样无论是否启用缓存,response都是一样的,唯一的区别就是响应时间的快慢,这下总没有问题了吧。。。
移除这个信息不影响chinadns-ng对query的EDNS bufsize信息的读取,这两操作之间没有关联。也即是说,如果UDP查询端在OPT RR中声明了 bufsize 为 4096,那么chinadns-ng可以理解这个信息,只要response没超过这个size,就不会发送truncated response给查询方。
cache从理论上来说,如果会出问题,也是一开始就出问题了,而不是运行几个小时后出问题。毕竟程序都是死的。无论运行多久,cache的逻辑都是相同的。
cache只会影响2个方面:
- dns解析速度的快慢,这个很好理解。
- 保存cache的reply msg时,对msg进行了裁剪,丢弃了authority/additional节,只留下了answer节,对于常规响应(answer节有内容,即非NODATA响应),这样做是完全没问题的,dnsmasq也是一样的做法。而且这个修改只在add cache时进行一次,之后hit cache都只是简单的返回这个数据,无其他修改(除了TTL递减)。
按理来说要是这里会出问题,刚开始运行就会立马发现。所以我想不通。
我今天也扒了半天cache.zig,CacheMsg.zig,dns.zig的代码。。因为zig不太懂,平时主要肝java和python,所以看得有点吃力。 有些也只能猜。。 目前我有这几方面的猜想:
dns服务器返回数据时会不会有出错的情况(有这个猜想是因为运营商基本是把dns给劫持了)。概率不知道高不高,如果存在这种情况又把信息给缓存了,dnsmasq又是如何处理的。所以晚上添加了
cache-nodata-ttl 0
测试,有时候dig dnsmasq的时候,需要dig好几次才能Query time: 0 msec
说明缓存命中。我观察了一下,下午的d.log缓存,大概1小时就add cache 就达到了10000条了。10000条里面有8000条的TTL是30-200,大概有1000条的TTL是400-600,对于高频的域名解析,TTL时间短的,应该是一个不断add cache的过程。这个过程会不会有问题,这主要是联想到高频访问题30-60分钟就会出故障而时间又刚好跟这个有交集。
修改的内容:
无论是否启用缓存,都把additional节给删了(EDNS信息在这个节,有些dns服务器也会在这个节带上NS记录关联的A/AAAA记> 录),本质上都没啥作用,不如删了,这样无论是否启用缓存,response都是一样的,唯一的区别就是响应时间的快慢,这下总没> 有问题了吧。。。
移除这个信息不影响chinadns-ng对query的EDNS bufsize信息的读取,这两操作之间没有关联。也即是说,如果UDP查询端在> OPT RR中声明了 bufsize 为 4096,那么chinadns-ng可以理解这个信息,只要response没超过这个size,就不会发送truncated > response给查询方。
这个可以有。明天有包测试打一个试试。还是一样两个架构
ChinaDNS-NG 2024.04.13 | target:x86_64-linux-musl | cpu:x86_64_v3 | mode:fast+lto
ChinaDNS-NG 2024.04.13 | target:mipsel-linux-musl | cpu:mips32r5 | mode:fast+lto
我今晚添加的cache-nodata-ttl 0
明天也可以一同汇报
我想起一个地方:未命中缓存时的响应内容 与 命中缓存时的响应内容 有一些不同:
- 未命中缓存时的响应,带了EDNS信息给客户端(也就是OPT RR),当然前提是客户端发了EDNS信息过来
- 命中缓存时的响应,因为add cache时被修剪了,所以只有answer节,没有EDNS那些信息
我只能怀疑是这个不同 导致某些 resolver 产生奇怪行为。因为我思来想去,与dnsmasq做对比,唯一的区别就在这个地方。
有兴趣的话,我明天给你发个修改版,测试下
修改的内容:
无论是否启用缓存,都把additional节给删了(EDNS信息在这个节,有些dns服务器也会在这个节带上NS记录关联的A/AAAA记录),本质上都没啥作用,不如删了,这样无论是否启用缓存,response都是一样的,唯一的区别就是响应时间的快慢,这下总没有问题了吧。。。
移除这个信息不影响chinadns-ng对query的EDNS bufsize信息的读取,这两操作之间没有关联。也即是说,如果UDP查询端在OPT RR中声明了 bufsize 为 4096,那么chinadns-ng可以理解这个信息,只要response没超过这个size,就不会发送truncated response给查询方。
我发现,dnsmasq,在缓存前缓存后是有不同的 不知道他是否为了兼容性?
缓存前
[root@ManTou:/root]#dig @127.0.0.1 -p53 www.qq.com
; <<>> DiG 9.9.9-P3 <<>> @127.0.0.1 -p53 www.qq.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64538
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 3, ADDITIONAL: 13
;; QUESTION SECTION:
;www.qq.com. IN A
;; ANSWER SECTION:
www.qq.com. 223 IN CNAME ins-r23tsuuf.ias.tencent-cloud.net.
ins-r23tsuuf.ias.tencent-cloud.net. 116 IN A 112.53.42.52
ins-r23tsuuf.ias.tencent-cloud.net. 116 IN A 112.53.42.114
;; AUTHORITY SECTION:
tencent-cloud.net. 137794 IN NS ns-open2.qq.com.
tencent-cloud.net. 137794 IN NS ns-open1.qq.com.
tencent-cloud.net. 137794 IN NS ns-open3.qq.com.
;; ADDITIONAL SECTION:
ns-open1.qq.com. 6605 IN A 203.205.236.176
ns-open1.qq.com. 6605 IN A 59.36.132.139
ns-open1.qq.com. 6605 IN A 117.135.174.196
ns-open2.qq.com. 1931 IN A 182.254.59.163
ns-open2.qq.com. 1931 IN A 203.205.195.63
ns-open2.qq.com. 1931 IN A 203.205.195.122
ns-open2.qq.com. 1931 IN A 61.241.27.10
ns-open3.qq.com. 481 IN A 101.227.161.202
ns-open3.qq.com. 481 IN A 121.51.167.100
ns-open3.qq.com. 481 IN A 140.207.180.51
ns-open3.qq.com. 481 IN A 203.205.220.25
ns-open3.qq.com. 481 IN A 218.68.91.163
ns-open2.qq.com. 2590 IN AAAA 240e:e1:aa00:2001::3
;; Query time: 7 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Apr 20 09:47:49 CST 2024
;; MSG SIZE rcvd: 397
缓存后:
[root@ManTou:/root]#dig @127.0.0.1 -p53 www.qq.com
; <<>> DiG 9.9.9-P3 <<>> @127.0.0.1 -p53 www.qq.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32265
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;www.qq.com. IN A
;; ANSWER SECTION:
www.qq.com. 210 IN CNAME ins-r23tsuuf.ias.tencent-cloud.net.
ins-r23tsuuf.ias.tencent-cloud.net. 103 IN A 112.53.42.114
ins-r23tsuuf.ias.tencent-cloud.net. 103 IN A 112.53.42.52
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Apr 20 09:48:02 CST 2024
;; MSG SIZE rcvd: 119
仔细观察,当dig一些大厂的dns(223.5.5.5,119.29.29.29)时,他们所返回的,全是带有EDNS的opt以及去掉AUTHORITY SECTION和ADDITIONAL的reply。缓存的结果是与dnsmasq相似的。偶有不同的也只是bufsize大小不同:
[root@ManTou:/root]#dig @223.5.5.5 -p53 www.163.com
; <<>> DiG 9.9.9-P3 <<>> @223.5.5.5 -p53 www.163.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42994
;; flags: qr rd ra; QUERY: 1, ANSWER: 18, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1408
;; QUESTION SECTION:
;www.163.com. IN A
;; ANSWER SECTION:
www.163.com. 29 IN CNAME www.163.com.163jiasu.com.
www.163.com.163jiasu.com. 29 IN CNAME www.163.com.w.kunluncan.com.
www.163.com.w.kunluncan.com. 29 IN A 183.240.239.240
www.163.com.w.kunluncan.com. 29 IN A 183.240.176.185
www.163.com.w.kunluncan.com. 29 IN A 120.240.65.231
www.163.com.w.kunluncan.com. 29 IN A 183.240.178.234
www.163.com.w.kunluncan.com. 29 IN A 183.240.178.233
www.163.com.w.kunluncan.com. 29 IN A 120.233.175.232
www.163.com.w.kunluncan.com. 29 IN A 120.233.175.235
www.163.com.w.kunluncan.com. 29 IN A 120.232.248.220
www.163.com.w.kunluncan.com. 29 IN A 120.240.65.230
www.163.com.w.kunluncan.com. 29 IN A 120.233.4.221
www.163.com.w.kunluncan.com. 29 IN A 120.233.172.125
www.163.com.w.kunluncan.com. 29 IN A 183.240.176.182
www.163.com.w.kunluncan.com. 29 IN A 183.240.239.239
www.163.com.w.kunluncan.com. 29 IN A 120.233.4.222
www.163.com.w.kunluncan.com. 29 IN A 120.233.172.126
www.163.com.w.kunluncan.com. 29 IN A 120.232.248.219
;; Query time: 17 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: Sat Apr 20 10:08:08 CST 2024
;; MSG SIZE rcvd: 369
[root@ManTou:/root]#dig @119.29.29.29 -p53 www.163.com
; <<>> DiG 9.9.9-P3 <<>> @119.29.29.29 -p53 www.163.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12800
;; flags: qr rd ra; QUERY: 1, ANSWER: 18, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.163.com. IN A
;; ANSWER SECTION:
www.163.com. 239 IN CNAME www.163.com.163jiasu.com.
www.163.com.163jiasu.com. 539 IN CNAME www.163.com.w.kunluncan.com.
www.163.com.w.kunluncan.com. 45 IN A 120.233.4.226
www.163.com.w.kunluncan.com. 45 IN A 183.240.176.188
www.163.com.w.kunluncan.com. 45 IN A 120.233.172.119
www.163.com.w.kunluncan.com. 45 IN A 120.232.248.223
www.163.com.w.kunluncan.com. 45 IN A 120.233.175.232
www.163.com.w.kunluncan.com. 45 IN A 183.240.178.232
www.163.com.w.kunluncan.com. 45 IN A 183.240.239.237
www.163.com.w.kunluncan.com. 45 IN A 120.240.65.230
www.163.com.w.kunluncan.com. 45 IN A 120.240.65.227
www.163.com.w.kunluncan.com. 45 IN A 183.240.239.234
www.163.com.w.kunluncan.com. 45 IN A 183.240.178.235
www.163.com.w.kunluncan.com. 45 IN A 120.233.175.231
www.163.com.w.kunluncan.com. 45 IN A 120.232.248.219
www.163.com.w.kunluncan.com. 45 IN A 120.233.172.139
www.163.com.w.kunluncan.com. 45 IN A 183.240.176.190
www.163.com.w.kunluncan.com. 45 IN A 120.233.4.221
;; Query time: 17 msec
;; SERVER: 119.29.29.29#53(119.29.29.29)
;; WHEN: Sat Apr 20 10:08:26 CST 2024
;; MSG SIZE rcvd: 369
@windmsn 试试,参数不变(记得开启cache),替换上去
@windmsn 试试,参数不变(记得开启cache),替换上去
这个版本是无论缓存与否。都保留AUTHORITY SECTION,砍掉了ADDITIONAL SECTION。
待测,
思考一下,为何dnsmasq,223.5.5.5,119.29.29.29,8.8.8.8等都需要加上EDNS的opt。。。
这个版本是无论缓存与否。都保留AUTHORITY SECTION,砍掉了ADDITIONAL SECTION。
是的。无论缓存与否,response都是一样的,只有响应快慢/TTL的区别。
为何dnsmasq,223.5.5.5,119.29.29.29,8.8.8.8等都需要加上EDNS的opt。。。
那是因为dig默认启用了EDNS,dig测试时,加上 +noedns
标志就明白了。
glibc/musl等libc没有启用edns,我之前观察过。
我发现,dnsmasq,在缓存前缓存后是有不同的 不知道他是否为了兼容性?
先不管这个吧,我相信让消息保持一致是有益的(无论是否启用缓存),应该能减少所谓的兼容性问题。
@windmsn 试试,参数不变(记得开启cache),替换上去
已替换上去。。在测。观察一天。今天周六不上学。应该能体现结果
ok,有问题及时反馈,我这边方便跟进并尝试修复。
为何dnsmasq,223.5.5.5,119.29.29.29,8.8.8.8等都需要加上EDNS的opt。。。
那是因为dig默认启用了EDNS,dig测试时,加上
+noedns
标志就明白了。glibc/musl等libc没有启用edns,我之前观察过。
会不会有这么一种工况:
会不会有这种情况?
不会有兼容性问题,因为 EDNS 是向后兼容的(具体可以看看 rfc6891)。
比如:当一个支持 EDNS 的客户端(在 query 中携带了 EDNS 信息),查询一个传统服务端时,服务端因为不理解 EDNS 信息,所以返回的 response 不会有 EDNS 信息。
chinadns-ng 会理解客户端传来的 OPT RR(主要是读取其中的 udp bufsize,用于 reply 时的 truncate 逻辑),但不会在 response 中放入 EDNS 信息,目的是模拟传统服务端的行为。因为 chinadns-ng 本身不提供 EDNS 相关特性,自然没必要发送它。
所以,最新修改版(发你的)的行为完全符合 RFC 标准,肯定不会有兼容性问题。
ok,有问题及时反馈,我这边方便跟进并尝试修复。
还是反映有问题。。。已经想不出是哪里有可能了。。
见鬼了?
完全相同的配置/dns/环境,只把cache关了(配置cache 0,其他一个都别修改),然后重启chinadns-ng。再试
另外你没网络时怎么恢复的,操作是什么?单纯重启dns进程?还是重启路由器。还是重新设置iptables?
这回可真是有没有缓存都一样的response哦,如果开cache就会导致微信有问题,关闭cache就没问题,那我只能说见鬼了
我和其他人也没遇见你这种情况。。
ss-tproxy那边也没有类似的反馈
另外你没网络时怎么恢复的,操作是什么?单纯重启dns进程?还是重启路由器。还是重新设置iptables?
恢复网络只需重启chinadns-ng即可。其他不需要操作。。
内核dmesg日志有没有?发来看看
省流:请直接拉到最后。
原始comment
症状: 第一天[4月13日]:使用chinadns-ng作为主服务,开启cache,监听53端口,代替dnsmasq。客户端设备表现为无网络,dig没问题,手机就是连不上网。(设备主要是使用国内APP。抖音微信等日常的) 第二天[4月14日-15日]:为了保障家里设置能正常上网,chinadns-ng监听5354端口,关闭chinadns-ng的cache,开启dnsmasq的cache并作为主dns服务,chinadns-ng作为dnamasq的上游,**客户端备设使用正常两天** 第三天,同上 第四天[4月16日]:因为摆脱不了chinadns-ng的高性能,又把chinadns-ng作为了主服务。设置跟4月13日一样代替dnsmasq,客户端设备表现为无网络,无法连网,还是能dig通 第五天[4月17日]:又改回了**第二天[4月14日-15日]**的设置。**客户端备设使用正常** 第六天[4月18日]:又把chinadns-ng作为了主服务,但此次关闭了自带的cache。**客户端备设使用正常** 设备连不上网,表现为:chinadns-ng重启后,能短暂的使用一会。大概过了一个小时,就开始陆陆续续地出现网络无法连接的问题,重启chinadns-ng后,又正常一段时间。 曾经以为,resolver不支持edns或者tc等问题而提出过修改https://github.com/zfl9/chinadns-ng/issues/160#issuecomment-2051751354 也曾经以为是返回的reply过大https://github.com/zfl9/chinadns-ng/issues/160#issuecomment-2051795097 在4月16日测试的时候,我发现上游的223.5.5.5和119.29.29.29返回reply并不带有AUTHORITY和ADDITIONAL,返回的reply肯定不会超过512,于是我把国内的dns设为了`china-dns 223.5.5.5,udp://119.29.29.29`,但情况一样,一个小时左右客户端设置就开始出了无法连接到网络。 目前情况就是若想正常使用chinadns-ng作为主服务,就必须把它的cache给关了 配置如下 ``` bind-addr :: bind-port 53 china-dns 223.5.5.5,udp://119.29.29.29 trust-dns tcp://8.8.8.8 gfwlist-file /root/gfwlist.txt chnlist-file /root/chnlist.txt ipset-name4 cnip ipset-name6 chnroute6 cache 10000 default-tag chn add-taggfw-ip gfwlist,gfwlist6 ``` ![WX20240419-105023@2x](https://github.com/zfl9/chinadns-ng/assets/15327926/fac3506e-9357-40fb-b31b-115612236594) ![WX20240419-105044@2x](https://github.com/zfl9/chinadns-ng/assets/15327926/82ecd566-9931-432b-a308-ae31bef1ecb0) ![WX20240419-105149@2x](https://github.com/zfl9/chinadns-ng/assets/15327926/e9fbfd32-a7ae-4029-9027-66a764b04207) ![WX20240419-105157@2x](https://github.com/zfl9/chinadns-ng/assets/15327926/ddefe2a9-c1ca-4569-94f0-27d3668f1778) ![WX20240419-105210@2x](https://github.com/zfl9/chinadns-ng/assets/15327926/78f51892-0314-440f-99e4-34834e121ea0) ![WX20240419-105217@2x](https://github.com/zfl9/chinadns-ng/assets/15327926/d743ca7e-103b-4195-814c-0310fa7deafb) ![WechatIMG4113](https://github.com/zfl9/chinadns-ng/assets/15327926/7f677ac2-5623-425d-83de-6318e308c6b0)