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

求助,Debian 版 smartdns 服务组一、服务组二 解析域名 返回IP都是一样的。 不知道是哪里没有配置对,请教大神解惑。 #1042

Closed
99dn235 opened this issue Aug 30, 2022 · 22 comments

Comments

@99dn235
Copy link

99dn235 commented Aug 30, 2022

求助,现在smartdns 服务组一、服务组二 解析域名 返回IP都是一样的。 不知道是哪里没有配置对,请教大神解惑。

配置具体如下:

`server-name smartdns

bind [::]:6053 -group cn
bind-tcp [::]:6053 -group cn

bind [::]:5335 -group us -no-speed-check
bind-tcp [::]:5335 -group us -no-speed-check

prefetch-domain yes

speed-check-mode ping,tcp:80,tcp:443

max-reply-ip-num 5

force-AAAA-SOA yes

force-qtype-SOA 65

serve-expired yes

serve-expired-ttl 0

serve-expired-reply-ttl 30

cache-size 40960

cache-persist yes
cache-file /etc/smartdns/smartdns.cache

dnsmasq-lease-file /var/lib/misc/dnsmasq.leases

rr-ttl-min 60
rr-ttl-max 86400

log-size 128K
log-num 2
log-file /etc/smartdns/smartdns.log

server-https https://doh.pub/dns-query -group cn
server-https https://dns.alidns.com/dns-query -group cn
server-https https://223.5.5.5/dns-query -group cn

nameserver /.net/cn
nameserver /.com.cn/cn

server-https https://dns.google/dns-query -group us -exclude-default-group
server-https https://dns.quad9.net/dns-query -group us -exclude-default-group
server-https https://dns.cloudflare.com/dns-query -group us -exclude-default-group
server-https https://1.1.1.1/dns-query -group us -exclude-default-group`

国内、国外

@crackerfly
Copy link

第二服务器开启跳过缓存试试

@99dn235
Copy link
Author

99dn235 commented Aug 30, 2022

谢谢大神解答,第二服务器开启跳过缓存 解析如下
国内、国外 -2

配置具体如下:

`server-name smartdns

bind [::]:6053 -group cn
bind-tcp [::]:6053 -group cn

bind [::]:5335 -group us -no-speed-check -no-cache
bind-tcp [::]:5335 -group us -no-speed-check -no-cache

prefetch-domain yes

speed-check-mode ping,tcp:80,tcp:443

max-reply-ip-num 5

force-AAAA-SOA yes

force-qtype-SOA 65

serve-expired yes

serve-expired-ttl 0

serve-expired-reply-ttl 30

cache-size 40960

cache-persist yes
cache-file /etc/smartdns/smartdns.cache

dnsmasq-lease-file /var/lib/misc/dnsmasq.leases

rr-ttl-min 60
rr-ttl-max 86400

log-size 128K
log-num 2
log-file /etc/smartdns/smartdns.log

server-https https://doh.pub/dns-query -group cn
server-https https://dns.alidns.com/dns-query -group cn
server-https https://223.5.5.5/dns-query -group cn

nameserver /.net/cn
nameserver /.com.cn/cn

server-https https://dns.google/dns-query -group us -exclude-default-group
server-https https://dns.quad9.net/dns-query -group us -exclude-default-group
server-https https://dns.cloudflare.com/dns-query -group us -exclude-default-group
server-https https://1.1.1.1/dns-query -group us -exclude-default-group`

@crackerfly
Copy link

我认为更好的处理方法是复制翻墙软件的规则表, 通过nameserver分流到第一服务器的us分组

因为关闭缓存的话, 就失去了smartdns最核心的优势了

@99dn235
Copy link
Author

99dn235 commented Aug 30, 2022

@crackerfly
虽然不理解怎么读取 “翻墙软件的规则表”,但还是感谢大神

@jxph1123
Copy link

