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

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

  •  
  •   SergeGao · 2022-02-14 00:11:26 +08:00 · 6708 次点击
    这是一个创建于 1020 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题, 客户端版本号 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
    
    第 1 条附言  ·  2022-02-14 23:50:26 +08:00
    啊,我裂开了,找到原因了,确实是 dns 解析被污染。我的配置文件没问题,原因是 clash windows 客户端在 tun 模式下有内置的 dns 配置,并且没有指定 fallback 组....我用 mixin 覆盖回我自己的配置问题就解决了
    13 条回复    2022-02-16 10:59:44 +08:00
    Argon
        1
    Argon  
       2022-02-14 00:34:43 +08:00 via Android
    简而言之,因为 114.114.114.114 被投毒,
    nslookup www.google.com → 127.0.0.1
    此时你的 Clash 会认为你在访问局域网因此没有走代理。
    你可以在 connection 选项卡看到这一过程。
    dcty
        2
    dcty  
       2022-02-14 08:34:52 +08:00 via iPhone
    走了代理不代表一定是能访问的,比如 IP 和域名不匹配
    Love4Taylor
        3
    Love4Taylor  
       2022-02-14 08:38:26 +08:00   ❤️ 1
    Clash Core 在某个版本之后改了 redir-host 的一些设计,现在基本建议 TUN 用户上 fake-ip 了。
    Love4Taylor
        4
    Love4Taylor  
       2022-02-14 08:44:08 +08:00   ❤️ 1
    semglassiebaba
        5
    semglassiebaba  
       2022-02-14 08:56:44 +08:00   ❤️ 1
    clash 现在默认 rh 模式向代理端传 ip ,如果被污染了是会有问题的
    serge001
        6
    serge001  
       2022-02-14 10:18:41 +08:00
    @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  
       2022-02-14 10:25:21 +08:00
    @Love4Taylor 感谢 我下班回家试试 fakeip 模式
    serge001
        8
    serge001  
       2022-02-14 10:27:40 +08:00
    @semglassiebaba 可是我配置里面,fallback 组的三个 server 都是 https ,怎么会被污染呢
    semglassiebaba
        9
    semglassiebaba  
       2022-02-14 10:38:07 +08:00
    开了 ipv6 吗?
    Argon
        10
    Argon  
       2022-02-14 11:02:52 +08:00 via Android
    @serge001 看来我们遇到的不是同一种情况,我没有仔细看你的描述所以想当然了。
    另:阿里公共 DNS 当配置 edns_client_subnet 指向境外地址段时,返回的 IP 地址似乎没有被污染。
    torrent
        11
    torrent  
       2022-02-14 11:22:19 +08:00 via Android
    理论上来说,fallback-filter 里面应该默认是被污染的,走 fallback 组的 dns ,但是实际上个人体验经常会连不上
    玄学上来说,建议你把 default-nameserver 和 fallback-filter 注释掉,有奇效,就是国内解析速度可能会慢些
    懒得折腾建议直接一步到位 fake-ip ,专治各种疑难杂症
    SergeGao
        12
    SergeGao  
    OP
       2022-02-14 23:51:19 +08:00
    @semglassiebaba @Love4Taylor @Argon @torrent 找到原因了,确实是 dns 解析被污染。我的配置文件没问题,原因是 clash windows 客户端在 tun 模式下有内置的 dns 配置,并且没有指定 fallback 组....我用 mixin 覆盖回我自己的配置问题就解决了
    takeshima
        13
    takeshima  
       2022-02-16 10:59:44 +08:00
    透明代理的话,你 dns 模块应该设置一下 enhanced-mode 的,而且建议设置成 fake-ip
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2655 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 11:02 · PVG 19:02 · LAX 03:02 · JFK 06:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.