V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vx007
V2EX  ›  宽带症候群

写了 2 个 dns 配置,大家帮评审一下没 dns 泄露了吧?

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

    我对不泄露的定义是被樯域名不走境内 dns 服务商, 以下 2 个 dns 配置下面的 rules ,没泄露了吧

    dns:

    enable: true
    
    enhanced-mode: fake-ip #redir-host
    
    fake-ip-range: 198.18.0.1/16
    
    fake-ip-filter:
        - "*"
        - "+.lan"
        - "+.local"
    
    nameserver:
        - "https://1.0.0.1/dns-query#proxy"
        - "https://8.8.8.8/dns-query#proxy"
    
    nameserver-policy:
        "geosite:cn":
            - '223.5.5.5'
            - '119.29.29.29'
    

    或者

    dns:

    enable: true
    
    enhanced-mode: fake-ip #redir-host
    
    fake-ip-range: 198.18.0.1/16
    
    fake-ip-filter:
        - "*"
        - "+.lan"
        - "+.local"
    
    nameserver:
        - '223.5.5.5'
        - '119.29.29.29'
    
    fallback:
      - 'https://1.0.0.1/dns-query'
      - 'https://8.8.8.8/dns-query'
    
    nameserver-policy:
        "geosite:!cn":
            - "https://1.0.0.1/dns-query#proxy"
            - "https://8.8.8.8/dns-query#proxy"
    

    rules:

    - ...
    
    - 'GEOIP,CN,DIRECT'
    
    - 'MATCH,机场'
    
    24 条回复    2024-07-05 19:09:38 +08:00
    ranaanna
        1
    ranaanna  
       160 天前
    首先,泄不泄漏不知道,但是 alidns 和 dnspod 都是有 DoH 的,可以和 cloudflare 和 google 一样用 DoH

    其次,这么在意 dns 安全的话,可以用 cloudflare, apple 和 fastly 提出的 ODoH ,增加一层代理,全程加密,连 dns 服务器都不知道是你
    redcats
        2
    redcats  
       160 天前
    DoH 是不是会大大增加延迟?我在 ikuai 上配了 8.8.8.8 的 DoH ,延迟大到离谱
    htfcuddles
        3
    htfcuddles  
       160 天前
    geosite 不全,这样配访问国内 CDN 服务大概率解析到国外。
    morytyann
        4
    morytyann  
       160 天前
    @htfcuddles 是的,昨天我看到/t/1053566 的时候就测了,正好是楼主第一种方法,确实会出现这样的问题
    vx007
        5
    vx007  
    OP
       159 天前
    境内网站加不加密我不介意,只想境外被牆域名走境外 DOH 即可
    vx007
        6
    vx007  
    OP
       159 天前
    @redcats 只要 TCP 和 UDP 不绕路,境外 DOH 解析增加一点点开销可以接受
    vx007
        7
    vx007  
    OP
       159 天前
    @htfcuddles 特意下载 geosite 文件查看过,最常用的前 1 万个网站基本包含了,除了小论坛,小盗版资源网站,公司主页等,访问基本没受影响
    vx007
        8
    vx007  
    OP
       159 天前
    @morytyann 上面第 1 和第 2 种 dns 效果完全一致,部分小众网站可能被发境外去解析
    MYDB
        10
    MYDB  
       159 天前 via iPhone
    @frankilla 看到 meta 内核立马关闭网页了不想看了
    om2mo
        11
    om2mo  
       159 天前
    不用看 想要完美解决 dns 泄漏不可能 除非你国内域名全部用国外 dns 解析 即使你用了 chinalist 也不可能包含所有中国域名
    mm2x
        12
    mm2x  
       159 天前
    @redcats 爱快也不支持设置 DoH 啊。我现在就是爱快 Chrome 配置了 DoH 。感觉一切正常。你得先看看你 dns.google 解析正常不
    SenLief
        14
    SenLief  
       159 天前
    其实只要你的梯子足够快,你可以全部都是 proxy
    daisyfloor
        15
    daisyfloor  
       159 天前
    只有 2 种情况是要进行本地 DNS 解析:
    1. 命中了一条 IP 规则,那么要解析域名判断是否命中规则
    2. 确定要走直连,最终进行域名解析得到 IP 建立连接

    事实上实践中应该尽量避免减少本地 DNS 解析,这不仅可以加快网路的访问速度和效率,而且可以避免泄露,尤其是其中 1 的情况,所以正确的做法是在所有 IP 规则最后都应该加上 no-resolve ,包括 GEOIP,CN,DIRECT 这一条,即: - GEOIP,CN,DIRECT,no-resolve

    这种情况下,需要去远端的就去远端进行 DNS 解析了,也就不存在泄露,不需要去远端的(直连)反正你也不在乎泄露不泄露,用阿里云解析得到 ip 后直连即可。
    dford
        16
    dford  
       159 天前
    @daisyfloor
    - GEOIP,CN,DIRECT,no-resolve 这个规则逻辑很神奇啊,都有 IP 了还解析啥?
    frankilla
        17
    frankilla  
       159 天前
    @MYDB #10 不懂,反正我现在用着没啥毛病。
    daisyfloor
        18
    daisyfloor  
       159 天前
    这是一条 ip 规则,比如你要访问的一个请求是 https://www.xxx.org/xxxx 如果没有 no-resolve ,那么在没有命中上面的其他规则的的情况下走到这里,就会触发一次本地的 DNS 解析,这里就会泄露。
    daisyfloor
        19
    daisyfloor  
       159 天前
    @dford 看我前一条 replay 。
    vx007
        20
    vx007  
    OP
       159 天前
    @daisyfloor 我上面的 dns 配置,本地都拿到境外 ip 了,geoip 规则不加 no-resolve 也不会发生 dns 查询,所以不会泄漏
    vx007
        21
    vx007  
    OP
       159 天前
    @vx007 上面我说错了,境外域名遇到 geoip 规则不加 no-resolve 会在本地发起 dns 查询,但因为我 dns 设置了境外域名走境外 doh ,所以依然不会出现 dns 泄漏
    vx007
        22
    vx007  
    OP
       159 天前
    @daisyfloor 如果配置文件不设置 DNS ,clash 默认向操作系统发起 dns 查询,这种情况 geoip 和 ip 规则才需要加 no-resolve 来避免泄漏
    daisyfloor
        23
    daisyfloor  
       159 天前
    @vx007 你说的这些方法以及规则的写法都用过,并且最开始的认知和判断和你上面给出的说法是一样的。但 实际用下来,类似于"geosite:!cn" 并不能保证某个原本境外域名一定会被判定为境外,因为这只是一个库且需要不断更新的库,别人维护的规则总有更新不及时或者不准确(或者说不符合你要求)的时候, 你的两种写法,第一种的遇到的典型问题:一个实际 loacation 在 cn 的域名,不在 geosite:cn 里,导致查询缓慢或者出错。第二种写法:geosite:!cn (包括还有一种写法叫 geolocation )类似,一个原本就希望在远端 VPS 上进行解析的域名,还要先在本地做一次远端 dns 解析(效率问题),而且还可能因为 dat 文件的原因导致 nameserver-policy 判断不准确导致用阿里云去做 DNS (泄露及准确度问题)。

    就这样吧,就说这么多。你觉得没泄露,那就没泄露呗。
    vx007
        24
    vx007  
    OP
       158 天前
    @daisyfloor 你说的第一个 DNS 配置下国内小众网站绕道是意料之中的,可以接受;但你说的第 2 个 DNS 泄漏的问题,经过我用不在 geosite 和规则内的国外小众网站反复抓包测试,并未发现 DNS 泄漏。
    虽然理论上看,第 2 个 DNS 的配置下,不在 geosite 和规则内的国外小众网站域名查询会走国内 DNS ,但就像我上面测试的那样,抓包并未发现走国内 DNS 。可能和不同 clash 客户端的有关。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3173 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 10:42 · PVG 18:42 · LAX 02:42 · JFK 05:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.