这个软件上手确实有点困难,研究几天了,默认组、第一组、第二组我现在都还没搞清楚他的逻辑是什么,感觉很玄学。。。搜索问题五花八门,也没有一个很明确的说明,我现在云里雾里的。。

@crackerfly
Copy link

crackerfly commented Aug 30, 2022

这就是linux普及不起来的原因...
用户群两极分化太严重

  • 高玩: 一看就懂, 不需要文档, 也不需要UI交互, 命令行效率极高
  • 小白: 卧槽这是什么玩意, 为什么连个文档都找不到, 为什么没人分享使用教程

然后好多很牛的软件, 其作者作为高玩, 觉得大家一看就懂, 这么简单的东西不需要写文档

很多软件甚至连编译好的安装包都没有, 非得让用户自己编译, 小白想编译还得从安装linux系统开始学

反正就是只可意会不可言传的小圈子

SmartDNS 我断断续续摸了一年才整明白怎么用,

最搞笑的是全网那些发视频教程的, 基本没一个搞对的, 也不知道抄的谁的, 反正就是抄来抄去发个视频, 估计视频发布者自己也没搞明白咋回事, 然后又有一堆自己玩不明白就去跟风喷这东西不好用的, 比如那个lean的作者, 之前居然还发一贴置顶吐槽SmartDNS毫无价值

@jxph1123
Copy link

这就是linux普及不起来的原因... 用户群两极分化太严重

  • 高玩: 一看就懂, 不需要文档, 也不需要UI交互, 命令行效率极高
  • 小白: 卧槽这是什么玩意, 为什么连个文档都找不到, 为什么没人分享使用教程

然后好多很牛的软件, 其作者作为高玩, 觉得大家一看就懂, 这么简单的东西不需要写文档

很多软件甚至连编译好的安装包都没有, 非得让用户自己编译, 小白想编译还得从安装linux系统开始学

反正就是只可意会不可言传的小圈子

SmartDNS 我断断续续摸了一年才整明白怎么用

最搞笑的是全网那些发视频教程的, 基本没一个搞对的, 也不知道抄的谁的, 反正就是抄来抄去发个视频, 估计发布者自己也没搞明白咋回事

就是这样,我搞几天了,还是云里雾里,教程也是五花八门,到现在一个准确的smartdns配合SSR的解析原理流程也找不到,这个第一组第二组我也搞晕了,其实主要还是不清楚这两组的解析流程。。。。因为版本更新多,很多issues不适用了,有些还自相矛盾,搞得人更懵了。。。

@99dn235
Copy link
Author

99dn235 commented Aug 30, 2022

@crackerfly
主要是OpenWrt固件版本容易出现问题,几天不重启就会出问题,想使用linux 版本试试,没有想到linux也不容易

@crackerfly
Copy link

@crackerfly 主要是OpenWrt固件版本容易出现问题,几天不重启就会出问题,想使用linux 版本试试,没有想到linux也不容易

OpenWrt也是一样的状况 , 其实OpenWrt很稳, 多数不稳的是因为CPU的频率设置和调节选项没调好... 但也没啥教程

举个例子:

我的R7800 刷OpenWrt官方原版 只能跑600Mbps, 因为官方原版没有集成高通的QSDK, 硬件加速不工作
官方社区里有一个维护了很多年的集成了QSDK的版本, 可以跑满1000Mbps
他们用的都很好, 但我这就很不稳定, 因为我用clash, cpu负载非常高
我又现学现试, 测了半个月, 最终找到了稳定的配置参数

同样的问题我在用冥王峡谷装上OpenWrt也有遇到, 反正就是慢慢研究慢慢试吧.... 最终都能调稳....

@jxph1123
Copy link

