EDNS 指定 IP 段未生效以及 DNS 分流解析的问题

2023-04-12 20:02:43 +08:00
 z5e56

想要在自建 DNS 实现防止污染、屏蔽广告、隐私保护和分流解析的目的。但是当前使用的位于海外的 Adguard Home 总是把一些国内服务解析到国外 IP 影响正常使用,即使启用了 EDNS 仍然如此

了解到 EDNS Client Subnet (ECS) 可以指定 subnet 进行解析,于是利用海外的服务器进行了如下测试

user1@localhost:~$ dig www.taobao.com @114.114.114.114 +subnet=36.111.64.0/21

; <<>> DiG 9.16.33-Debian <<>> www.taobao.com @114.114.114.114 +subnet=36.111.64.0/21
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37668
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.taobao.com.                        IN      A

;; ANSWER SECTION:
www.taobao.com.         284     IN      CNAME   www.taobao.com.danuoyi.tbcache.com.
www.taobao.com.danuoyi.tbcache.com. 31 IN A     8.38.121.234
www.taobao.com.danuoyi.tbcache.com. 31 IN A     8.38.121.233

;; Query time: 20 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Wed Apr 12 19:37:52 CST 2023
;; MSG SIZE  rcvd: 123

切换了多个 DNS 服务器查询返回的都是这两个位于美国的 IP 地址

目前针对上述情况有两个问题,希望熟悉这块的各位高手不吝赐教!

  1. 为何指定了 subnet 仍然没有返回想要的国内 IP 地址?如果是使用方式不对,正确的使用方式应该是怎样的?
  2. 是否有其他方式可以实现分流解析的目的?目前的计划是使用 Adguard Home 作为前端转发到 mosdns 进行查询,自建 DNS 服务器位于海外,不想额外搭建位于国内的节点。请问是否有好的方法实现开头所提到的目的?
3865 次点击
所在节点    DNS
30 条回复
mohumohu
2023-04-13 13:06:32 +08:00
这个项目或许适合 op 的需求: https://github.com/kkkgo/PaoPaoDNS
z5e56
2023-04-13 13:39:09 +08:00
@mohumohu 看起来不错,感谢分享!回复中提到的我都会逐一尝试的
enrolls
2023-04-13 15:45:33 +08:00
@tomac4t 正解!未知 akahelp 之前,我是用 wx2.sinaimg.cn 测的
enrolls
2023-04-13 15:47:24 +08:00
有没有想过,现在大多数 SDK 自带 DNS 解析功能,压根儿不走你本地的查询
z5e56
2023-04-13 16:44:49 +08:00
@enrolls 这个我是早就想到了的,应对方法也不难
enrolls
2023-04-13 20:39:17 +08:00
@z5e56 怎么说? Ban IPs 导致它自己 failback?
z5e56
2023-04-13 21:02:59 +08:00
@enrolls 对喏,常用的 IP 和端口都 ban 掉。最后的结果是手机上有将近一半的 DNS 请求是不需要的
xinglihua93
2023-04-14 12:06:42 +08:00
能加一下微信聊吗
z5e56
2023-04-14 12:40:41 +08:00
@xinglihua93 可以的,但是我不一定有你想要的答案哦,并且只有晚上才有时间哦
bclerdx
2023-04-15 00:14:31 +08:00
OP ,我感觉还是中国大陆 IP 地址和国外 IP 地址做分流兜底更为稳妥一些。当然,基于其他方式,比如中国域名分流也是可以的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/932038

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX