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.45k stars 1.08k forks source link

为何已经在IP黑名单添加了某个地址/网段,还是会解析到污染地址? #115

Closed VanDeAnna closed 5 years ago

VanDeAnna commented 5 years ago

问题现象

KoolShare LEDE 酷软的 KoolSS, 国外 DNS 选择 pdnds tcp 查询模式,直连路由 ip 端口 6053。访问Google正常,早上访问 Youtube 也正常,下午开始无法访问 Youtube。dig 或者 nslookup 命令 Youtube 发现返回 243.185.187.39。检查黑名单内已经早已添加 blacklist-ip 243.185.187.0/24,重启后此 IP 依然无法屏蔽,还是解析到这个地址。

运行环境

  1. 固件型号
    KoolShare LEDE 2.25 smartdns.1.2019.03.02-1141.x86_64.ipk
  2. 运营商
    电信

重现步骤

  1. 上游DNS配置。
    server 1.1.1.1 -blacklist-ip -check-edns -group ss server 1.0.0.1 -blacklist-ip -check-edns -group ss server 8.8.8.8 -blacklist-ip -check-edns -group ss server 8.8.4.4 --blacklist-ip check-edns -group ss server 119.29.29.29 -blacklist-ip -group cn server 193.112.15.186 -blacklist-ip -group cn server 124.251.124.251 -blacklist-ip -group cn server 61.144.78.170 -blacklist-ip -group cn

  2. 访问的域名。
    youtube.com

pymumu commented 5 years ago

是不是pdnsd缓存了。

你直接用dig命令到smartdns的6053端口查询一下看看。

VanDeAnna commented 5 years ago

是不是pdnsd缓存了。

你直接用dig命令到smartdns的6053端口查询一下看看。

SmartDNS 设置 作为dnsmasq的上游服务器。 LEDE 的 DHCP/DNS 下,我把 DNS 缓存设置为了 0,SmartDNS 的缓存 5120。 dig 之前我把 KoolSS 的 国外DNS 换成 Pcap_DNSProxy,测试 Youtube 正常访问。 然后把 国外DNS 再换回 pdnsd tcp查询,直连 10.10.10.1:6053 。

dig youtube.com @10.10.10.1 -p 53 返回了之前那个屏蔽的地址,243.185.187.39 。

dig youtube.com @10.10.10.1 -p 6053 返回这个地址 59.24.3.173。但是这个地址我之前有加入 blacklist-ip 59.24.3.0/24 。

过了几分钟 dig youtube.com @10.10.10.1 -p 6053 返回 243.185.187.39,但是我也有添加 blacklist-ip 243.185.187.0/24 。 dig youtube.com @10.10.10.1 -p 53 仍然返回,243.185.187.39

在 Win 下,我 ipconfig /flushdns 清理了系统 DNS 缓存,Chrome 的 DNS 缓存也清理了 但是 Win CMD 下 nslookp youtube 还是返回应该屏蔽的那个 243.185.187.39。

VanDeAnna commented 5 years ago

目前就发现访问 youtube.com 有问题,其他 Google Twitter Facebook 都能正常访问。 KoolSS 已经开启了 chromecast支持,Lan DHCP 广播的 DNS 地址只有路由的 10.10.10.1 。

pymumu commented 5 years ago

你的配置有个地方错误,你改下看看

server 8.8.4.4 --blacklist-ip check-edns -group ss 改成 server 8.8.4.4 -blacklist-ip -check-edns -group ss

VanDeAnna commented 5 years ago

你的配置有个地方错误,你改下看看

server 8.8.4.4 --blacklist-ip check-edns -group ss 改成 server 8.8.4.4 -blacklist-ip -check-edns -group ss

不好意思让你造成困扰,我刚才也发现并修改然后重启了SmartDNS,但还是返回屏蔽的IP地址。 我怀疑是 pdnsd 缓存的原因,现在正试着删除它的缓存,等会再 feedback 。

ZiPenOk commented 5 years ago

KS的LEDE的话,别用pdnsd了,用cdns,只配置一条127.0.0.1:6053

VanDeAnna commented 5 years ago

检查了一晚上,现在已经取消 SmartDNS 做 SS 的上游,pdnsd 的 cache 也删掉了,但 dig youtube @10.10.10.1 -p 6053 依然返回黑名单中的地址。 由于一直返回错误地址,楼上说用cdns我也没成功。检查了所有配置文件没发现哪里有问题,打算删除所有配置文件重装试试。

VanDeAnna commented 5 years ago

