V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
SergeGao

Clash for windows 使用透明代理 youtube 可以访问, google.com 无法访问?

  •  
  •   SergeGao · Feb 14, 2022 · 8323 views
    This topic created in 1541 days ago, the information mentioned may be changed or developed.

    如题, 客户端版本号 0.19.4 ,开启透明代理下 youtube 可以访问,google 无法访问,但是在使用 http 代理下就正常。看了 log ,透明代理下访问 google 的确是走了代理了,怀疑是 dns 解析污染,但是按照我的理解,透明代理情况下,客户端的 dns 解析只影响到了该请求是否走代理,如果走代理的情况下,还是会在代理服务器上再进行一次 dns 解析的。想不通是哪里的问题,贴一下 dns 的配置:

    dns:
      enable: true
      ipv6: false
      default-nameserver:
        - 114.114.114.114
        - 8.8.8.8
      nameserver:
        - https://dns.rubyfish.cn/dns-query
        - https://223.5.5.5/dns-query
        - https://dns.pub/dns-query
      fallback:
        - https://1.0.0.1/dns-query
        - https://public.dns.iij.jp/dns-query
        - https://dns.twnic.tw/dns-query
      fallback-filter:
        geoip: true
        ipcidr:
          - 240.0.0.0/4
          - 0.0.0.0/32
          - 127.0.0.1/32
        domain:
          - +.google.com
          - +.facebook.com
          - +.youtube.com
          - +.xn--ngstr-lra8j.com
          - +.google.cn
          - +.googleapis.cn
          - +.gvt1.com
    
    Supplement 1  ·  Feb 14, 2022
    啊,我裂开了,找到原因了,确实是 dns 解析被污染。我的配置文件没问题,原因是 clash windows 客户端在 tun 模式下有内置的 dns 配置,并且没有指定 fallback 组....我用 mixin 覆盖回我自己的配置问题就解决了
    13 replies    2022-02-16 10:59:44 +08:00
    Argon
        1
    Argon  
       Feb 14, 2022 via Android
    简而言之,因为 114.114.114.114 被投毒,
    nslookup www.google.com → 127.0.0.1
    此时你的 Clash 会认为你在访问局域网因此没有走代理。
    你可以在 connection 选项卡看到这一过程。
    dcty
        2
    dcty  
       Feb 14, 2022 via iPhone
    走了代理不代表一定是能访问的,比如 IP 和域名不匹配
    love4taylor
        3
    love4taylor  
    PRO
       Feb 14, 2022   ❤️ 1
    Clash Core 在某个版本之后改了 redir-host 的一些设计,现在基本建议 TUN 用户上 fake-ip 了。
    semglassiebaba
        5
    semglassiebaba  
       Feb 14, 2022   ❤️ 1
    clash 现在默认 rh 模式向代理端传 ip ,如果被污染了是会有问题的
    serge001
        6
    serge001  
       Feb 14, 2022
    @Argon @dcty 已经看过了日志,dns 解析出来 google.com 的 ip 是国外的 ip ,并且按照我上面的配置,解析 google.com 应该是走 fallback 里面的 dns 服务吧,fallback 组里配置的三个 dns server: - https://1.0.0.1/dns-query,
    - https://public.dns.iij.jp/dns-query,
    - https://dns.twnic.tw/dns-query 都是 https ,按理说应该不会被污染?
    serge001
        7
    serge001  
       Feb 14, 2022
    @Love4Taylor 感谢 我下班回家试试 fakeip 模式
    serge001
        8
    serge001  
       Feb 14, 2022
    @semglassiebaba 可是我配置里面,fallback 组的三个 server 都是 https ,怎么会被污染呢
    semglassiebaba
        9
    semglassiebaba  
       Feb 14, 2022
    开了 ipv6 吗?
    Argon
        10
    Argon  
       Feb 14, 2022 via Android
    @serge001 看来我们遇到的不是同一种情况,我没有仔细看你的描述所以想当然了。
    另:阿里公共 DNS 当配置 edns_client_subnet 指向境外地址段时,返回的 IP 地址似乎没有被污染。
    torrent
        11
    torrent  
       Feb 14, 2022 via Android
    理论上来说,fallback-filter 里面应该默认是被污染的,走 fallback 组的 dns ,但是实际上个人体验经常会连不上
    玄学上来说,建议你把 default-nameserver 和 fallback-filter 注释掉,有奇效,就是国内解析速度可能会慢些
    懒得折腾建议直接一步到位 fake-ip ,专治各种疑难杂症
    SergeGao
        12
    SergeGao  
    OP
       Feb 14, 2022
    @semglassiebaba @Love4Taylor @Argon @torrent 找到原因了,确实是 dns 解析被污染。我的配置文件没问题,原因是 clash windows 客户端在 tun 模式下有内置的 dns 配置,并且没有指定 fallback 组....我用 mixin 覆盖回我自己的配置问题就解决了
    takeshima
        13
    takeshima  
       Feb 16, 2022
    透明代理的话,你 dns 模块应该设置一下 enhanced-mode 的,而且建议设置成 fake-ip
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2916 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 06:44 · PVG 14:44 · LAX 23:44 · JFK 02:44
    ♥ Do have faith in what you're doing.