-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
speed-check-mode使用问题 #1742
Comments
预期行为,首次返回取决于response-mode设置。之后的返回取决于speedcheck-mode。 |
这些都是虚假ip,你使用的的上游(oversea组)被污染了 |
应该是的,因为我目前的上游还是没有走富强,所以被污染了
…---Original---
From: ***@***.***>
Sent at: 2024年5月22日(Wed) AM6:40
To: ***@***.***>;
Cc: ***@***.******@***.***>;
Subject: Re: [pymumu/smartdns] speed-check-mode使用问题 (Issue #1742)
Non-authoritative answer: Name: www.youtube.com Address: 54.234.18.200
***@***.***:/etc/smartdns# nslookup www.youtube.com 10.225.97.8 Server: 10.225.97.8 Address: 10.225.97.8#53
Non-authoritative answer: Name: www.youtube.com Address: 103.97.3.19 Name: www.youtube.com Address: 54.234.18.200 Name: www.youtube.com Address: 128.242.240.117 Name: www.youtube.com Address: 31.13.75.12 Name: www.youtube.com Address: 31.13.67.19 Name: www.youtube.com Address: 74.86.228.110
这些都是虚假ip,你使用的的上游(oversea组)被污染了
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
好的,谢谢你,这俩个参数我还没看到怎么使用,我先研究一下。
…---Original---
From: ***@***.***>
Sent at: 2024年5月22日(Wed) AM6:38
To: ***@***.***>;
Cc: ***@***.******@***.***>;
Subject: Re: [pymumu/smartdns] speed-check-mode使用问题 (Issue #1742)
预期行为,首次返回取决于response-mode设置。之后的返回取决于speedcheck-mode。
如果要限制返回数量,请使用max-ip-reply-num。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
我的配置文件中是没有写 response-mode参数,只在海外dns组写了speedcheck,为什么smartdns还会使用response-mode去测试域名呢。
speed-check-mode测速模式选择ping,tcp:80,tcp:443[ping|tcp:[80]|none]speed-check-mode ping,tcp:80,tcp:443
response-mode首次查询响应模式first-ping
…---Original---
From: ***@***.***>
Sent at: 2024年5月22日(Wed) AM6:38
To: ***@***.***>;
Cc: ***@***.******@***.***>;
Subject: Re: [pymumu/smartdns] speed-check-mode使用问题 (Issue #1742)
预期行为,首次返回取决于response-mode设置。之后的返回取决于speedcheck-mode。
如果要限制返回数量,请使用max-ip-reply-num。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
server没有speed-check-mode选项 |
nameserver中配置是吧,类似这样,nameserver /domain-set:oversea_domainlist/oversea speed-check-mode ping,tcp:80,tcp:443 |
这个我明白了,谢谢 |
这个 speed-check-mode前面是不是少个减号 |
@pymumu 说server后面不支持speed-check-mode |
昂 上面我说得不对(上午在外面用手机 没仔细看)
|
好的,谢谢大佬指导,下班回去梭哈一边试试 |
俩位大佬,我重新整理了我的SmartDNS配置,说明我的网络架构,麻烦俩位前辈,给予指点,谢谢。架构图SmartDNS配置(# DNS服务器名称 (# 大陆DNS-服务端口 (# 海外DNS-服务端口 (# GPT-DNS-服务端口 (# 设置海外-oversea组-DNS列表 (# 设置大陆-domestic组-DNS列表 (# 设置OpenAI-chatgpt组-DNS列表 (# 设置大陆域名集:domestic_domainlist,映射到:/etc/smartdns/domestic_domainlist.conf (# 设置海外域名集:oversea_domainlist,映射到:/etc/smartdns/oversea_domainlist.conf (# 设置GPT域名集:chatgpt_domainlist,映射到:/etc/smartdns/chatgpt_domainlist.conf (# 指定大陆域名集:使用domestic组-DNS解析(大陆测速) (# 指定GPT域名集:使用chatgpt组-DNS解析(海外不测速) (# 指定海外域名集:使用oversea组-DNS解析(GPT不测速) (# 日志(系统+审计) (# 缓存配置 (# 开启过期缓存服务功能 (# 设定过期缓存服务最长超时时间(秒) (# 设定回应的过期缓存TTL(秒) (# 禁用IPV6 (# 强制指定 qtyp 返回 SOA 存在疑问点1、按照我的这个配置,如果不在域名集里面的域名怎么解析? 2、当前SmartDNS是我的AdGuard-Home的上游服务器,所以我写的DNS端口是,6666(海外DNS端口),8888(国内DNS端口),9999(GPT DNS端口),这种模式我当前使用没问题,但是是否存在BUG?或者说我的SmartDNS有逻辑配置问题,或者还有其他配置及缺陷问题? 3、安装我这个架构理解,只要我用SmartDNS解决解析问题就好了,因为我的分流是根据IP地址分流的,只要解析没问题,就可以正常访问。 |
看你的需求,smartdns分流有好几种方式,选择适合你的。 第一种:基于域名
第二种:基于监听端口。
第三种:根据不同客户端。
当然,上述几种方案可以嵌套,但要明确你想实现什么功能。 日常使用一般都第一种,配合ipset/nftset即可达成你要的功能。
这个也有另外group方式的写法
反向集合,即国内域名走国内,其他都分流
|
好的好的,谢谢指导,按照你说这些方式,我的配置即使第一种:基于域名分流。其他的方式我也研究以下,这第一种方式是否存在我说的疑点1,不在域名列表里面的域名,默认用什么DNS解析。 |
你的第一个配置:server全部都排除了默认组,没在列表里面的域名将无法查询。
你的配置,是第一种,第二种的结合。 |
建议是不要搞太复杂,大部分场景选第一种即可。 |
这是最新配置,我没写排除 (# 设置海外-oversea组-DNS列表 (# 设置大陆-domestic组-DNS列表 (# 设置OpenAI-chatgpt组-DNS列表 |
你的bind是带了-group的,这里就进行了一次分流操作。 |
你的图,分流的软件是adguard,smartdns只是按不同端口的请求查询了不同的上游 如果上游分流不正确,才会在smartdns分流 这里建议是保留一个分流设置即可,否则要维护两套分流列表 |
明白你的意思,我把AD拿掉吧,本来就没啥用处,只是因为他有图形化,可以方便web看日志。 容我想想我的smartdns配置该怎么修改,应该是把bind删掉,只保留一个53端口就好了。 |
如果这样,建议配置方案如下
|
明白你的意思了,我把配置发出来,便于后续的人能看到这个配置 SmartDNS配置(# 全局DNS服务端口(禁用IPV6查询) (# 设置海外-oversea组-DNS列表 (# 设置大陆-domestic组-DNS列表 (# 设置OpenAI-chatgpt组-DNS列表 (# 设置大陆域名集:domestic_domainlist,映射到:/etc/smartdns/domestic_domainlist.conf (# 设置海外域名集:oversea_domainlist,映射到:/etc/smartdns/oversea_domainlist.conf (# 设置GPT域名集:chatgpt_domainlist,映射到:/etc/smartdns/chatgpt_domainlist.conf (# 指定大陆域名集:使用domestic组-DNS解析(大陆测速) (# 指定GPT域名集:使用chatgpt组-DNS解析(海外不测速) (# 指定海外域名集:使用oversea组-DNS解析(GPT不测速) AdGuard配置 |
Ubuntu 安装 SmartDNS 配置域名分流SmartDNS 从入门到精通(二:DNS分流) |
@pymumu @PikuZheng 这里还有一个问题,关于域名列表格式的,我现在的配置如下: 设置大陆域名集:domestic_domainlist,映射到:/etc/smartdns/domestic_domainlist.confdomain-set -name domestic_domainlist -file /etc/smartdns/domestic_domainlist.conf 指定大陆域名集:使用domestic组-DNS解析(大陆测速)domain-rules /domain-set:domestic_domainlist/ -nameserver domestic -speed-check-mode ping,tcp:80,tcp:443 这个domestic_domainlist.conf是存放我国内域名的文件,是不是后缀得是list,比如:domestic_domainlist.list 我这个domestic_domainlist.conf里面的域名是这样,一行一个的,不知道生效了没有。 |
@pymumu @PikuZheng 这个配置指导里面,是这样写的,那我的配置方式应该没问题是吧 |
文件扩展名无所谓。一行一个域名,上面图中正确。 |
好的,谢谢 |
问题现象
解析海外域名(www.youtube.com)
第一次返回一个ip(最快的IP是吗),但是第二次解析没有返回最快IP(给了很多个IP)
运行环境
ubuntu
本地电信
smartdns.1.2024.02.08-0828.x86_64-debian-all.deb
开启全局-DNS服务(绑定tcp和udp)
bind :53
bind-tcp :53
设置海外-oversea组-DNS列表(1、从默认DNS组排除;2、拦截被污染的IP;3、解析海外域名测速,返回最快IP)
server 8.8.8.8 -group oversea -exclude-default-group -blacklist-ip speed-check-mode ping,tcp:80,tcp:443
server 8.8.4.4 -group oversea -exclude-default-group -blacklist-ip speed-check-mode ping,tcp:80,tcp:443
server 208.67.222.222 -group oversea -exclude-default-group -blacklist-ip speed-check-mode ping,tcp:80,tcp:443
server 208.67.220.220 -group oversea -exclude-default-group -blacklist-ip speed-check-mode ping,tcp:80,tcp:443
server 1.0.0.1 -group oversea -exclude-default-group -blacklist-ip speed-check-mode ping,tcp:80,tcp:443
server 9.9.9.9 -group oversea -exclude-default-group -blacklist-ip speed-check-mode ping,tcp:80,tcp:443
设置大陆-domestic组-DNS列表(1、从默认DNS组排除;2、拦截被污染的IP;3、解析大陆域名不测速)
server 202.96.209.133 -group domestic -exclude-default-group -blacklist-ip speed-check-mode none
server 202.96.209.5 -group domestic -exclude-default-group -blacklist-ip speed-check-mode none
server 180.168.255.118 -group domestic -exclude-default-group -blacklist-ip speed-check-mode none
server 116.228.111.118 -group domestic -exclude-default-group -blacklist-ip speed-check-mode none
server 223.5.5.5 -group domestic -exclude-default-group -blacklist-ip speed-check-mode none
server 114.114.114.114 -group domestic -exclude-default-group -blacklist-ip speed-check-mode none
设置大陆域名集:domestic_domainlist,映射到:/etc/smartdns/domestic_domainlist.conf
domain-set -name domestic_domainlist -file /etc/smartdns/domestic_domainlist.conf
设置海外域名集:oversea_domainlist,映射到:/etc/smartdns/oversea_domainlist.conf
domain-set -name oversea_domainlist -file /etc/smartdns/oversea_domainlist.conf
指定大陆域名集用domestic组内DNS解析
nameserver /domain-set:domestic_domainlist/domestic
指定海外域名集用oversea组内DNS解析
nameserver /domain-set:oversea_domainlist/oversea
缓存配置
cache-size 32768
cache-persist yes
prefetch-domain yes
cache-file /etc/smartdns/dnscache
日志
log-level debug
log-size 50m
log-file /etc/smartdns/smartdns.log
log-num 2
audit-enable yes
audit-file /etc/smartdns/smartdns-audit.log
audit-size 50m
audit-num 2
开启过期缓存服务功能
serve-expired yes
设定过期缓存服务最长超时时间(秒)
serve-expired-ttl 3
设定回应的过期缓存TTL(秒)
serve-expired-reply-ttl 5
禁用IPV6
force-AAAA-SOA yes
其他
force-qtype-SOA 65
log-level info
重现步骤
如上:海外-oversea组-DNS列表
www.youtube.com
信息收集
在自定义界面,开启设置->自定义设置->生成coredump配置,重现问题后提交coredump文件
coredump文件在/tmp目录下
root@test-server:/etc/smartdns# nslookup www.youtube.com 10.225.97.8
Server: 10.225.97.8
Address: 10.225.97.8#53
Non-authoritative answer:
Name: www.youtube.com
Address: 54.234.18.200
root@test-server:/etc/smartdns# nslookup www.youtube.com 10.225.97.8
Server: 10.225.97.8
Address: 10.225.97.8#53
Non-authoritative answer:
Name: www.youtube.com
Address: 103.97.3.19
Name: www.youtube.com
Address: 54.234.18.200
Name: www.youtube.com
Address: 128.242.240.117
Name: www.youtube.com
Address: 31.13.75.12
Name: www.youtube.com
Address: 31.13.67.19
Name: www.youtube.com
Address: 74.86.228.110
root@test-server:/etc/smartdns# cat smartdns.log
[2024-05-22 00:17:46,228][NOTICE][ smartdns.c:640 ] smartdns starting...(Copyright (C) Nick Peng [email protected], build: 1.2024.02.08-0828 (Release43-141-g9ee27e7))
[2024-05-22 00:17:46,230][ INFO][ dns_server.c:9267] IPV6 is not ready or speed check is disabled, disable IPV6 features
[2024-05-22 00:17:46,230][ INFO][ dns_cache.c:739 ] load cache file /etc/smartdns/dnscache, total 2 records
[2024-05-22 00:17:46,230][ INFO][ dns_client.c:1272] add server 8.8.8.8:53, type: udp
[2024-05-22 00:17:46,230][ INFO][ dns_client.c:1272] add server 8.8.4.4:53, type: udp
[2024-05-22 00:17:46,231][ INFO][ dns_client.c:1272] add server 208.67.222.222:53, type: udp
[2024-05-22 00:17:46,231][ INFO][ dns_client.c:1272] add server 208.67.220.220:53, type: udp
[2024-05-22 00:17:46,231][ INFO][ dns_client.c:1272] add server 1.0.0.1:53, type: udp
[2024-05-22 00:17:46,231][ INFO][ dns_client.c:1272] add server 9.9.9.9:53, type: udp
[2024-05-22 00:17:46,231][ INFO][ dns_client.c:1272] add server 202.96.209.133:53, type: udp
[2024-05-22 00:17:46,231][ INFO][ dns_client.c:1272] add server 202.96.209.5:53, type: udp
[2024-05-22 00:17:46,231][ INFO][ dns_client.c:1272] add server 180.168.255.118:53, type: udp
[2024-05-22 00:17:46,231][ INFO][ dns_client.c:1272] add server 116.228.111.118:53, type: udp
[2024-05-22 00:17:46,231][ INFO][ dns_client.c:1272] add server 223.5.5.5:53, type: udp
[2024-05-22 00:17:46,231][ INFO][ dns_client.c:1272] add server 114.114.114.114:53, type: udp
[2024-05-22 00:17:56,745][ INFO][ dns_client.c:4242] request: www.youtube.com, qtype: 1, id: 45291, group: oversea
[2024-05-22 00:17:57,033][ INFO][ dns_server.c:2612] result: www.youtube.com, qtype: 1, rtt: 0.6 ms, 54.234.18.200
[2024-05-22 00:17:57,033][ INFO][ dns_server.c:2390] result: www.youtube.com, client: 10.225.97.8, qtype: 1, id: 39484, group: default, time: 288ms
[2024-05-22 00:17:57,034][ INFO][ dns_server.c:2390] result: www.youtube.com, client: 10.225.97.8, qtype: 28, id: 32286, group: default, time: 0ms
[2024-05-22 00:17:57,751][ INFO][ dns_server.c:963 ] result: www.youtube.com, id: 39484, index: 1, rtt: 0.5 ms, 103.97.3.19
[2024-05-22 00:17:57,751][ INFO][ dns_server.c:963 ] result: www.youtube.com, id: 39484, index: 2, rtt: 0.6 ms, 54.234.18.200
[2024-05-22 00:17:57,751][ INFO][ dns_server.c:963 ] result: www.youtube.com, id: 39484, index: 3, rtt: 0.9 ms, 128.242.240.117
[2024-05-22 00:17:57,751][ INFO][ dns_server.c:963 ] result: www.youtube.com, id: 39484, index: 4, rtt: 0.8 ms, 31.13.75.12
[2024-05-22 00:17:57,751][ INFO][ dns_server.c:963 ] result: www.youtube.com, id: 39484, index: 5, rtt: 0.8 ms, 31.13.67.19
[2024-05-22 00:17:57,751][ INFO][ dns_server.c:963 ] result: www.youtube.com, id: 39484, index: 6, rtt: 0.9 ms, 74.86.228.110
[2024-05-22 00:17:58,234][ INFO][ dns_server.c:4478] result: www.youtube.com, client: 10.225.97.8, qtype: 1, id: 2474, group: default, time: 0ms
[2024-05-22 00:17:58,234][ INFO][ dns_server.c:2390] result: www.youtube.com, client: 10.225.97.8, qtype: 28, id: 32856, group: default, time: 0ms
root@test-server:/etc/smartdns#
The text was updated successfully, but these errors were encountered: