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

请教,配置完能访问国内,但是还是访问不了被dns污染的域名,还有查询超时 #456

Open
wyjtm opened this issue Dec 24, 2024 · 11 comments

Comments

@wyjtm
Copy link

wyjtm commented Dec 24, 2024

# 监听53端口
bind [::]:53

# DNS 服务器名称
server-name LocalSmartDNS

# 测速模式
speed-check-mode ping,tcp:80,tcp:443

# 首次查询响应模式
response-mode first-ping

# 双栈IP优选
dualstack-ip-selection yes

# 双栈IP优选阈值
dualstack-ip-selection-threshold 10

# 域名缓存过期预查询
prefetch-domain yes

# 域名缓存过期预查询时间
serve-expired-prefetch-time 1800

# 缓存过期服务
serve-expired yes

# 过期缓存服务最长超时时间
serve-expired-ttl 0

# 域名缓存个数
cache-size 1024

# 是否持久化缓存
cache-persist no

# 持久化缓存文件路径
cache-file

# 启用mDNS查询
mdns-lookup yes

# 域名TTL
rr-ttl 600

# 域名最小TTL值
rr-ttl-min 60

# 域名最大TTL值
rr-ttl-max 600

# 返回给客户端的域名最大TTL值
rr-ttl-reply-max 60

# 本地HOST,address的TTL值
local-ttl 60

# 返回给客户的最大IP数量
max-reply-ip-num 1

# 最大并发请求数量
max-query-limit 1000

# 日志级别
log-level info

# 日志文件路径
log-file C:\ProgramData\smartdns\smartdns.log

# 日志大小
log-size 128k

# 日志归档个数
log-num 8

# 进程异常时自动重启
restart-on-crash yes

# 进程运行用户
# user


# 以下为上游服务器

# ISP DNS
# server 202.102.224.68:53 -group china -exclude-default-group
# server 202.102.227.68:53 -group china -exclude-default-group
# server 2408:8888::8:53 -group china -exclude-default-group
# server 2408:8000::8:53 -group china -exclude-default-group

# Ali DNS
server 223.5.5.5:53 -group china
# server 223.6.6.6:53 -group china
server 2400:3200::1:53 -group china
# server 2400:3200:baba::1:53 -group china
# server-tls dns.alidns.com:853 -group china
server-https https://dns.alidns.com/dns-query -group china

# Baidu DNS
server 180.76.76.76:53 -group china
server 2400:da00::6666:53 -group china

# CNNIC Secure DNS
# server 1.2.4.8:53 -group china -exclude-default-group
# server 210.2.4.8:53 -group china -exclude-default-group
# server 2001:dc7:1000::1:53 -group china -exclude-default-group

# DNSPod Public DNS+
server 119.29.29.29:53 -group china
# server 182.254.116.116:53 -group china
server 2402:4e00:::53 -group china
# server-tls dot.pub:853 -group china
server-https https://doh.pub/dns-query -group china

# 114 DNS
# server 114.114.114.114:53 -group china -exclude-default-group
# server 114.114.115.115:53 -group china -exclude-default-group

# 360 Secure DNS
# server 101.226.4.6:53 -group china -exclude-default-group
# server 218.30.118.6:53 -group china -exclude-default-group
# server-tls dot.360.cn:853 -group china -exclude-default-group
# server-https https://doh.360.cn/dns-query -group china -exclude-default-group

# TWNIC Quad101 DNS
# server-tls 101.101.101.101:53 -group foreign
# server-https https://dns.twnic.tw/dns-query -group foreign

# IIJ Public DNS
# server-tls public.dns.iij.jp:853 -group foreign
server-https https://public.dns.iij.jp/dns-query -group foreign

# AdGuard DNS Default
# server-tls dns.adguard-dns.com:853 -group foreign
# server-https https://dns.adguard-dns.com/dns-query -group foreign

# AdGuard DNS Non-filtering
# server-tls unfiltered.adguard-dns.com:853 -group foreign
# server-https https://unfiltered.adguard-dns.com/dns-query -group foreign

# Cisco OpenDNS Standard
# server-tcp 208.67.222.222:443 -group foreign
# server-tcp 208.67.220.220:443 -group foreign
server-tcp 208.67.220.222:443 -group foreign
# server-tcp 208.67.222.220:443 -group foreign
# server-tcp 2620:119:35::35:443 -group foreign
server-tcp 2620:119:53::53:443 -group foreign
# server-tls dns.opendns.com:853 -group foreign
server-https https://doh.opendns.com/dns-query -group foreign

# Cisco OpenDNS Sandbox
# server-tcp 208.67.222.2:443 -group foreign
# server-tcp 208.67.220.2:443 -group foreign
# server-tcp 2620:0:ccc::2:443 -group foreign
# server-tcp 2620:0:ccd::2:443 -group foreign
# server-tls sandbox.opendns.com:853 -group foreign
server-https https://doh.sandbox.opendns.com/dns-query -group foreign

# CleanBrowsing Free DNS Security Filter
# server-tls security-filter-dns.cleanbrowsing.org:853 -group foreign
# server-https https://doh.cleanbrowsing.org/doh/security-filter -group foreign

# Cloudflare + APNIC Public DNS Standard
# server-tls one.one.one.one:853 -group foreign
# server-tls 1dot1dot1dot1.cloudflare-dns.com:853 -group foreign
# server-tls 1.1.1.1:853 -group foreign
# server-tls 1.0.0.1:853 -group foreign
# server-https https://dns.cloudflare.com/dns-query -group foreign
server-https https://cloudflare-dns.com/dns-query -group foreign
# server-https https://chrome.cloudflare-dns.com/dns-query -group foreign
# server-https https://1.1.1.1/dns-query -group foreign
# server-https https://1.0.0.1/dns-query -group foreign

# DNS.SB
# server 185.222.222.222:53 -group foreign
# server 45.11.45.11:53 -group foreign
# server 2a09:::53 -group foreign
# server 2a11:::53 -group foreign
server-https https://doh.dns.sb/dns-query -group foreign
# server-https https://jp-nrt.doh.sb/dns-query -group foreign
# server-https https://jp-kix.doh.sb/dns-query -group foreign
# server-https https://kr-sel.doh.sb/dns-query -group foreign
# server-https https://doh.sb/dns-query -group foreign
# server-https https://dns.sb/dns-query -group foreign

# Google DNS
# server-tls dns.google:853 -group foreign
# server-https https://dns.google/dns-query -group foreign

# IBM Quad9 DNS Standard
# server-tls dns.quad9.net:853 -group foreign
# server-https https://dns.quad9.net/dns-query -group foreign

# IBM Quad9 DNS Unsecured
# server-tls dns10.quad9.net:853 -group foreign
# server-https https://dns10.quad9.net/dns-query -group foreign

# LEVEL3 DNS
# server 4.2.2.1:53 -group foreign
# server 4.2.2.2:53 -group foreign
# server 4.2.2.3:53 -group foreign

以上是配置文件,还是访问不了被dns污染的域名,只能访问国内,看到项目配置说明是直接指向SmartDNS的配置说明,想着是完全共通的就照着弄了一个配置,需要改哪里才好?

