Open CallMeR opened 2 months ago
只能发log看,可以打开audit log。看对应时间返回了什么地址给客户端,导致链接不上。
我也有这种情况 一般 关掉App Store 重新打开就好了
不行就多试几次
为什么不知道...
捕获到了一次日志,但是很长,如果有更好的分享日志的方法麻烦告诉我一下。 大概出现的时间是 16:07 分左右,所以我把前后的日志也都包含进来了。 smartdns-audit.log smartdns.log
PS: 我发现了几个这样的日志:
[2024-09-03 16:07:45,148][DEBUG][ dns_client.c:2871] remote server not supported.
[2024-09-03 16:07:45,149][DEBUG][ dns_client.c:1324] server 54.223.159.81 closed.
经过查看这个是 *.onedns.net
的 DoT 、DoH ,不过这个地址是我最近才加上的,之前一直只有 Alidns 和 Dnspod 的 DoT 、DoH ,也同样是有这个问题,这个问题最早可以追溯到 R45 版本。
没想到 *.onedns.net
竟然没有证书来验证。。。
盲猜一下,不知道是不是和这个也有关: https://github.com/pymumu/smartdns/issues/1236#issuecomment-2246786370
盲猜一下,不知道是不是和这个也有关:
https://github.com/pymumu/smartdns/issues/1236#issuecomment-2246786370
盲猜 关闭缓存应该解决...
盲猜一下,不知道是不是和这个也有关: #1236 (comment)
盲猜 关闭缓存应该解决...
现在 Alidns 和 Dnspod 都有 DNS 限速,关闭缓存,基本上就不太能用了,分分钟就超过限额,然后 DNS query failed
我这也是,搞得我一头雾水,测试了一下,只保留一个提供商的DNS短时间没问题,删除缓存重新启动以后可能恢复,但是多DNS一段时间就无法访问github等等网站了,即使设置了单独的组(cloudeflare,googles dns),看log,在不同的组里面是返回了正确的IP,但是依然无法使用,而且有的无法访问的页面会引用缓存,没法子,只能先单独使用移动的DNS了(呕).
把cache size 改大点 明显好转
把cache size 改大点 明显好转
你改成了多大
把cache size 改大点 明显好转
你改成了多大
29998 现在很少碰到那种情况了
把cache size 改大点 明显好转
你改成了多大
29998 现在很少碰到那种情况了
我的内存是 2GB ,按照代码,应该是 262144 这么个数字吧 ?
{
uint64_t memsize = get_system_mem_size();
if (dns_conf_cachesize >= 0) {
return;
}
if (memsize <= 16 * 1024 * 1024) {
dns_conf_cachesize = 2048; /* 1MB memory */
} else if (memsize <= 32 * 1024 * 1024) {
dns_conf_cachesize = 8192; /* 4MB memory*/
} else if (memsize <= 64 * 1024 * 1024) {
dns_conf_cachesize = 16384; /* 8MB memory*/
} else if (memsize <= 128 * 1024 * 1024) {
dns_conf_cachesize = 32768; /* 16MB memory*/
} else if (memsize <= 256 * 1024 * 1024) {
dns_conf_cachesize = 65536; /* 32MB memory*/
} else if (memsize <= 512 * 1024 * 1024) {
dns_conf_cachesize = 131072; /* 64MB memory*/
} else {
dns_conf_cachesize = 262144; /* 128MB memory*/
}
}
我也不知道 我只是改了后 明显好转
32768
我也不知道 我只是改了后 明显好转
32768
你的内存是多少?
我也不知道 我只是改了后 明显好转
32768
你的内存是多少?
512 路由器 红米6000
如果是 512 的话,默认应该是 131072 ?
不过我也试了一下 32768 这个值,手机过了一晚上没碰,的确这个问题有缓解的迹象,没有出现无法联网的界面。
这么来看,似乎是手动改小缓存容量可以缓解这个问题。
$ sudo smartdns --cache-print /tmp/smartdns.cache | wc -l
3198
目前缓存只吃了 3198 。
如果是 512 的话,默认应该是 131072 ?
不过我也试了一下 32768 这个值,手机过了一晚上没碰,的确这个问题有缓解的迹象,没有出现无法联网的界面。
这么来看,似乎是手动改小缓存容量可以缓解这个问题。
$ sudo smartdns --cache-print /tmp/smartdns.cache | wc -l 3198
目前缓存只吃了 3198 。
我是由小改大
这两天我把 force-qtype-SOA 65
这个参数去掉了,似乎也有所帮助。
可以试下关闭特定域名的缓存
# apple app store
domain-rules /itunes.apple.com/ -no-cache
domain-rules /apps.apple.com/ -no-cache
domain-rules /mzstatic.com/ -no-cache
domain-rules /cdn-apple.com/ -no-cache
domain-rules /ocsp2.apple.com/ -no-cache
domain-rules /certs.apple.com/ -no-cache
我这边配置后,iOS/MacOS 的 AppStore 到现在 2 周多没出现过中断了
打开prefetch看看
打开prefetch看看
prefetch-domain yes
这个是开着的呀
这两天我把
force-qtype-SOA 65
这个参数去掉了,似乎也有所帮助。
进一步测试了 3 天,还是会出现这个问题,那么应该不是这个参数导致的。
问题现象
当 SmartDNS 长时间运行(1~3天不等),打开 Apple App Store 会显示网络异常,必须多次点刷新 App ,或者重启 SmartDNS 才能回复 App Store 的访问。
我查看了日志,解析部分的 debug 没有 error 或者 waring ,均为正常解析,也尝试了去掉广告屏蔽列表,问题依旧。
或者让 Dnsmasq 不监听 53 端口,直接让 SmartDNS 监听 53 端口,该现象更为稳定复现,有时 12 小时内即可复现。
如果设置了
serve-expired yes
,该问题也能复现,但时间至少需要 1 天以上。运行环境
Debian12 x86_64
不相关
smartdns.1.2024.06.12-2222.x86_64-linux-all.tar.gz
其中
x.home.arpa
为内网域名,172.16.1.1
为主路由地址,主路由已经设置了放行来自 SmartDNS 服务器地址到任意地址 53 端口的流量。重现步骤
除了主配置文件中的上游,还用了我自己写的 SmartDNS CN 域名加速脚本来生成配置。
https://gitee.com/callmer/smartdns_china_list_installer
每天自动获取 Adlist 并执行一次域名加速脚本(加速脚本中有重启 SmartDNS 的功能)
Apple App Store 的域名