想要在自建 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 2
建议使用这个测试 `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 地址做分流兜底更为稳妥一些。当然,基于其他方式,比如中国域名分流也是可以的。
|