smartdns icon indicating copy to clipboard operation
smartdns copied to clipboard

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

Open 99dn235 opened this issue 2 years ago • 22 comments

求助,现在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`

国内、国外

99dn235 avatar Aug 30 '22 08:08 99dn235

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

crackerfly avatar Aug 30 '22 08:08 crackerfly

谢谢大神解答,第二服务器开启跳过缓存 解析如下 国内、国外 -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`

99dn235 avatar Aug 30 '22 08:08 99dn235

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

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

crackerfly avatar Aug 30 '22 08:08 crackerfly

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

99dn235 avatar Aug 30 '22 08:08 99dn235

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

jxph1123 avatar Aug 30 '22 08:08 jxph1123

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

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

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

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

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

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

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

crackerfly avatar Aug 30 '22 09:08 crackerfly

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

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

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

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

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

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

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

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

jxph1123 avatar Aug 30 '22 09:08 jxph1123

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

99dn235 avatar Aug 30 '22 09:08 99dn235

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

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

举个例子:

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

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

crackerfly avatar Aug 30 '22 09:08 crackerfly

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

jxph1123 avatar Aug 30 '22 09:08 jxph1123

SSR

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

crackerfly avatar Aug 30 '22 09:08 crackerfly

SSR

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

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

jxph1123 avatar Aug 30 '22 09:08 jxph1123

SSR的GFW

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

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

crackerfly avatar Aug 30 '22 09:08 crackerfly

谢谢大神分享

99dn235 avatar Aug 30 '22 10:08 99dn235

SSR

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

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

jasonding121205 avatar Aug 30 '22 10:08 jasonding121205

主要是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 avatar Aug 30 '22 11:08 PikuZheng

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

PikuZheng avatar Aug 30 '22 11:08 PikuZheng

主要是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。如果这几个上游不能直接连接,还要把这几个地址加到代理的”代理自身-强制代理“中。

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

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

crackerfly avatar Aug 30 '22 11:08 crackerfly

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

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

PikuZheng avatar Aug 30 '22 12:08 PikuZheng

主要是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界面打勾就行了,但服务器还是得写

jxph1123 avatar Aug 30 '22 13:08 jxph1123

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

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

PikuZheng avatar Aug 30 '22 13:08 PikuZheng

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

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

cresky-github avatar Sep 21 '22 14:09 cresky-github