找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 36394|回复: 45

passwall china-dns smart的dns解析流程

  [复制链接]
发表于 2020-2-15 22:49 | 显示全部楼层 |阅读模式
本帖最后由 bskdsbz 于 2020-2-16 08:03 编辑

发现很多人搞不清楚他们是怎么工作的,甚至youtube上很多主播都搞不清楚,都说什么“优先级”概念,但没有任何看得见的证明,所以特意研究了下配置文件,基本搞清楚了流程,给大家点思路,加快网内网外的dns解析速度。以下测试过程都是基于自己的系统,如有错误请指出


首先,默认的域名解析式udp53接口,除非你关闭dnsmasq,或者强制改端口,域名解析一般都是dnsmasq的53端口先接手的,我个人是不建议去修改这个的
如果在接口界面设置了使用通告服务器,就会用tmp/resolv.conf读取pppoe通告的dns地址,为了找到dns解析真正的流程,此次wan口“使用通告服务器”没有打勾。

开门见山,直接说重点。本机固件安装有smartdns,passwall、china-dns-ng,有个配置文件etc/dnsmasq.d/dnsmasq-passwall.conf,此文件内容为
server=127.0.0.1#7913
all-servers
no-poll
conf-dir=/var/etc/dnsmasq-passwall.d

可以看到dnsmasq.d是dnsmasq的动态目录,动态目录的含义有兴趣的可以去百度下,可以简单点理解成附加的设置,这个配置文件内容是把服务转发到本机7913端口,利用“netstat -tunlp |grep 7913”发送监听7913udp端口的是china-dns-ng程序
最下面一行dnsmasq-passwall.d这个动态文件夹内有三个文件,分别是passwall里的黑名单、白名单和gfwlist,其中黑名单和gfwlist还写着把服务指向本机的7913端口,可以说已经把dns劫持了

继续利用passwall和smartdns测试,dnsmasq的web界面并没有开转发,也就是说只有应该只有上面的那个文件在起作用,把dns被劫持到china-dns-ng去了。
然后在passwall的dns界面,dns采用china-dns-ng模式,然后人为输入错误的dns来测试国内和可信dns,结果如下
国内dns真,可信dns假国内dns假,可信dns真国内和可信都是假
国内网站正常正常没有dns,找不到ip
国外网站没有dns,找不到ip正常没有dns,找不到ip
其中国外网站用的youtube和google
我网上找了下china-dns的流程,他是把dns分成国内和国外组,然后同时查询域名,分析返回的ip结果,如果返回的ip是国内ip,直接采用;如果ip是国外ip,只采用国外dns的,放弃国内dns的
我的测试结果和你一理论一样
总结:china-dns-ng会在后台劫持dnsmasq的域名解析,然后根据gfwlist分国内dns和可信dns解析,这一界面在passwall里可以看到,gfwlist内的域名,只用可信dns解析,其他域名国内和可信dns同时解析
解析流程图大致如下
客户端——dnsmasq——china-dns-nd(dns按照gfw分组)——smartdns(国内组)
                                                                                 ——smartdns(国外组)

所以我是这么设置的:
passwall可以把dns分成2组,国内和国外分开,利用smartdns的分组功能正好可以分开解析,国内的dns可以保证访问国内的速度,以及正确解析(国外dns有可能会给你解析到国外cdn去),国外的dns用tls或者https保证不被污染。具体做法
a、smartdns设置,国内组114之类,udp接口就行,端口12345;国外8888 8844,tls,端口54321
b、ndsmasq不转发,不重绑定保护(etc/dnsmasq.d/dnsmasq-passwall.conf会劫持,不用设置)
c、passwall 国内dns127.0.0.1#12345,china-dns-ng可信dns127.0.0.1#54321,不开dns劫持(分工很清晰,不用劫持)

谢谢大家





我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-2-15 23:10 | 显示全部楼层
楼主这个思路也可以,不过我是国内的就通过dsmasq转发到 adguard home 解析顺便去点广告,国外的就用smart dns 搞了个组在乳酸菌饮料哪里直接设置转发到smart dns 国外组的监听端口

点评

其实关键是搞清楚它是怎么分流的,dnsmasq转发可是不会分墙内墙外的,是所有dns解析请求都转发  详情 回复 发表于 2020-2-15 23:24
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-2-15 23:16 | 显示全部楼层
最好截图,小白看不太懂。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-2-15 23:19 | 显示全部楼层
正安装
学习了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2020-2-15 23:24 | 显示全部楼层
xroot 发表于 2020-2-15 23:10
楼主这个思路也可以,不过我是国内的就通过dsmasq转发到 adguard home 解析顺便去点广告,国外的就用smart dn ...

其实关键是搞清楚它是怎么分流的,dnsmasq转发可是不会分墙内墙外的,是所有dns解析请求都转发

点评

虽然dnsmasq 不会区分国内外解析,但是只要开启乳酸菌饮料之后,符合条件gfwlist的IP会强制走到乳酸菌饮料的出口(此时不再是dnsmasq解析国外)这时候乳酸菌饮料再转发到smart dns 国外组解析出国外最优速度.这样就达到  详情 回复 发表于 2020-2-15 23:33
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-2-15 23:33 | 显示全部楼层
bskdsbz 发表于 2020-2-15 23:24
其实关键是搞清楚它是怎么分流的,dnsmasq转发可是不会分墙内墙外的,是所有dns解析请求都转发