还想问一下,添加了类似 server 1.1.1.1 这样的自定义参数/设置, 是否还需要在网页端的 上游服务器 添加对应的 DNS 服务器?

另外 /etc/smartdns/smartdns.conf 和 custom.conf 以及 /etc/config/smartdns 哪个配置的优先级比较高?


第一个问题我自己回答了,不用

VanDeAnna commented 5 years ago

KS的LEDE的话,别用pdnsd了,用cdns,只配置一条127.0.0.1:6053

/koolshare/ss/rule/cdns.json 是这样设置吗?

{ "global": { "daemon": true, "log": "syslog:daemon", "pidfile": "/var/run/cdns.pid", "log_debug": false }, "cdns": { "listen_ip": "127.0.0.1", "listen_port": 7913, "timeout": 2, "servers": [ { "ip_port": "10.10.10.1:6053" } ] } }

总觉得有点怪怪的

pymumu commented 5 years ago

用你的IP地址验证了blacklist过滤,功能没有问题,你还是排查配置问题吧

还有lede v2ray集成的smartdns和正式版本冲突

VanDeAnna commented 5 years ago

用你的IP地址验证了blacklist过滤,功能没有问题,你还是排查配置问题吧

昨晚删所有配置文件后重装,目前使用正常。网友推荐的直连 cdns 我没使用成功。 现在 tcp 直连 KoolSS 提供的 pdnsd,禁用了 pdnsd 的缓存(这东西的默认 min_ttl 居然设置成 24h,max_ttl = 1w)。SmartDNS 除了几个公共 DNS,还添加了几个无污染的国内外 DNS 服务器加了设置 -group ss 参数专门解析转换了格式的 gfwlist.conf 里面的网址,还能添加自己另外维护的另一个表。估计是软件和服务器靠谱,就算添加的 DNS 服务器没有 -blacklist-ip 参数也有很好的防污染效果,连接迅速。不加 -blacklist-ip 是因为发现梯子开全局模式,有些屏蔽网段内的 IP 输入到地址栏实际能直接登陆到 Google 主页,怀疑是错杀的。

感谢作者提供了这么优秀的软件。

chenchao0925 commented 5 years ago

用你的IP地址验证了blacklist过滤,功能没有问题,你还是排查配置问题吧

昨晚删所有配置文件后重装,目前使用正常。网友推荐的直连 cdns 我没使用成功。 现在 tcp 直连 KoolSS 提供的 pdnsd,禁用了 pdnsd 的缓存(这东西的默认 min_ttl 居然设置成 24h,max_ttl = 1w)。SmartDNS 除了几个公共 DNS,还添加了几个无污染的国内外 DNS 服务器加了设置 -group ss 参数专门解析转换了格式的 gfwlist.conf 里面的网址,还能添加自己另外维护的另一个表。估计是软件和服务器靠谱,就算添加的 DNS 服务器没有 -blacklist-ip 参数也有很好的防污染效果,连接迅速。不加 -blacklist-ip 是因为发现梯子开全局模式,有些屏蔽网段内的 IP 输入到地址栏实际能直接登陆到 Google 主页,怀疑是错杀的。

感谢作者提供了这么优秀的软件。

可否把你的配置文件发来学习一下,我的邮箱31763688@qq.com,万分感谢。

wqllpw commented 1 year ago

用你的IP地址验证了blacklist过滤,功能没有问题,你还是排查配置问题吧

昨晚删所有配置文件后重装,目前使用正常。网友推荐的直连 cdns 我没使用成功。 现在 tcp 直连 KoolSS 提供的 pdnsd,禁用了 pdnsd 的缓存(这东西的默认 min_ttl 居然设置成 24h,max_ttl = 1w)。SmartDNS 除了几个公共 DNS,还添加了几个无污染的国内外 DNS 服务器加了设置 -group ss 参数专门解析转换了格式的 gfwlist.conf 里面的网址,还能添加自己另外维护的另一个表。估计是软件和服务器靠谱,就算添加的 DNS 服务器没有 -blacklist-ip 参数也有很好的防污染效果,连接迅速。不加 -blacklist-ip 是因为发现梯子开全局模式,有些屏蔽网段内的 IP 输入到地址栏实际能直接登陆到 Google 主页,怀疑是错杀的。

感谢作者提供了这么优秀的软件。

请问后来有确认原因吗?我也遇到同样问题,只有youtube DNS解析被污染了。重启第一次是正常的,再之后访问就会被污染,检查各种配置无果,万分感谢