2024-12-24 14:20:07.348:INFO: Smart-DNS 🐋 0.9.0 🕙 Sun Oct 13 09:59:55 UTC 2024 starting 2024-12-24 14:20:07.348:INFO: whoami 👉 localsmartdns 2024-12-24 14:20:07.348:INFO: num workers: 16 2024-12-24 14:20:07.348:INFO: upstream server: udp://223.5.5.5 [Group: ["china"]] 2024-12-24 14:20:07.348:INFO: upstream server: udp://[2400:3200::1:53] [Group: ["china"]] 2024-12-24 14:20:07.349:INFO: upstream server: https://dns.alidns.com/dns-query [Group: ["china"]] 2024-12-24 14:20:07.349:INFO: upstream server: udp://180.76.76.76 [Group: ["china"]] 2024-12-24 14:20:07.349:INFO: upstream server: udp://[2400:da00::6666:53] [Group: ["china"]] 2024-12-24 14:20:07.349:INFO: upstream server: udp://119.29.29.29 [Group: ["china"]] 2024-12-24 14:20:07.349:INFO: upstream server: https://doh.pub/dns-query [Group: ["china"]] 2024-12-24 14:20:07.349:INFO: upstream server: https://public.dns.iij.jp/dns-query [Group: ["foreign"]] 2024-12-24 14:20:07.349:INFO: upstream server: tcp://208.67.220.222:443 [Group: ["foreign"]] 2024-12-24 14:20:07.349:INFO: upstream server: tcp://[2620:119:53::53:443] [Group: ["foreign"]] 2024-12-24 14:20:07.349:INFO: upstream server: https://doh.opendns.com/dns-query [Group: ["foreign"]] 2024-12-24 14:20:07.349:INFO: upstream server: https://doh.sandbox.opendns.com/dns-query [Group: ["foreign"]] 2024-12-24 14:20:07.349:INFO: upstream server: https://cloudflare-dns.com/dns-query [Group: ["foreign"]] 2024-12-24 14:20:07.349:INFO: upstream server: https://doh.dns.sb/dns-query [Group: ["foreign"]] 2024-12-24 14:20:07.349:INFO: upstream server: udp://223.5.5.5 [Group: default] 2024-12-24 14:20:07.349:INFO: upstream server: udp://[2400:3200::1:53] [Group: default] 2024-12-24 14:20:07.349:INFO: upstream server: https://dns.alidns.com/dns-query [Group: default] 2024-12-24 14:20:07.349:INFO: upstream server: udp://180.76.76.76 [Group: default] 2024-12-24 14:20:07.349:INFO: upstream server: udp://[2400:da00::6666:53] [Group: default] 2024-12-24 14:20:07.350:INFO: upstream server: udp://119.29.29.29 [Group: default] 2024-12-24 14:20:07.350:INFO: upstream server: https://doh.pub/dns-query [Group: default] 2024-12-24 14:20:07.350:INFO: upstream server: https://public.dns.iij.jp/dns-query [Group: default] 2024-12-24 14:20:07.350:INFO: upstream server: tcp://208.67.220.222:443 [Group: default] 2024-12-24 14:20:07.350:INFO: upstream server: tcp://[2620:119:53::53:443] [Group: default] 2024-12-24 14:20:07.350:INFO: upstream server: https://doh.opendns.com/dns-query [Group: default] 2024-12-24 14:20:07.350:INFO: upstream server: https://doh.sandbox.opendns.com/dns-query [Group: default] 2024-12-24 14:20:07.350:INFO: upstream server: https://cloudflare-dns.com/dns-query [Group: default] 2024-12-24 14:20:07.350:INFO: upstream server: https://doh.dns.sb/dns-query [Group: default] 2024-12-24 14:20:07.350:INFO: cache: size(1024) 2024-12-24 14:20:07.350:INFO: cache persist: NO 2024-12-24 14:20:07.350:INFO: domain prefetch: ON 2024-12-24 14:20:07.350:INFO: speed check mode: ICMP, TCP:80, TCP:443 2024-12-24 14:20:07.365:INFO: bootstrap-dns udp://223.5.5.5 2024-12-24 14:20:07.365:INFO: bootstrap-dns udp://[2400:3200::1:53] 2024-12-24 14:20:07.366:INFO: bootstrap-dns udp://180.76.76.76 2024-12-24 14:20:07.366:INFO: bootstrap-dns udp://[2400:da00::6666:53] 2024-12-24 14:20:07.366:INFO: bootstrap-dns udp://119.29.29.29 2024-12-24 14:20:07.366:INFO: bootstrap-dns tcp://208.67.220.222:443 2024-12-24 14:20:07.366:INFO: bootstrap-dns tcp://[2620:119:53::53:443] 2024-12-24 14:20:07.497:INFO: listening for UDP on [::]:53 2024-12-24 14:20:07.497:INFO: 2024-12-24 14:20:07.497:INFO: _____ _ _____ _ _ _____ 2024-12-24 14:20:07.497:INFO: / ____| | | | __ \| \ | |/ ____| 2024-12-24 14:20:07.497:INFO: | (___ _ __ ___ __ _ _ __| |_ | | | | \| | (___ 2024-12-24 14:20:07.497:INFO: \___ \| '_ _ \ / | '__| __| | | | | . |__ \
2024-12-24 14:20:07.497:INFO: ) | | | | | | (| | | | | | |__| | |\ |) |
2024-12-24 14:20:07.497:INFO: |_____/|
| |
| ||_,|| _| |_____/|| _|_____/
2024-12-24 14:20:07.497:INFO:
2024-12-24 14:20:07.497:INFO: awaiting connections...
2024-12-24 14:20:07.497:INFO: server starting up`

这是日志

用了几个小时发现问题,国内网站打开总是很慢,比路由上SmartDNS慢的多,然后发现使用localsmartdns的话就会一堆查询超时

`PS C:\Windows\system32> nslookup 163.com
服务器: localsmartdns
Address: ::1

DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
非权威应答:
DNS request timed out.
timeout was 2 seconds.
名称: 163.com
Address: 59.111.160.244

PS C:\Windows\system32> nslookup baidu.com
服务器: localsmartdns
Address: ::1

DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
非权威应答:
DNS request timed out.
timeout was 2 seconds.
名称: baidu.com
Address: 110.242.68.66

PS C:\Windows\system32> nslookup 163.com 114.114.114.114
服务器: public1.114dns.com
Address: 114.114.114.114

非权威应答:
名称: 163.com
Address: 59.111.160.244

PS C:\Windows\system32> nslookup baidu.com 114.114.114.114
服务器: public1.114dns.com
Address: 114.114.114.114

非权威应答:
名称: baidu.com
Addresses: 110.242.68.66
39.156.66.10`

@wyjtm
Copy link
Author

wyjtm commented Dec 24, 2024

新建文本文档.txt
上面的乱了,这是配件文件

@wyjtm
Copy link
Author

wyjtm commented Dec 24, 2024

我用示例配置然后加了几个doh,也是不能解析dns污染的域名,但是这些doh放到路由上就能正常解析

@mokeyish
Copy link
Owner

仅仅是转发而已,具体要看上游的,以及是否可访问到上游。

@wyjtm
Copy link
Author

wyjtm commented Dec 28, 2024

仅仅是转发而已,具体要看上游的,以及是否可访问到上游。

啊?这和原版的不一样吗?

@mokeyish
Copy link
Owner

超时的事我也很苦恼,是依赖底层库的原因。我在自己电脑能复现,在国外服务器就不行,所以一直找不到原因,他们也无法修复。

hickory-dns/hickory-dns#2613

@wyjtm
Copy link
Author

wyjtm commented Dec 28, 2024

超时的事我也很苦恼,是依赖底层库的原因。我在自己电脑能复现,在国外服务器就不行,所以一直找不到原因,他们也无法修复。

hickory-dns/hickory-dns#2613

e......看dalao你说的有点蒙......我捋捋........这个smartdns-rs和SmartDNS都是以不同方式实现同样功能对吧?这是重点前提

然后

我自己折腾的时候发现smartdns-rs就算全部用国外的dns也能解析国内的域名,可是解析的乱七八糟速度很慢,但还是解析不了被dns污染的那种域名;

在路由上的SmartDNS用和smartdns-rs一样配置,解析国内也是解析的乱七八糟速度很慢,但是解析某些被dns污染的那种域名,浏览器能够正常解析和打开网页;

然后就是查询超时,看到你发的其他人也遇到了

解决超时同时也能把解析问题找一下吗?

@zhengqwe
Copy link

zhengqwe commented Jan 1, 2025

doh别用域名的,会SNI RST,触发后还会超时3分钟
有的地方是不是还写得不对,比如server 2400:3200::1:53 -group china是不是应该写成server [2400:3200::1]:53 -group china

@mokeyish
Copy link
Owner

mokeyish commented Jan 8, 2025

我周末先调整下,如果查询不到,超时,包括上面的 SNI RST,一律使用缓存结果,哪怕 ttl 过期了。只有查询正确有结果,才更新缓存。

@mokeyish
Copy link
Owner

mokeyish commented Jan 8, 2025

我周末先调整下,如果查询不到,超时,包括上面的 SNI RST,一律使用缓存结果,哪怕 ttl 过期了。只有查询正确有结果,才更新缓存。

刚提交了:#474

编译好的包应该在这:https://github.com/mokeyish/smartdns-rs/actions/runs/12680825760


@blance714 你在 #431 (comment) 分析到原因,应该是这里,只有开启 serve-expired 才会在失败的使用使用缓存,现在把这个条件删了,而且即使过期的缓存也不会主动删了,只有到达最大缓存大小以 LRU 策略删除。

image

@shelltea
Copy link

@mokeyish 请问什么时候能发布正式版本?

@mokeyish
Copy link
Owner

@mokeyish 请问什么时候能发布正式版本?

你测试 nightly 版本有效了吗?

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