想要在自建 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 pagxir 2023-04-12 20:18:24 +08:00 因为 114 并不支持。如果支持的话,自然有效果。例如: dig qiye.163.com +subnet=110.42.145.0/24 +short @ns3.nease.net dig qiye.163.com +subnet=8.8.8.0/24 +short @ns3.nease.net |
2 ztmzzz 2023-04-12 20:28:27 +08:00 via iPhone 要换支持 edns 的例如谷歌和 quad9 |
4 z5e56 OP @ztmzzz 刚把 Adguard Home 里面不支持 EDNS 的上游 DNS 移除后,目前来看解析正常了。不过就是不知道使用国外的上游 DNS 是否能保证国内域名不会被解析到国外 IP |
5 tomac4t 2023-04-12 22:17:56 +08:00 ![]() 建议使用这个测试 `dig TXT whoami.ds.akahelp.net +short` |
6 missdeer 2023-04-12 22:23:20 +08:00 所以我是通过域名列表来分流的 https://github.com/missdeer/coredns_custom_build |
![]() | 8 tinkerer 2023-04-12 22:55:26 +08:00 |
![]() | 9 Andim 2023-04-12 23:56:06 +08:00 看下 Adguard Home ,他也是支持国内外分流的,只是用的人不多也没人发攻略 |
![]() | 10 loukky 2023-04-13 00:17:35 +08:00 via Android 建议用 alidns ,你用了就知道好不好用了 |
11 popzuk 2023-04-13 00:27:53 +08:00 via iPhone adg 可以分流,建议分流白名单到阿里和腾讯,其它给 Google 。 |
12 charli 2023-04-13 00:44:38 +08:00 国内阿里和 dnspod 的 dns 支持 edns ,国外的谷歌支持。 |
13 zhatianbang 2023-04-13 03:06:30 +08:00 @Andim 怎么分流? |
14 zhatianbang 2023-04-13 03:06:57 +08:00 怎么弄呢? |
![]() | 16 Andim 2023-04-13 07:47:14 +08:00 @z5e56 @zhatianbang AdGuardHome.yaml 中定义一个域名列表列表,这个列表网上很多,比如 gfwlist upstream_dns_file: "/opt/adguardhome/custom.conf" 然后在这个列表里编辑 223.5.5.5 119.29.29.29 https://223.5.5.5/dns-query [/*.google.com/]8.8.8.8 [/www.youtube.com/]8.8.8.8 [/twitter.com/]9.9.9.11:9953 [/www.facebook.com/]9.9.9.11:9953 [/www.twitch.tv/]9.9.9.11:9953 就可以默认走阿里腾讯的 DNS ,自定放的走 google Quad9 |
17 xinglihua93 2023-04-13 09:29:06 +08:00 via Android 被运营商拦截了,能解决吗 |
19 z5e56 OP @xinglihua93 被拦截是指的什么?通常自建的话使用 DoH, DoT 并限制可访问用户一般都能正常使用的 |
![]() | 21 mohumohu 2023-04-13 13:06:32 +08:00 这个项目或许适合 op 的需求: https://github.com/kkkgo/PaoPaoDNS |
![]() | 23 enrolls 2023-04-13 15:45:33 +08:00 @tomac4t 正解!未知 akahelp 之前,我是用 wx2.sinaimg.cn 测的 |
![]() | 24 enrolls 2023-04-13 15:47:24 +08:00 有没有想过,现在大多数 SDK 自带 DNS 解析功能,压根儿不走你本地的查询 |
28 xinglihua93 2023-04-14 12:06:42 +08:00 via Android 能加一下微信聊吗 |
29 z5e56 OP @xinglihua93 可以的,但是我不一定有你想要的答案哦,并且只有晚上才有时间哦 |
![]() | 30 bclerdx 2023-04-15 00:14:31 +08:00 OP ,我感觉还是中国大陆 IP 地址和国外 IP 地址做分流兜底更为稳妥一些。当然,基于其他方式,比如中国域名分流也是可以的。 |