我试了,我openwrt配置是作为dnsmasq上游,两组解析也一模一样,我感觉应该是正常的吧,我是默认组6553,都是国内DNS,另外一组5335国外DNS给SSR,然后SSR通过5335的国外DNS解析,根据GFW规则,跳过国内域名,将解析到的国外域名通过5335返回给smartdns,然后都是两组缓存后给dnsmasq。所以现象就是6553和5335返回域名都一样,不知道是不是这个道理。。。。

@crackerfly
Copy link

SSR

我没用过SSR, CLASH上遇到过类似的问题
当时是无论国内国外, 都会被丢到第二服务器分组, 最后发现是有个配置错了, 但全网教程那个配置几乎都是那么写的, 哈哈
你要看SSR的日志分析一下

@jxph1123
Copy link

jxph1123 commented Aug 30, 2022

SSR

我没用过SSR, CLASH上遇到过类似的问题 当时是无论国内国外, 都会被丢到第二服务器分组, 最后发现是有个配置错了, 但全网教程那个配置几乎都是那么写的, 哈哈 你要看SSR的日志分析一下

我现在就是感觉先默认组过一遍,然后都要到第二组再过一遍,然后通过SSR的GFW规则来区分国内国外。。能分享下是哪个配置吗,谢谢

@crackerfly
Copy link

SSR的GFW

分享给你两个资源, 比机场内置的要好用得多, 替换一下

https://github.com/Loyalsoldier/geoip
https://github.com/mayaxcn/china-ip-list

@99dn235
Copy link
Author

99dn235 commented Aug 30, 2022

谢谢大神分享

@jasonding121205
Copy link

SSR

我没用过SSR, CLASH上遇到过类似的问题 当时是无论国内国外, 都会被丢到第二服务器分组, 最后发现是有个配置错了, 但全网教程那个配置几乎都是那么写的, 哈哈 你要看SSR的日志分析一下

大神贴下debian的配置吧,我最近ip111老是显示全部走的国外,以前从来没碰上过

@PikuZheng
Copy link
Contributor

主要是OpenWrt固件版本容易出现问题,几天不重启就会出问题,想使用linux 版本试试,没有想到linux也不容易

原版还是很稳的,我上次重启还是20天前。。。

我试了,我openwrt配置是作为dnsmasq上游,两组解析也一模一样,我感觉应该是正常的吧,我是默认组6553,都是国内DNS,另外一组5335国外DNS给SSR,然后SSR通过5335的国外DNS解析,根据GFW规则,跳过国内域名,将解析到的国外域名通过5335返回给smartdns,然后都是两组缓存后给dnsmasq。所以现象就是6553和5335返回域名都一样,不知道是不是这个道理。。。。

不太理解你们为啥弄这么复杂。。。第二dns服务我从来没用过
smartdns其实只做了两件事,一是国内有cdn的网址,找出最快的那一个ip;二是国外被gfw的网站,通过国外的dns服务获取到正确的ip。所以围绕这两个目标,剩下的就是逻辑问题了。

首先建几个国内的上游服务器,无非就是百度阿里腾讯三大家(还有114,360,我是不用的)。配置好测速缓存排除(ios的https之类的),顺便加个广告的黑名单,这样国内的就完事了。

然后给国外组起个名,配几个上游服务器并从默认组排除,把gfwlist写进去,如果代理不支持ipv6还要配置这些不返回ipv6。如果这几个上游不能直接连接,还要把这几个地址加到代理的”代理自身-强制代理“中。

当然还会有一些每人都不同的个性化配置,就是在这个框架搭好之后的调整

@PikuZheng
Copy link
Contributor

debian配第二服务器的话,第二服务器要写额外的启动参数,稍微麻烦些

@crackerfly
Copy link

主要是OpenWrt固件版本容易出现问题,几天不重启就会出问题,想使用linux 版本试试,没有想到linux也不容易

原版还是很稳的,我上次重启还是20天前。。。

