EDNS 指定 IP 段未生效以及 DNS 分流解析的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
z5e56
V2EX    DNS

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

  •  
  •   z5e56 2023-04-12 20:02:43 +08:00 5127 次点击
    这是一个创建于 915 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想要在自建 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 服务器位于海外,不想额外搭建位于国内的节点。请问是否有好的方法实现开头所提到的目的?
    30 条回复    2023-04-15 00:14:31 +08:00
    pagxir
        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
    ztmzzz
        2
    ztmzzz  
       2023-04-12 20:28:27 +08:00 via iPhone
    要换支持 edns 的例如谷歌和 quad9
    z5e56
        3
    z5e56  
    OP
       2023-04-12 20:29:05 +08:00
    @pagxir 感谢!是我没有了解测试得足够充分,才知道支持 EDNS 的不多
    z5e56
        4
    z5e56  
    OP
       2023-04-12 20:37:34 +08:00
    @ztmzzz 刚把 Adguard Home 里面不支持 EDNS 的上游 DNS 移除后,目前来看解析正常了。不过就是不知道使用国外的上游 DNS 是否能保证国内域名不会被解析到国外 IP
    tomac4t
        5
    tomac4t  
       2023-04-12 22:17:56 +08:00   2
    建议使用这个测试 `dig TXT whoami.ds.akahelp.net +short`
    missdeer
        6
    missdeer  
       2023-04-12 22:23:20 +08:00
    所以我是通过域名列表来分流的 https://github.com/missdeer/coredns_custom_build
    z5e56
        7
    z5e56  
    OP
       2023-04-12 22:31:44 +08:00
    @missdeer 感谢推荐,我会试用一下的
    tinkerer
        8
    tinkerer  
       2023-04-12 22:55:26 +08:00
    推荐 http over dns 做反向代理,再加上 ip 证书。

    自用的一个小工具,刚加了 README: https://github.com/tinkernels/doh-relay
    Andim
        9
    Andim  
       2023-04-12 23:56:06 +08:00
    看下 Adguard Home ,他也是支持国内外分流的,只是用的人不多也没人发攻略
    loukky
        10
    loukky  
       2023-04-13 00:17:35 +08:00 via Android
    建议用 alidns ,你用了就知道好不好用了
    popzuk
        11
    popzuk  
       2023-04-13 00:27:53 +08:00 via iPhone
    adg 可以分流,建议分流白名单到阿里和腾讯,其它给 Google 。
    charli
        12
    charli  
       2023-04-13 00:44:38 +08:00
    国内阿里和 dnspod 的 dns 支持 edns ,国外的谷歌支持。
    zhatianbang
        13
    zhatianbang  
       2023-04-13 03:06:30 +08:00
    @Andim 怎么分流?
    zhatianbang
        14
    zhatianbang  
       2023-04-13 03:06:57 +08:00
    怎么弄呢?
    z5e56
        15
    z5e56  
    OP
       2023-04-13 06:53:03 +08:00
    @Andim
    @popzuk
    能否麻烦两位详细说明一下配置方法?
    Andim
        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
    xinglihua93
        17
    xinglihua93  
       2023-04-13 09:29:06 +08:00 via Android
    被运营商拦截了,能解决吗
    z5e56
        18
    z5e56  
    OP
       2023-04-13 09:33:25 +08:00 via Android
    @Andim 非常感谢!确实是容易被忽略的一个选项
    z5e56
        19
    z5e56  
    OP
       2023-04-13 09:37:45 +08:00 via Android
    @xinglihua93 被拦截是指的什么?通常自建的话使用 DoH, DoT 并限制可访问用户一般都能正常使用的
    z5e56
        20
    z5e56  
    OP
       2023-04-13 09:44:19 +08:00 via Android
    @loukky
    @charli
    我计划便是分流后国内的使用阿里 DNS 进行解析
    mohumohu
        21
    mohumohu  
       2023-04-13 13:06:32 +08:00
    这个项目或许适合 op 的需求: https://github.com/kkkgo/PaoPaoDNS
    z5e56
        22
    z5e56  
    OP
       2023-04-13 13:39:09 +08:00 via Android
    @mohumohu 看起来不错,感谢分享!回复中提到的我都会逐一尝试的
    enrolls
        23
    enrolls  
       2023-04-13 15:45:33 +08:00
    @tomac4t 正解!未知 akahelp 之前,我是用 wx2.sinaimg.cn 测的
    enrolls
        24
    enrolls  
       2023-04-13 15:47:24 +08:00
    有没有想过,现在大多数 SDK 自带 DNS 解析功能,压根儿不走你本地的查询
    z5e56
        25
    z5e56  
    OP
       2023-04-13 16:44:49 +08:00 via Android
    @enrolls 这个我是早就想到了的,应对方法也不难
    enrolls
        26
    enrolls  
       2023-04-13 20:39:17 +08:00
    @z5e56 怎么说? Ban IPs 导致它自己 failback?
    z5e56
        27
    z5e56  
    OP
       2023-04-13 21:02:59 +08:00
    @enrolls 对喏,常用的 IP 和端口都 ban 掉。最后的结果是手机上有将近一半的 DNS 请求是不需要的
    xinglihua93
        28
    xinglihua93  
       2023-04-14 12:06:42 +08:00 via Android
    能加一下微信聊吗
    z5e56
        29
    z5e56  
    OP
       2023-04-14 12:40:41 +08:00 via Android
    @xinglihua93 可以的,但是我不一定有你想要的答案哦,并且只有晚上才有时间哦
    bclerdx
        30
    bclerdx  
       2023-04-15 00:14:31 +08:00
    OP ,我感觉还是中国大陆 IP 地址和国外 IP 地址做分流兜底更为稳妥一些。当然,基于其他方式,比如中国域名分流也是可以的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2985 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 13:49 PVG 21:49 LAX 06:49 JFK 09:49
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86