pymumu / smartdns

A local DNS server to obtain the fastest website IP for the best Internet experience, support DoT, DoH. 一个本地DNS服务器,获取最快的网站IP,获得最佳上网体验,支持DoH,DoT。
https://pymumu.github.io/smartdns/
GNU General Public License v3.0
8.39k stars 1.07k forks source link

smartdns导致openwrt路由器重启后死机 #1844

Open qwerttvv opened 4 hours ago

qwerttvv commented 4 hours ago

最近把路由器换了,编译了新固件,刷好以后,都按以前旧的来配置,然后重启路由器就死机,表现就是客户端不能获取正确ip,只有个169.254.174.210的地址,拔插路由器电源重新开机也不行,就彻底歇菜了,经一系列固件和软件的排查,最后发现是smartdns导致的

因为重启后路由器直接死了,所以没有日志可查……

程序版本是目前最新的 https://github.com/pymumu/smartdns/tree/84f217dbd19f97e30f24af640ddb4cd21ae1e3ec luci是配套js版本的 https://github.com/pymumu/smartdns/tree/84f217dbd19f97e30f24af640ddb4cd21ae1e3ec/package/luci 自己编译的,环境是ghcr.io/openwrt/sdk:aarch64_cortex-a53-openwrt-23.05

新旧路由器区别一个是内核以前4.x,现在6.x,一个是luci以前lua现在js,估计相关的还有openssl以前1.x现在3.x不过我装了1.x兼容库,但是编译环境也是官方新的23.05啊……

我把我配置贴过来吧

server-name smartdns
speed-check-mode tcp:443,tcp:80,ping
prefetch-domain yes
serve-expired yes
cache-size 333333
dnsmasq-lease-file /tmp/dhcp.leases
rr-ttl-min 600
log-size 64K
log-num 0
log-level off
audit-size 64K
audit-num 1
response-mode fastest-ip
cache-persist yes
cache-file /etc/smartdns/smartdns.cache
force-qtype-SOA  65
resolv-file /tmp/resolv.conf.d/resolv.conf.auto
bind :53535@br-lan 
bind :53535@lo 
bind :5335@br-lan  -no-speed-check -group fly -no-dualstack-selection -force-aaaa-soa -force-https-soa
bind :5335@lo  -no-speed-check -group fly -no-dualstack-selection -force-aaaa-soa -force-https-soa 
server-https https://1.12.12.12/dns-query  -no-check-certificate 
server-https https://223.5.5.5/dns-query  -no-check-certificate 
server 180.76.76.76  
server 180.184.1.1  
server 114.114.114.114  
server 117.50.10.10  
server-https https://8.8.8.8/dns-query  -no-check-certificate -group fly -exclude-default-group 
server-https https://1.1.1.1/dns-query  -no-check-certificate -group fly -exclude-default-group 
server-https https://208.67.222.222/dns-query  -no-check-certificate -group fly -exclude-default-group 
server-https https://9.9.9.9/dns-query  -no-check-certificate -group fly -exclude-default-group 
server-https https://185.222.222.222/dns-query  -no-check-certificate -group fly -exclude-default-group 
domain-set -name domain-forwarding-list -file /etc/smartdns/domain-forwarding.list
domain-rules /domain-set:domain-forwarding-list/  -nameserver fly -speed-check-mode tcp:443,tcp:80,ping -address #6
domain-set -name domain-block-list -file /etc/smartdns/domain-block.list
domain-rules /domain-set:domain-block-list/ -address #
conf-file /etc/smartdns/address.conf
conf-file /etc/smartdns/blacklist-ip.conf
conf-file /etc/smartdns/custom.conf

其它的还有dnsmasq的缓存设置为0,就是关了,还有些自定义如下

nameserver /cloudflare-dns.com/fly
nameserver /one.one.one.one/fly
nameserver /dns.google/fly
nameserver /quad9.net/fly
nameserver /opendns.com/fly
nameserver /dns.sb/fly
nameserver /google.com/fly
nameserver /youtube.com/fly
nameserver /telegram.org/fly
nameserver /t.me/fly

max-reply-ip-num 12
audit-enable no
cache-file /usr/smartdns.cache

#cloudflare ip-alias
ip-set -name cloudflare-ipv4 -file /usr/cfipv4.txt
ip-rules ip-set:cloudflare-ipv4 -ip-alias 104.18.228.90,104.18.226.59,XXXXXXX

ip-set -name cloudflare-ipv6 -file /usr/cfipv6.txt
ip-rules ip-set:cloudflare-ipv6 -ip-alias 2606:4700::fd08:1f6d:7a41:507b,2606:4700::d5c8:7866:93dc:754d,XXXX

/usr/cfipv4.txt /usr/cfipv6.txt /usr/smartdns.cache 这仨文件都在,直接拷贝的旧的,缓存的话因为会切回旧的路由器继续正常用,所以常用常新,也会一直拷

现在只要路由器不重启,程序正常运行是完全没问题的,包括重启程序也没问题,但是一重启路由器,路由器就歇菜了

固件的话,我编译了最新lean的(已经可以用js的luci),还有openwrt官方主线开发版的,还有ImmortalWrt主线开发版,也下了几个别人编译好的固件,都不行……

qwerttvv commented 2 hours ago

上次一个dns问题我一开始以为smartdns的事儿,还跟这里问了半天,最后问来问去,是ss rust的一个第三方dns组件的问题…

这次,我就是自己编译的固件只有基本的组件,没任何软件,然后自己一个一个手工安装,最后试到smartdns时候发现问题,应该排除别的了吧……