我试了,我openwrt配置是作为dnsmasq上游,两组解析也一模一样,我感觉应该是正常的吧,我是默认组6553,都是国内DNS,另外一组5335国外DNS给SSR,然后SSR通过5335的国外DNS解析,根据GFW规则,跳过国内域名,将解析到的国外域名通过5335返回给smartdns,然后都是两组缓存后给dnsmasq。所以现象就是6553和5335返回域名都一样,不知道是不是这个道理。。。。

不太理解你们为啥弄这么复杂。。。第二dns服务我从来没用过 smartdns其实只做了两件事,一是国内有cdn的网址,找出最快的那一个ip;二是国外被gfw的网站,通过国外的dns服务获取到正确的ip。所以围绕这两个目标,剩下的就是逻辑问题了。

首先建几个国内的上游服务器,无非就是百度阿里腾讯三大家(还有114,360,我是不用的)。配置好测速缓存排除(ios的https之类的),顺便加个广告的黑名单,这样国内的就完事了。

然后给国外组起个名,配几个上游服务器并从默认组排除,把gfwlist写进去,如果代理不支持ipv6还要配置这些不返回ipv6。如果这几个上游不能直接连接,还要把这几个地址加到代理的”代理自身-强制代理“中。

当然还会有一些每人都不同的个性化配置,就是在这个框架搭好之后的调整

就如我前面说的 因为网上的教程都是这么写的 然后一帮伪权威抄来抄去 哈哈

@PikuZheng
Copy link
Contributor

就如我前面说的 因为网上的教程都是这么写的 然后一帮伪权威抄来抄去 哈哈

这玩意就好像咖啡豆处理一样,一帮人吹得神乎其神,各种玄学问题,但从本质上看并没有发生什么改变,最多就是心理上的安慰效应了

@jxph1123
Copy link

主要是OpenWrt固件版本容易出现问题,几天不重启就会出问题,想使用linux 版本试试,没有想到linux也不容易

原版还是很稳的,我上次重启还是20天前。。。

我试了,我openwrt配置是作为dnsmasq上游,两组解析也一模一样,我感觉应该是正常的吧,我是默认组6553,都是国内DNS,另外一组5335国外DNS给SSR,然后SSR通过5335的国外DNS解析,根据GFW规则,跳过国内域名,将解析到的国外域名通过5335返回给smartdns,然后都是两组缓存后给dnsmasq。所以现象就是6553和5335返回域名都一样,不知道是不是这个道理。。。。

不太理解你们为啥弄这么复杂。。。第二dns服务我从来没用过 smartdns其实只做了两件事,一是国内有cdn的网址,找出最快的那一个ip;二是国外被gfw的网站,通过国外的dns服务获取到正确的ip。所以围绕这两个目标,剩下的就是逻辑问题了。

首先建几个国内的上游服务器,无非就是百度阿里腾讯三大家(还有114,360,我是不用的)。配置好测速缓存排除(ios的https之类的),顺便加个广告的黑名单,这样国内的就完事了。

然后给国外组起个名,配几个上游服务器并从默认组排除,把gfwlist写进去,如果代理不支持ipv6还要配置这些不返回ipv6。如果这几个上游不能直接连接,还要把这几个地址加到代理的”代理自身-强制代理“中。

当然还会有一些每人都不同的个性化配置,就是在这个框架搭好之后的调整

我的理解第二DNS就是你说的国外组,只是做了个luci设置界面直观点,有些不用写参数,luci界面打勾就行了,但服务器还是得写

@PikuZheng
Copy link
Contributor

我的理解第二DNS就是你说的国外组

”第二dns服务器“和”上游服务器组“是毫无关系的两回事。第二dns服务器是单独起了一个服务端口,配置与主服务不同的全局参数。上游服务器组是在一个服务端口下,针对不同域名组(address和domain-rule定义的)配置的不同上游和行为

@cresky-github
Copy link

无需第二端口,
只要域名与DNS组名相同,并排除默认组,就行了。

当然,也可以只定义一个组,剩下的归为默认组。

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

7 participants