V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Hackerchai
V2EX  ›  DNS

自建无污染/境内 CDN 友好的 DNS 服务器有什么优雅的解决方案

  •  
  •   Hackerchai · 66 天前 · 4880 次点击
    这是一个创建于 66 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前楼主使用的是 AdGuard Home 搭建在 VPS 上,上游服务器均为支持 ECS 的境外 DNS,使用并行请求模式。目前可以做到无污染。但是存在几个问题:

    1. 使用 EDNS 请求时,AdGuard Home 使用的 subnet 是 VPS 的 IP,无法使用客户端(用户设备真实 IP )来请求 EDNS 从而加速访问。国内域名经常被解析到海外节点

    2. 如果在节点中加入境内支持 ECS 的 DNS 服务商(诸如 AliDNS,DNSPOD DNS ),并开启最快 ip 模式,会导致结果出现被污染的 ip 。此时如果服务器在境外,由于最快 ip 模式 是通过 ping 探测选出最快节点,是该 IP 到 VPS 的链路最快结果,也会影响解析准确度

    3. 出现 DNS 缓存时,ECS 就会失效 ( https://github.com/AdguardTeam/AdGuardHome/issues/1091

    目前来看相对优雅的解决方案是:有一个产品可以将 Clash 的 DNS 和 AdGuard Home 结合起来

    • 使用客户端的 ip 地址进行 EDNS 查询
    • 支持 dns 分流,类似 Clash 的 GeoIP
    • 缓存支持 ECS
    42 条回复    2020-12-24 18:16:34 +08:00
    netconf
        1
    netconf   66 天前 via Android
    adguard 和 ppn 不可以共存吧
    flynaj
        2
    flynaj   66 天前
    openwrt 默认走运行商 dns
    其它走 vpn.这个才是最优雅的。
    server=/google.com/192.168.98.1
    ipset=/google/vpn
    Hackerchai
        3
    Hackerchai   66 天前
    @netconf 可以共存的,Android 手机上可以用 SOCKS 代理访问 clash,Macos 可以使用内核模式
    netconf
        4
    netconf   66 天前 via Android
    @Hackerchai socks 不支持完全过滤广告呀
    zictos
        5
    zictos   66 天前
    geosite 里面的国外域名使用国外 dns,其他使用国内 dns 直连
    Hackerchai
        6
    Hackerchai   66 天前 via Android
    @netconf 支持的,你是什么设备啊
    Hackerchai
        7
    Hackerchai   66 天前 via Android
    @zictos 用的什么 dns 工具呢
    zictos
        8
    zictos   66 天前
    @Hackerchai #7 v2ray 可以 dns 分流啊
    Hackerchai
        9
    Hackerchai   66 天前 via Android
    @zictos 噢噢,主要是我现在主要用 clash
    syuraking
        10
    syuraking   66 天前
    自分流,国内和 CDN 用 smartdns,国外自己看着办,前面套 ros 或者 adh 或者其它的 DNS 服务器做缓存。
    miaomiao888
        11
    miaomiao888   66 天前
    AdGuard Home 跑在本机或路由上最优雅
    把一堆附近地区 H.K 、T.W 、J.P 、S.G 的什么非标端口 DNS 、DOH 、DOT 、DOQ 、只要能防污染的 DNS 都配置上去,然后勾上“最快的 IP 地址”基本上就不用管了
    INTEL2333
        12
    INTEL2333   66 天前 via Android
    开 ecs+并行查询,境内域名走 tls://dns.pub(走 aia 不会堵),其他全走 tls://8.8.8.8
    Hackerchai
        13
    Hackerchai   66 天前
    @INTEL2333 你也是用的 AdGuard Home 么,这个怎么做分流啊
    Jirajine
        14
    Jirajine   66 天前 via Android
    Hackerchai
        15
    Hackerchai   66 天前
    @Jirajine ???
    INTEL2333
        16
    INTEL2333   66 天前 via Android
    @Hackerchai https://v2ex.com/t/734783 我在这发过,记得把境内分流上游改成 tls://dns.pub 鸭
    Hackerchai
        17
    Hackerchai   66 天前 via Android
    @INTEL2333 恩 现在用的是分流的方法
    missdeer
        18
    missdeer   66 天前
    我用 肥猫的大陆域名列表进行分流,适用于 99.99%的情况
    LittleYangYang
        19
    LittleYangYang   66 天前
    被腾讯云直接打电话要求签了保证书,不敢再搞了
    Hackerchai
        20
    Hackerchai   66 天前 via Android
    @LittleYangYang 是境内腾讯云还是境外的
    LittleYangYang
        21
    LittleYangYang   66 天前
    @Hackerchai #20 境内的,不允许开 53 DNS 服务的
    Hackerchai
        22
    Hackerchai   66 天前 via Android
    @LittleYangYang 老哥可以试试香港轻量云,基本没啥问题
    Hackerchai
        23
    Hackerchai   66 天前 via Android
    @LittleYangYang 腾讯云的香港轻量服务器
    Hackerchai
        24
    Hackerchai   66 天前 via Android
    @INTEL2333 目前使用的分流方案:
    https://www.v2ex.com/t/699592 #2 和你的思路差不多,体验挺不错
    anguiao
        25
    anguiao   66 天前 via Android
    在 AdGuard Home 前面再套一个不就行了,相当于 AdGuard Home 就只负责去广告。
    S179276SP
        26
    S179276SP   66 天前 via Android
    @Jirajine 错了,使用 trojan 跟浏览 steam 网站一样,只要浏览 steam 合法,那么使用 trojan 也合法
    Hackerchai
        27
    Hackerchai   66 天前 via Android
    @anguiao 前面套一个的话,用什么来分流呢
    xunandotme
        28
    xunandotme   66 天前
    @LittleYangYang 我没签,3 年机器不要了。
    tankren
        29
    tankren   65 天前
    你这解析一次要多久。。。。无缓存情况下
    Hackerchai
        30
    Hackerchai   65 天前 via Android
    @tankren 解析基本在 300ms 内完成
    Hackerchai
        31
    Hackerchai   65 天前
    @tankren 这是用 53 端口的结果,TLS/HTTPS 慢一点
    tankren
        32
    tankren   65 天前
    @Hackerchai 太慢了 怎么受得了。。。unbound 直接查 root 估计都差不多吧
    Hackerchai
        33
    Hackerchai   65 天前 via Android
    @tankren 日常使用挺顺滑的,这是没缓存,有缓存就大概 100ms 内
    noahzh
        34
    noahzh   65 天前
    买个便宜的流量的 iplc 做个分流就可以.
    NSAgold
        35
    NSAgold   65 天前 via Android
    阿里 腾讯( dnspod )都已经支持 DoH 了 上游可以设置为 doh
    Hackerchai
        36
    Hackerchai   65 天前 via Android
    @NSAgold 这个有污染啊,没法用
    ace0120
        37
    ace0120   65 天前 via iPhone
    @NSAgold 我广东移动用腾讯的 doh 然后用网易那个检测 dns 的,dns 一直不准确,经常分配在广东电信,广东联通,或者其他省份的 dns 信息,提示有问题。用阿里的 doh 就很正常,保持在广东深圳或者广州的移动 dns 。
    Hackerchai
        38
    Hackerchai   65 天前 via Android
    @ace0120 我记得 alidns 是不支持 edns 的吧
    INTEL2333
        39
    INTEL2333   64 天前 via Android
    @ace0120 奶罩不是解释过嘛....aia 进去出口随机
    xmt328
        40
    xmt328   62 天前
    @miaomiao888 那么问题来了,请问去哪找这些没被污染的 dns
    Hackerchai
        41
    Hackerchai   62 天前 via Android
    @xmt328 找香港的主机,只要是境外就行
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   5221 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 02:24 · PVG 10:24 · LAX 18:24 · JFK 21:24
    ♥ Do have faith in what you're doing.