Closed liang-hiwin closed 4 years ago
ts-dns-full.toml
中的自定义分组[groups.work]
只是一个示例,可以随意添加任何名称的分组。
ts-dns-full.toml
中的自定义分组[groups.work]
只是一个示例,可以随意添加任何名称的分组。
被防火墙屏蔽的域名无法解析什么情况呢?
`dig www.google.com.hk @127.0.0.1 -p 5500
; <<>> DiG 9.10.3-P4-Debian <<>> www.google.com.hk @127.0.0.1 -p 5500 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9553 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.google.com.hk. IN A
;; Query time: 0 msec ;; SERVER: 127.0.0.1#5500(127.0.0.1) ;; WHEN: Sun Apr 12 12:22:14 CST 2020 ;; MSG SIZE rcvd: 46
`
` [groups.dirty] # 必选分组,匹配GFWList的域名会归类到该组
dns = ["127.0.0.1:5300", "127.0.0.1:5354"] # 如不想用socks5代理解析时推荐使用国外非53端口dns`
`root@iZwz9d1rjhrzzxa4lsoi93Z:~# dig www.google.com.hk @127.0.0.1 -p 5300
; <<>> DiG 9.10.3-P4-Debian <<>> www.google.com.hk @127.0.0.1 -p 5300 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49900 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.google.com.hk. IN A
;; ANSWER SECTION: www.google.com.hk. 300 IN A 172.217.10.131
;; Query time: 246 msec ;; SERVER: 127.0.0.1#5300(127.0.0.1) ;; WHEN: Sun Apr 12 12:23:41 CST 2020 ;; MSG SIZE rcvd: 62
`
我的外网域名的解析正常 地址:127.0.0.1:5354和127.0.0.1:5300 `root@iZwz9d1rjhrzzxa4lsoi93Z:~# dig www.google.com.hk @127.0.0.1 -p 5354
; <<>> DiG 9.10.3-P4-Debian <<>> www.google.com.hk @127.0.0.1 -p 5354 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20810 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION: ;www.google.com.hk. IN A
;; ANSWER SECTION: www.google.com.hk. 231 IN A 172.217.10.131
;; Query time: 0 msec ;; SERVER: 127.0.0.1#5354(127.0.0.1) ;; WHEN: Sun Apr 12 12:24:50 CST 2020 ;; MSG SIZE rcvd: 51
root@iZwz9d1rjhrzzxa4lsoi93Z:~# dig www.google.com.hk @127.0.0.1 -p 5300
; <<>> DiG 9.10.3-P4-Debian <<>> www.google.com.hk @127.0.0.1 -p 5300 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55714 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION: ;www.google.com.hk. IN A
;; ANSWER SECTION: www.google.com.hk. 148 IN A 172.217.10.131
;; Query time: 0 msec ;; SERVER: 127.0.0.1#5300(127.0.0.1) ;; WHEN: Sun Apr 12 12:26:13 CST 2020 ;; MSG SIZE rcvd: 68
`
ts-dns默认使用的配置文件为ts-dns.toml
,提bug时请给出完整的配置文件和ts-dns的日志。
ts-dns默认使用的配置文件为
ts-dns.toml
,提bug时请给出完整的配置文件和ts-dns的日志。
老哥配置文件和log这里 log.zip
默认的gfw列表是加密的,不懂是否支持不加密的格式。比如这种:https://pexcn.me/daily/gfwlist/gfwlist.txt
默认的gfw列表是加密的,不懂是否支持不加密的格式。比如这种:https://pexcn.me/daily/gfwlist/gfwlist.txt
这种非base64编码的gfwlist会在后续的版本添加支持。
默认的gfw列表是加密的,不懂是否支持不加密的格式。比如这种:https://pexcn.me/daily/gfwlist/gfwlist.txt
这种非base64编码的gfwlist会在后续的版本添加支持。
配置文件和log发了你看到了吗? 我看log发现它通这个组解析
ts-dns默认使用的配置文件为
ts-dns.toml
,提bug时请给出完整的配置文件和ts-dns的日志。老哥配置文件和log这里 log.zip
注意日志中的如下部分:
time="2020-04-12T13:39:33+08:00" level=info msg="cn/empty ipv4" domain=www.google.com.hk. group=clean src=127.0.0.1 type=A
注意看readme中所写的DNS查询请求处理流程
。ts-dns收到www.google.com.hk
的解析请求时,首先向clean组DNS上游(即127.0.0.1:5353
)转发请求,得到的响应中没有出现非CNIP(实际上是空响应),流程结束。
ts-dns默认使用的配置文件为
ts-dns.toml
,提bug时请给出完整的配置文件和ts-dns的日志。老哥配置文件和log这里 log.zip
注意日志中的如下部分:
time="2020-04-12T13:39:33+08:00" level=info msg="cn/empty ipv4" domain=www.google.com.hk. group=clean src=127.0.0.1 type=A
注意看readme中所写的
DNS查询请求处理流程
。ts-dns收到www.google.com.hk
的解析请求时,首先向clean组DNS上游(即127.0.0.1:5353
)转发请求,得到的响应中没有出现非CNIP(实际上是空响应),流程结束。
那怎么解决?
我还以为这样解析的呢,即ts-dns收到www.google.com.hk的解析请求时,如果这个域名在gfw名单中,直接用groups.dirty这个组解析,不经过groups.clean解析。
而程序的流程是: 如未匹配规则,则假设域名为clean组,向clean组的上游DNS转发查询请求,并做如下判断: 如果查询结果中所有IPv4地址均为CN IP,则直接返回; 如果查询结果中出现非CN IP,进一步判断: 如果该域名匹配GFWList列表,则向dirty组的上游DNS转发查询请求并返回; 否则返回查询结果。
所以空解析出现了!!呜呜呜
我还以为这样解析的呢,即ts-dns收到www.google.com.hk的解析请求时,如果这个域名在gfw名单中,直接用groups.dirty这个组解析,不经过groups.clean解析。
早期的版本是这样的,但后来发现有icloud.cdn-apple.com
这种在gfw名单、但实际上其解析并没有被污染的域名存在,于是改成现在这种优先判断IP所属地的情况。
我还以为这样解析的呢,即ts-dns收到www.google.com.hk的解析请求时,如果这个域名在gfw名单中,直接用groups.dirty这个组解析,不经过groups.clean解析。
早期的版本是这样的,但后来发现有
icloud.cdn-apple.com
这种在gfw名单、但实际上其解析并没有被污染的域名存在,于是改成现在这种优先判断IP所属地的情况。
这也怪gfw的维护者了
我还以为这样解析的呢,即ts-dns收到www.google.com.hk的解析请求时,如果这个域名在gfw名单中,直接用groups.dirty这个组解析,不经过groups.clean解析。
早期的版本是这样的,但后来发现有
icloud.cdn-apple.com
这种在gfw名单、但实际上其解析并没有被污染的域名存在,于是改成现在这种优先判断IP所属地的情况。
现在估计只有对google经行单独的分组解析才能避免空解析,但是数量太多了,一个个加好累。
而且实际上www.google.com.hk
这个域名并没有被污染,使用国内的公共DNS都可以正常解析,所以奇怪的是你配置的127.0.0.1:5353
为什么会返回空响应。
而且实际上
www.google.com.hk
这个域名并没有被污染,使用国内的公共DNS都可以正常解析,所以奇怪的是你配置的127.0.0.1:5353
为什么会返回空响应。
我的127.0.0.1:5353是unbound递归解析的,开了ECS,国内所有域名都走这个,国外走doh
而且实际上
www.google.com.hk
这个域名并没有被污染,使用国内的公共DNS都可以正常解析,所以奇怪的是你配置的127.0.0.1:5353
为什么会返回空响应。我的127.0.0.1:5353是unbound递归解析的,开了ECS,国内所有域名都走这个,国外走doh
意思是unbound在做递归解析时会携带ecs信息吗
而且实际上
www.google.com.hk
这个域名并没有被污染,使用国内的公共DNS都可以正常解析,所以奇怪的是你配置的127.0.0.1:5353
为什么会返回空响应。我的127.0.0.1:5353是unbound递归解析的,开了ECS,国内所有域名都走这个,国外走doh
意思是unbound在做递归解析时会携带ecs信息吗
是的会携带客户端的ip信息。也就是所谓的一些隐私的信息
而且实际上
www.google.com.hk
这个域名并没有被污染,使用国内的公共DNS都可以正常解析,所以奇怪的是你配置的127.0.0.1:5353
为什么会返回空响应。我的127.0.0.1:5353是unbound递归解析的,开了ECS,国内所有域名都走这个,国外走doh
意思是unbound在做递归解析时会携带ecs信息吗
是的会携带客户端的ip信息。也就是所谓的一些隐私的信息
ts-dns在后续版本也会支持转发dns请求时添加ecs信息
。
而且实际上
www.google.com.hk
这个域名并没有被污染,使用国内的公共DNS都可以正常解析,所以奇怪的是你配置的127.0.0.1:5353
为什么会返回空响应。我的127.0.0.1:5353是unbound递归解析的,开了ECS,国内所有域名都走这个,国外走doh
意思是unbound在做递归解析时会携带ecs信息吗
是的会携带客户端的ip信息。也就是所谓的一些隐私的信息
ts-dns在后续版本也会支持
转发dns请求时添加ecs信息
。
doh也可以
默认的gfw列表是加密的,不懂是否支持不加密的格式。比如这种:https://pexcn.me/daily/gfwlist/gfwlist.txt
v0.11.0发布,可选是否以base64解码gfwlist,支持默认附带ECS信息转发DNS请求(DOH暂不支持)。
而且实际上
www.google.com.hk
这个域名并没有被污染,使用国内的公共DNS都可以正常解析,所以奇怪的是你配置的127.0.0.1:5353
为什么会返回空响应。我的127.0.0.1:5353是unbound递归解析的,开了ECS,国内所有域名都走这个,国外走doh
意思是unbound在做递归解析时会携带ecs信息吗
是的会携带客户端的ip信息。也就是所谓的一些隐私的信息
ts-dns在后续版本也会支持
转发dns请求时添加ecs信息
。doh也可以
这是哪个doh服务器?RFC 8484规范里完全没提到ECS啊😂
而且实际上
www.google.com.hk
这个域名并没有被污染,使用国内的公共DNS都可以正常解析,所以奇怪的是你配置的127.0.0.1:5353
为什么会返回空响应。我的127.0.0.1:5353是unbound递归解析的,开了ECS,国内所有域名都走这个,国外走doh
意思是unbound在做递归解析时会携带ecs信息吗
是的会携带客户端的ip信息。也就是所谓的一些专有的信息
ts-dns在后续版本也会支持
转发dns请求时添加ecs信息
。doh也可以
RFC 8484规范里完全没提到ECS啊
对的
而且实际上
www.google.com.hk
这个域名并没有被污染,使用国内的公共DNS都可以正常解析,所以奇怪的是你配置的127.0.0.1:5353
为什么会返回空响应。我的127.0.0.1:5353是unbound递归解析的,开了ECS,国内所有域名都走这个,国外走doh
意思是unbound在做递归解析时会携带ecs信息吗
是的会携带客户端的ip信息。也就是所谓的一些专有的信息
ts-dns在后续版本也会支持
转发dns请求时添加ecs信息
。
ts-dns_0.11.0_Linux_x86_64版本我经过测试已经OK
例如默认的自定义分组为: [groups.work] dns = ["119.29.29.29"] rules = ["qq.com", ".qq.com"] 我可以这样填写吗? [groups.work-2] dns = ["114.114.114.114"] rules = ["baidu.com", ".baidu.com"] [groups.work-3] dns = ["223.5.5.5"] rules = ["taobao.com", "*.taobao.com"]