虽然dnsmasq 不会区分国内外解析,但是只要开启乳酸菌饮料之后,符合条件gfwlist的IP会强制走到乳酸菌饮料的出口(此时不再是dnsmasq解析国外)这时候乳酸菌饮料再转发到smart dns 国外组解析出国外最优速度.这样就达到分流了

点评

你意思发送到路由器53udp端口的dns解析会到乳酸菌饮料?这个就等于完全劫持dnsmasq了,和china-dns-ng类似了,但你又设置了转发adguardhome,最后是怎么走呢? 乳酸菌饮料劫持和adguardhome同时解析dns吗  详情 回复 发表于 2020-2-15 23:44
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-2-15 23:33 | 显示全部楼层
楼主,我是另外建的AdGuardHome虚拟机,IP为10.10.7.10,端口9717,所以在passwall国内那里填10.10.7.10:9717,国外那里填google DNS
同时取消DNSMASQ的转发,不勾选DNS劫持,这样可以吗?
还有AdGuard的上游DNS只能填国内的DNS了, 填国外DNS怕国内域名解析到国外去了。是这样吗?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-2-15 23:40 | 显示全部楼层
另外,我测试了下,在passwall不管是否DNS劫持,且国内DNS为114DNS,但是DNSMASQ转发到了我的AdGuard 10.10.7.10:9717,
我打开国内网站,都能在Ad里看到解析记录,所以DNSMASQ如果有转发就是优先的,不管passwall怎么填。不知道是不是这样理解的。

点评

这个还真说不准,可能是有优先级,也可能是转发和劫持同时解析,不知道谁有说服力的证明  详情 回复 发表于 2020-2-15 23:52
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2020-2-15 23:44 | 显示全部楼层
xroot 发表于 2020-2-15 23:33
虽然dnsmasq 不会区分国内外解析,但是只要开启乳酸菌饮料之后,符合条件gfwlist的IP会强制走到乳酸菌饮料 ...

你意思发送到路由器53udp端口的dns解析会到乳酸菌饮料?这个就等于完全劫持dnsmasq了,和china-dns-ng类似了,但你又设置了转发adguardhome,最后是怎么走呢?
乳酸菌饮料劫持和adguardhome同时解析dns吗

点评

简单的说,就是国内走adguard home(通过dnsmasq转发),国外走smartdns(乳酸菌饮料转发) 具体可以参考这个帖子:https://www.right.com.cn/forum/thread-2164053-1-2.html 只不过乳酸菌饮料转发dns解析哪里,我换成了sm  详情 回复 发表于 2020-2-16 00:43
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-2-15 23:50 | 显示全部楼层
b、ndsmasq不转发,不重绑定保护(etc/dnsmasq.d/dnsmasq-passwall.conf会劫持,不用设置),那么在重定向那里不用选择上游服务器吗?直接选择  无?

点评

是的,smartdns重定向选择无,实际因为china-dns-ng的劫持,smartdns还是一样工作 解析流程是客户端——dnsmasq——china-dns-nd(dns按照gfw分组)——smartdns(国内组)  详情 回复 发表于 2020-2-15 23:56
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2020-2-15 23:52 | 显示全部楼层
honglei023 发表于 2020-2-15 23:40
另外,我测试了下,在passwall不管是否DNS劫持,且国内DNS为114DNS,但是DNSMASQ转发到了我的AdGuard 10.10 ...

这个还真说不准,可能是有优先级,也可能是转发和劫持同时解析,不知道谁有说服力的证明
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2020-2-15 23:56 | 显示全部楼层
正绿 发表于 2020-2-15 23:50
b、ndsmasq不转发,不重绑定保护(etc/dnsmasq.d/dnsmasq-passwall.conf会劫持,不用设置),那么在重定向那 ...

是的,smartdns重定向选择无,实际因为china-dns-ng的劫持,smartdns还是一样工作
解析流程是客户端——dnsmasq——china-dns-nd(dns按照gfw分组)——smartdns(国内组)
                                                                                               ——smartdns(国外组)
                                                                  

点评

这个逻辑基本通了  详情 回复 发表于 2020-2-16 00:38
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2020-2-15 23:58 | 显示全部楼层
我那张表格测试的国内和可信dns,实际是smartdns的两个分组端口,所以确定smartdns正常工作
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-2-16 00:38 | 显示全部楼层
bskdsbz 发表于 2020-2-15 23:56
是的,smartdns重定向选择无,实际因为china-dns-ng的劫持,smartdns还是一样工作
解析流程是客户端—— ...

这个逻辑基本通了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-2-16 00:43 | 显示全部楼层
bskdsbz 发表于 2020-2-15 23:44
你意思发送到路由器53udp端口的dns解析会到乳酸菌饮料?这个就等于完全劫持dnsmasq了,和china-dns-ng类 ...

简单的说,就是国内走adguard home(通过dnsmasq转发),国外走smartdns(乳酸菌饮料转发)
具体可以参考这个帖子:https://www.right.com.cn/forum/thread-2164053-1-2.html
只不过乳酸菌饮料转发dns解析哪里,我换成了smart dns的端口.

点评

那个帖子最后一张图显示用的china-dns  详情 回复 发表于 2020-2-16 00:56
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-26 03:59

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表