Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] dns泄露 #3843

Open
5 of 7 tasks
sept5920 opened this issue Apr 11, 2024 · 30 comments
Open
5 of 7 tasks

[Bug] dns泄露 #3843

sept5920 opened this issue Apr 11, 2024 · 30 comments
Labels
bug Something isn't working

Comments

@sept5920
Copy link

Verify Steps

  • Tracker 我已经在 Issue Tracker 中找过我要提出的问题
  • Branch 我知道 OpenClash 的 Dev 分支切换开关位于插件设置-版本更新中,或者我会手动下载并安装 Dev 分支的 OpenClash
  • Latest 我已经使用最新 Dev 版本测试过,问题依旧存在
  • Relevant 我知道 OpenClash 与 内核(Core)、控制面板(Dashboard)、在线订阅转换(Subconverter)等项目之间无直接关系,仅相互调用
  • Definite 这确实是 OpenClash 出现的问题
  • Contributors 我有能力协助 OpenClash 开发并解决此问题
  • Meaningless 我提交的是无意义的催促更新或修复请求

OpenClash Version

v0.46003

Bug on Environment

Lean

OpenWrt Version

lede代码编译的固件

Bug on Platform

Linux-amd64(x86-64)

Describe the Bug

1.mate核心下redir-host模式产生dns泄露,但Windows端的clashv和安卓端不会存在这样的问题,这是为什么?
2.有没有在redir-host下避免dns泄露的方法

To Reproduce

redir-host模式加了no-resolve

OpenClash Log

[DNS] resolve play.google.com from https://dns.alidns.com:443/dns-query"

OpenClash Config

No response

Expected Behavior

希望在dns解析前进行dns分流

Additional Context

No response

@sept5920 sept5920 added the bug Something isn't working label Apr 11, 2024
@Natsuki-Kaede
Copy link

Natsuki-Kaede commented Apr 11, 2024

+1 redir-host和fake-ip均有这个问题,正确设置了namepolicy和fallback-filter后,应该直接fallback的域名仍会通过nameserver解析,并且有可能会采用nameserver中dns返回的结果

贴上我的dns字段:

dns:
  enable: true
  prefer-h3: true
  listen: 0.0.0.0:53
  ipv6: true
  use-hosts: true

  default-nameserver:
    - 223.5.5.5
    - 119.29.29.29
    - tls://223.5.5.5
    - https://223.5.5.5/dns-query

  nameserver-policy:
    "geosite:cn": 
      - https://223.5.5.5/dns-query
      - https://doh.pub/dns-query
      - https://doh.360.cn/dns-query
      - tls://223.5.5.5
      - tls://dot.pub
    "rule-set:direct,private,apple,icloud":
      - https://223.5.5.5/dns-query
      - https://doh.pub/dns-query
      - https://doh.360.cn/dns-query
      - tls://223.5.5.5
      - tls://dot.pub
    

  enhanced-mode: redir-host

  fake-ip-range: 198.18.0.0/15

  fake-ip-filter:
    - '*'
    - '+.lan'
    - '+.local'
    - '+.leigod.com'
    - '+.vivox.com'
    - '*.msftncsi.com'
    - '*.msftconnecttest.com'
    - '+.stun.+'
    - '.n.n.srv.nintendo.net'
    - '+.stun.playstation.net'
    - 'xbox.*.*.microsoft.com'
    - '*.*.xboxlive.com'
    - 'lens.l.google.com'
    - '*.mcdn.bilivideo.cn'
    - WORKGROUP
  
  proxy-server-nameserver:
    - https://223.5.5.5/dns-query
    - https://doh.pub/dns-query
    - https://doh.360.cn/dns-query
    - tls://223.5.5.5
    - tls://dot.pub

  nameserver: 
    - https://223.5.5.5/dns-query
    - https://doh.pub/dns-query
    - https://1.1.1.1/dns-query#PROXY
    - https://1.0.0.1/dns-query#PROXY

  fallback: 
    - tcp://1.1.1.1#PROXY
    - https://1.1.1.1/dns-query#PROXY&h3=true
    - https://1.0.0.1/dns-query#PROXY
    - tls://1dot1dot1dot1.cloudflare-dns.com#PROXY

  fallback-filter:
    geoip: true
    geoip-code: CN
    geosite:
      - gfw
    ipcidr:
      - 240.0.0.0/4
    domain:
      - '+.google.com'
      - '+.facebook.com'
      - '+.youtube.com'
      - '+.googleapis.+'

如果不在1111dns后添加#PROXY,无论是nameserver还是fallback中的dns均会直连
目前的解决方案是正确设置nameserver-policy后,将nameserver和fallback全部改成走代理的dns:

dns:
  enable: true
  prefer-h3: true
  listen: 0.0.0.0:53
  ipv6: true
  use-hosts: true

  default-nameserver:
    - 223.5.5.5
    - 119.29.29.29
    - tls://223.5.5.5
    - https://223.5.5.5/dns-query

  nameserver-policy:
    "geosite:cn": 
      - https://223.5.5.5/dns-query
      - https://doh.pub/dns-query
      - https://doh.360.cn/dns-query
      - tls://223.5.5.5
      - tls://dot.pub
    "rule-set:direct,private,apple,icloud":
      - https://223.5.5.5/dns-query
      - https://doh.pub/dns-query
      - https://doh.360.cn/dns-query
      - tls://223.5.5.5
      - tls://dot.pub
    

  enhanced-mode: redir-host

  fake-ip-range: 198.18.0.0/15

  fake-ip-filter:
    - '*'
    - '+.lan'
    - '+.local'
    - '+.leigod.com'
    - '+.vivox.com'
    - '*.msftncsi.com'
    - '*.msftconnecttest.com'
    - '+.stun.+'
    - '.n.n.srv.nintendo.net'
    - '+.stun.playstation.net'
    - 'xbox.*.*.microsoft.com'
    - '*.*.xboxlive.com'
    - 'lens.l.google.com'
    - '*.mcdn.bilivideo.cn'
    - WORKGROUP
  
  proxy-server-nameserver:
    - https://223.5.5.5/dns-query
    - https://doh.pub/dns-query
    - https://doh.360.cn/dns-query
    - tls://223.5.5.5
    - tls://dot.pub

  nameserver: 
    - https://1.1.1.1/dns-query#PROXY
    - https://1.0.0.1/dns-query#PROXY

  fallback: 
    - tcp://1.1.1.1#PROXY
    - https://1.1.1.1/dns-query#PROXY&h3=true
    - https://1.0.0.1/dns-query#PROXY
    - tls://1dot1dot1dot1.cloudflare-dns.com#PROXY

  fallback-filter:
    geoip: true
    geoip-code: CN
    geosite:
      - gfw
    ipcidr:
      - 240.0.0.0/4
    domain:
      - '+.google.com'
      - '+.facebook.com'
      - '+.youtube.com'
      - '+.googleapis.+'

@sept5920
Copy link
Author

+1 redir-host和fake-ip均有这个问题,正确设置了namepolicy和fallback-filter后,应该直接fallback的域名仍会通过nameserver解析,并且有可能会采用nameserver中dns返回的结果

贴上我的dns字段:

dns:
  enable: true
  prefer-h3: true
  listen: 0.0.0.0:53
  ipv6: true
  use-hosts: true

  default-nameserver:
    - 223.5.5.5
    - 119.29.29.29
    - tls://223.5.5.5
    - https://223.5.5.5/dns-query

  nameserver-policy:
    "geosite:cn": 
      - https://223.5.5.5/dns-query
      - https://doh.pub/dns-query
      - https://doh.360.cn/dns-query
      - tls://223.5.5.5
      - tls://dot.pub
    "rule-set:direct,private,apple,icloud":
      - https://223.5.5.5/dns-query
      - https://doh.pub/dns-query
      - https://doh.360.cn/dns-query
      - tls://223.5.5.5
      - tls://dot.pub
    

  enhanced-mode: redir-host

  fake-ip-range: 198.18.0.0/15

  fake-ip-filter:
    - '*'
    - '+.lan'
    - '+.local'
    - '+.leigod.com'
    - '+.vivox.com'
    - '*.msftncsi.com'
    - '*.msftconnecttest.com'
    - '+.stun.+'
    - '.n.n.srv.nintendo.net'
    - '+.stun.playstation.net'
    - 'xbox.*.*.microsoft.com'
    - '*.*.xboxlive.com'
    - 'lens.l.google.com'
    - '*.mcdn.bilivideo.cn'
    - WORKGROUP
  
  proxy-server-nameserver:
    - https://223.5.5.5/dns-query
    - https://doh.pub/dns-query
    - https://doh.360.cn/dns-query
    - tls://223.5.5.5
    - tls://dot.pub

  nameserver: 
    - https://223.5.5.5/dns-query
    - https://doh.pub/dns-query
    - https://1.1.1.1/dns-query#PROXY
    - https://1.0.0.1/dns-query#PROXY

  fallback: 
    - tcp://1.1.1.1#PROXY
    - https://1.1.1.1/dns-query#PROXY&h3=true
    - https://1.0.0.1/dns-query#PROXY
    - tls://1dot1dot1dot1.cloudflare-dns.com#PROXY

  fallback-filter:
    geoip: true
    geoip-code: CN
    geosite:
      - gfw
    ipcidr:
      - 240.0.0.0/4
    domain:
      - '+.google.com'
      - '+.facebook.com'
      - '+.youtube.com'
      - '+.googleapis.+'

如果不在1111dns后添加#PROXY,无论是nameserver还是fallback中的dns均会直连 目前的解决方案是正确设置nameserver-policy后,将nameserver和fallback全部改成走代理的dns:

dns:
  enable: true
  prefer-h3: true
  listen: 0.0.0.0:53
  ipv6: true
  use-hosts: true

  default-nameserver:
    - 223.5.5.5
    - 119.29.29.29
    - tls://223.5.5.5
    - https://223.5.5.5/dns-query

  nameserver-policy:
    "geosite:cn": 
      - https://223.5.5.5/dns-query
      - https://doh.pub/dns-query
      - https://doh.360.cn/dns-query
      - tls://223.5.5.5
      - tls://dot.pub
    "rule-set:direct,private,apple,icloud":
      - https://223.5.5.5/dns-query
      - https://doh.pub/dns-query
      - https://doh.360.cn/dns-query
      - tls://223.5.5.5
      - tls://dot.pub
    

  enhanced-mode: redir-host

  fake-ip-range: 198.18.0.0/15

  fake-ip-filter:
    - '*'
    - '+.lan'
    - '+.local'
    - '+.leigod.com'
    - '+.vivox.com'
    - '*.msftncsi.com'
    - '*.msftconnecttest.com'
    - '+.stun.+'
    - '.n.n.srv.nintendo.net'
    - '+.stun.playstation.net'
    - 'xbox.*.*.microsoft.com'
    - '*.*.xboxlive.com'
    - 'lens.l.google.com'
    - '*.mcdn.bilivideo.cn'
    - WORKGROUP
  
  proxy-server-nameserver:
    - https://223.5.5.5/dns-query
    - https://doh.pub/dns-query
    - https://doh.360.cn/dns-query
    - tls://223.5.5.5
    - tls://dot.pub

  nameserver: 
    - https://1.1.1.1/dns-query#PROXY
    - https://1.0.0.1/dns-query#PROXY

  fallback: 
    - tcp://1.1.1.1#PROXY
    - https://1.1.1.1/dns-query#PROXY&h3=true
    - https://1.0.0.1/dns-query#PROXY
    - tls://1dot1dot1dot1.cloudflare-dns.com#PROXY

  fallback-filter:
    geoip: true
    geoip-code: CN
    geosite:
      - gfw
    ipcidr:
      - 240.0.0.0/4
    domain:
      - '+.google.com'
      - '+.facebook.com'
      - '+.youtube.com'
      - '+.googleapis.+'

fakeip要什么fallback?直接加 no-resolve解决,记得规则配置好,还有,1.0.0.1可以直连doh和dot都可以但我建议加节点防止他抽风

@Natsuki-Kaede
Copy link

+1 redir-host和fake-ip均有这个问题,正确设置了namepolicy和fallback-filter后,应该直接fallback的域名仍会通过nameserver解析,并且有可能会采用nameserver中dns返回的结果
贴上我的dns字段:

dns:
  enable: true
  prefer-h3: true
  listen: 0.0.0.0:53
  ipv6: true
  use-hosts: true

  default-nameserver:
    - 223.5.5.5
    - 119.29.29.29
    - tls://223.5.5.5
    - https://223.5.5.5/dns-query

  nameserver-policy:
    "geosite:cn": 
      - https://223.5.5.5/dns-query
      - https://doh.pub/dns-query
      - https://doh.360.cn/dns-query
      - tls://223.5.5.5
      - tls://dot.pub
    "rule-set:direct,private,apple,icloud":
      - https://223.5.5.5/dns-query
      - https://doh.pub/dns-query
      - https://doh.360.cn/dns-query
      - tls://223.5.5.5
      - tls://dot.pub
    

  enhanced-mode: redir-host

  fake-ip-range: 198.18.0.0/15

  fake-ip-filter:
    - '*'
    - '+.lan'
    - '+.local'
    - '+.leigod.com'
    - '+.vivox.com'
    - '*.msftncsi.com'
    - '*.msftconnecttest.com'
    - '+.stun.+'
    - '.n.n.srv.nintendo.net'
    - '+.stun.playstation.net'
    - 'xbox.*.*.microsoft.com'
    - '*.*.xboxlive.com'
    - 'lens.l.google.com'
    - '*.mcdn.bilivideo.cn'
    - WORKGROUP
  
  proxy-server-nameserver:
    - https://223.5.5.5/dns-query
    - https://doh.pub/dns-query
    - https://doh.360.cn/dns-query
    - tls://223.5.5.5
    - tls://dot.pub

  nameserver: 
    - https://223.5.5.5/dns-query
    - https://doh.pub/dns-query
    - https://1.1.1.1/dns-query#PROXY
    - https://1.0.0.1/dns-query#PROXY

  fallback: 
    - tcp://1.1.1.1#PROXY
    - https://1.1.1.1/dns-query#PROXY&h3=true
    - https://1.0.0.1/dns-query#PROXY
    - tls://1dot1dot1dot1.cloudflare-dns.com#PROXY

  fallback-filter:
    geoip: true
    geoip-code: CN
    geosite:
      - gfw
    ipcidr:
      - 240.0.0.0/4
    domain:
      - '+.google.com'
      - '+.facebook.com'
      - '+.youtube.com'
      - '+.googleapis.+'

如果不在1111dns后添加#PROXY,无论是nameserver还是fallback中的dns均会直连 目前的解决方案是正确设置nameserver-policy后,将nameserver和fallback全部改成走代理的dns:

dns:
  enable: true
  prefer-h3: true
  listen: 0.0.0.0:53
  ipv6: true
  use-hosts: true

  default-nameserver:
    - 223.5.5.5
    - 119.29.29.29
    - tls://223.5.5.5
    - https://223.5.5.5/dns-query

  nameserver-policy:
    "geosite:cn": 
      - https://223.5.5.5/dns-query
      - https://doh.pub/dns-query
      - https://doh.360.cn/dns-query
      - tls://223.5.5.5
      - tls://dot.pub
    "rule-set:direct,private,apple,icloud":
      - https://223.5.5.5/dns-query
      - https://doh.pub/dns-query
      - https://doh.360.cn/dns-query
      - tls://223.5.5.5
      - tls://dot.pub
    

  enhanced-mode: redir-host

  fake-ip-range: 198.18.0.0/15

  fake-ip-filter:
    - '*'
    - '+.lan'
    - '+.local'
    - '+.leigod.com'
    - '+.vivox.com'
    - '*.msftncsi.com'
    - '*.msftconnecttest.com'
    - '+.stun.+'
    - '.n.n.srv.nintendo.net'
    - '+.stun.playstation.net'
    - 'xbox.*.*.microsoft.com'
    - '*.*.xboxlive.com'
    - 'lens.l.google.com'
    - '*.mcdn.bilivideo.cn'
    - WORKGROUP
  
  proxy-server-nameserver:
    - https://223.5.5.5/dns-query
    - https://doh.pub/dns-query
    - https://doh.360.cn/dns-query
    - tls://223.5.5.5
    - tls://dot.pub

  nameserver: 
    - https://1.1.1.1/dns-query#PROXY
    - https://1.0.0.1/dns-query#PROXY

  fallback: 
    - tcp://1.1.1.1#PROXY
    - https://1.1.1.1/dns-query#PROXY&h3=true
    - https://1.0.0.1/dns-query#PROXY
    - tls://1dot1dot1dot1.cloudflare-dns.com#PROXY

  fallback-filter:
    geoip: true
    geoip-code: CN
    geosite:
      - gfw
    ipcidr:
      - 240.0.0.0/4
    domain:
      - '+.google.com'
      - '+.facebook.com'
      - '+.youtube.com'
      - '+.googleapis.+'

fakeip要什么fallback?直接加 no-resolve解决,记得规则配置好,还有,1.0.0.1可以直连doh和dot都可以但我建议加节点防止他抽风

fake-ip现在问题仍然很多,以及同样存在泄露
另外1111和1001我这都能直连,问题不在于这个,直连解析出来的ip不一定是适合走代理,比如cloudfront走直连解析出来大概是北美或者欧洲的ip,如果使用亚太代理就会绕

@Galaxian-Explosion
Copy link

+1 redir-host和fake-ip均有这个问题,正确设置了namepolicy和fallback-filter后,应该直接fallback的域名仍会通过nameserver解析,并且有可能会采用nameserver中dns返回的结果

贴上我的dns字段:

dns:
  enable: true
  prefer-h3: true
  listen: 0.0.0.0:53
  ipv6: true
  use-hosts: true

  default-nameserver:
    - 223.5.5.5
    - 119.29.29.29
    - tls://223.5.5.5
    - https://223.5.5.5/dns-query

  nameserver-policy:
    "geosite:cn": 
      - https://223.5.5.5/dns-query
      - https://doh.pub/dns-query
      - https://doh.360.cn/dns-query
      - tls://223.5.5.5
      - tls://dot.pub
    "rule-set:direct,private,apple,icloud":
      - https://223.5.5.5/dns-query
      - https://doh.pub/dns-query
      - https://doh.360.cn/dns-query
      - tls://223.5.5.5
      - tls://dot.pub
    

  enhanced-mode: redir-host

  fake-ip-range: 198.18.0.0/15

  fake-ip-filter:
    - '*'
    - '+.lan'
    - '+.local'
    - '+.leigod.com'
    - '+.vivox.com'
    - '*.msftncsi.com'
    - '*.msftconnecttest.com'
    - '+.stun.+'
    - '.n.n.srv.nintendo.net'
    - '+.stun.playstation.net'
    - 'xbox.*.*.microsoft.com'
    - '*.*.xboxlive.com'
    - 'lens.l.google.com'
    - '*.mcdn.bilivideo.cn'
    - WORKGROUP
  
  proxy-server-nameserver:
    - https://223.5.5.5/dns-query
    - https://doh.pub/dns-query
    - https://doh.360.cn/dns-query
    - tls://223.5.5.5
    - tls://dot.pub

  nameserver: 
    - https://223.5.5.5/dns-query
    - https://doh.pub/dns-query
    - https://1.1.1.1/dns-query#PROXY
    - https://1.0.0.1/dns-query#PROXY

  fallback: 
    - tcp://1.1.1.1#PROXY
    - https://1.1.1.1/dns-query#PROXY&h3=true
    - https://1.0.0.1/dns-query#PROXY
    - tls://1dot1dot1dot1.cloudflare-dns.com#PROXY

  fallback-filter:
    geoip: true
    geoip-code: CN
    geosite:
      - gfw
    ipcidr:
      - 240.0.0.0/4
    domain:
      - '+.google.com'
      - '+.facebook.com'
      - '+.youtube.com'
      - '+.googleapis.+'

如果不在1111dns后添加#PROXY,无论是nameserver还是fallback中的dns均会直连 目前的解决方案是正确设置nameserver-policy后,将nameserver和fallback全部改成走代理的dns:

dns:
  enable: true
  prefer-h3: true
  listen: 0.0.0.0:53
  ipv6: true
  use-hosts: true

  default-nameserver:
    - 223.5.5.5
    - 119.29.29.29
    - tls://223.5.5.5
    - https://223.5.5.5/dns-query

  nameserver-policy:
    "geosite:cn": 
      - https://223.5.5.5/dns-query
      - https://doh.pub/dns-query
      - https://doh.360.cn/dns-query
      - tls://223.5.5.5
      - tls://dot.pub
    "rule-set:direct,private,apple,icloud":
      - https://223.5.5.5/dns-query
      - https://doh.pub/dns-query
      - https://doh.360.cn/dns-query
      - tls://223.5.5.5
      - tls://dot.pub
    

  enhanced-mode: redir-host

  fake-ip-range: 198.18.0.0/15

  fake-ip-filter:
    - '*'
    - '+.lan'
    - '+.local'
    - '+.leigod.com'
    - '+.vivox.com'
    - '*.msftncsi.com'
    - '*.msftconnecttest.com'
    - '+.stun.+'
    - '.n.n.srv.nintendo.net'
    - '+.stun.playstation.net'
    - 'xbox.*.*.microsoft.com'
    - '*.*.xboxlive.com'
    - 'lens.l.google.com'
    - '*.mcdn.bilivideo.cn'
    - WORKGROUP
  
  proxy-server-nameserver:
    - https://223.5.5.5/dns-query
    - https://doh.pub/dns-query
    - https://doh.360.cn/dns-query
    - tls://223.5.5.5
    - tls://dot.pub

  nameserver: 
    - https://1.1.1.1/dns-query#PROXY
    - https://1.0.0.1/dns-query#PROXY

  fallback: 
    - tcp://1.1.1.1#PROXY
    - https://1.1.1.1/dns-query#PROXY&h3=true
    - https://1.0.0.1/dns-query#PROXY
    - tls://1dot1dot1dot1.cloudflare-dns.com#PROXY

  fallback-filter:
    geoip: true
    geoip-code: CN
    geosite:
      - gfw
    ipcidr:
      - 240.0.0.0/4
    domain:
      - '+.google.com'
      - '+.facebook.com'
      - '+.youtube.com'
      - '+.googleapis.+'

说明你就没理解fallback是干什么用的
https://wiki.metacubex.one/config/dns/diagram/
fallback和nameserver字段之间是并发关系,fallback-filter只是用来控制最终取哪边的结果,但两边一定都会做解析。
说到底都用meta内核了,本来就应该放弃fallback字段,哪怕meta官方也是建议只用policy字段解决

@Natsuki-Kaede
Copy link

Natsuki-Kaede commented Apr 13, 2024

说明你就没理解fallback是干什么用的 https://wiki.metacubex.one/config/dns/diagram/ fallback和nameserver字段之间是并发关系,fallback-filter只是用来控制最终取哪边的结果,但两边一定都会做解析。 说到底都用meta内核了,本来就应该放弃fallback字段,哪怕meta官方也是建议只用policy字段解决

太有理解了👍
https://wiki.metacubex.one/config/dns/#fallback-filter
https://wiki.metacubex.one/config/dns/?h=fallback#geosite
有没有看过这两个字段的具体解释,
首先fallback-filter字段在废弃之前是有效的,geosite规则只会使用fallback解析,我一开始设定的是geolocation-!cn ,即便如此泄露问题依然存在
另外我也尝试用nameserver-policy去准确地控制geolocation-!cn使用走代理的境外dns,结果是依然会泄露,OpenClash永远在用nameserver中设定的服务器查询
以上两种情况在Clash Verge客户端v1.182 Meta内核中不存在泄露问题
这已经说明了存在的问题

@Galaxian-Explosion
Copy link

Galaxian-Explosion commented Apr 13, 2024

你都在说些什么东西。。胡子眉毛一把抓是吧。
表达“dns行为不及预期”时,都是报出具体配置,并指出具体哪个网站的解析超出预期,才能正经分析的。如果涉及到geosite,也要言明版本的。
要是只会说dns泄漏,那就是没有明确需求,鉴定为不良林看多了。那也简单,他怎么说你就怎么做咯。
clash verge是单客户端,openclash是透明代理,后者能漏dns的地方本来就更多,光内核配对了说明不了什么。
而且所谓的泄漏怎么石锤?内核日志?总不会是ipleak吧?这都要说的。

@Natsuki-Kaede
Copy link

Natsuki-Kaede commented Apr 13, 2024

你都在说些什么东西。。胡子眉毛一把抓是吧。 表达“dns行为不及预期”时,都是报出具体配置文件,讲清楚tun/redirect/tproxy/mixed,并指出具体哪个网站的解析超出预期,才能正经分析的。 如果涉及到geosite,也要言明版本的。 要是只会说dns泄漏,那就是没有明确需求,鉴定为不良林看多了。那也简单,他怎么说你就怎么做咯。

回复是一句不看的,文档是完全不读的,测试是一点没有的,上来给我扣一个不良林看多了的帽子,你多少有点搞笑在里面
需求不必多说,大家差不多都是不想把某一部分域名交给nameserver进行一次多余的解析,不管是出于安全还是性能考虑。同样的透明代理passwall是不漏的,另外ipleak怎么你了,ipleak不能说明问题是吧,就说就说
别在回复我了谢谢,扣的帽子还你,
正常的issue反馈问题让你来杠出优越感了😅
edited: issue里面提到客观存在的问题您一点不提,我发的文档也一个字不看,就搁这来硬杠,歪这么多回复没一点用,不是来解决问题的话我劝您去微博玩玩,起码看的人多(

@sept5920
Copy link
Author

你都在说些什么东西。。胡子眉毛一把抓是吧。 表达“dns行为不及预期”时,都是报出具体配置,并指出具体哪个网站的解析超出预期,才能正经分析的。如果涉及到geosite,也要言明版本的。 要是只会说dns泄漏,那就是没有明确需求,鉴定为不良林看多了。那也简单,他怎么说你就怎么做咯。 clash verge是单客户端,openclash是透明代理,后者能漏dns的地方本来就更多,光内核配对了说明不了什么。 而且所谓的泄漏怎么石锤?内核日志?总不会是ipleak吧?这都要说的。

find-process-mode: strict
unified-delay: true
tcp-concurrent: true
global-client-fingerprint: chrome
geodata-mode: true
geodata-loader: standard
sniffer:
enable: true
force-dns-mapping: true
parse-pure-ip: true
override-destination: true
sniff:
HTTP:
ports: [80, 8080-8880]
override-destination: true
TLS:
ports: [443, 8443]
QUIC:
ports: [443, 8443]
force-domain:
- +.v2ex.com
skip-domain:
- Mijia Cloud
dns:
enable: true
prefer-h3: true
ipv6: true
default-nameserver:
- 8.8.8.8
enhanced-mode: redir-host
nameserver:
- https://dns.alidns.com/dns-query
fallback:
- https://1.0.0.1/dns-query
fallback-filter:
geoip: true
geoip-code: CN
geosite:
- gfw
ipcidr:
- 240.0.0.0/4
domain:
- '+.google.com'
- '+.facebook.com'
- '+.youtube.com'
瞅去吧,我贴了日志,谷歌泄露,规则有no-resolve,fakeip也是透明代理,不会存在泄露问题,clash设置,我压根没怎么动,开了tun模式,其他默认,之前开了v6和v6代理,现在关了v6的dhcp和代理,一样的效果

@sept5920
Copy link
Author

你都在说些什么东西。。胡子眉毛一把抓是吧。 表达“dns行为不及预期”时,都是报出具体配置文件,讲清楚tun/redirect/tproxy/mixed,并指出具体哪个网站的解析超出预期,才能正经分析的。 如果涉及到geosite,也要言明版本的。 要是只会说dns泄漏,那就是没有明确需求,鉴定为不良林看多了。那也简单,他怎么说你就怎么做咯。

回复是一句不看的,文档是完全不读的,测试是一点没有的,上来给我扣一个不良林看多了的帽子,你多少有点搞笑在里面 需求不必多说,大家差不多都是不想把某一部分域名交给nameserver进行一次多余的解析,不管是出于安全还是性能考虑。同样的透明代理passwall是不漏的,另外ipleak怎么你了,ipleak不能说明问题是吧,就说就说 别在回复我了谢谢,扣的帽子还你, 正常的issue反馈问题让你来杠出优越感了😅 edited: issue里面提到客观存在的问题您一点不提,我发的文档也一个字不看,就搁这来硬杠,歪这么多回复没一点用,不是来解决问题的话我劝您去微博玩玩,起码看的人多(

fakeip我不漏,漏了就是你规则没配置好

@sept5920
Copy link
Author

你都在说些什么东西。。胡子眉毛一把抓是吧。 表达“dns行为不及预期”时,都是报出具体配置文件,讲清楚tun/redirect/tproxy/mixed,并指出具体哪个网站的解析超出预期,才能正经分析的。 如果涉及到geosite,也要言明版本的。 要是只会说dns泄漏,那就是没有明确需求,鉴定为不良林看多了。那也简单,他怎么说你就怎么做咯。

回复是一句不看的,文档是完全不读的,测试是一点没有的,上来给我扣一个不良林看多了的帽子,你多少有点搞笑在里面 需求不必多说,大家差不多都是不想把某一部分域名交给nameserver进行一次多余的解析,不管是出于安全还是性能考虑。同样的透明代理passwall是不漏的,另外ipleak怎么你了,ipleak不能说明问题是吧,就说就说 别在回复我了谢谢,扣的帽子还你, 正常的issue反馈问题让你来杠出优越感了😅 edited: issue里面提到客观存在的问题您一点不提,我发的文档也一个字不看,就搁这来硬杠,歪这么多回复没一点用,不是来解决问题的话我劝您去微博玩玩,起码看的人多(

我回来试一下 nameserver-policy有没有用吧,之前没试过

@xpn282
Copy link

xpn282 commented Apr 14, 2024

有一点要注意的是,OpenClash的“覆写设置”--“dns设置”哪里的参数,是会写入到配置文件yaml里,也就是说会修改或添加到原配置文件里的dns设置,这个要注意一下。
我自己是把配置文件yaml里的dns相关的参数全部删除,然后只在OpenClash的“覆写设置”--“dns设置”做相关dns的设置。

或许是这个原因,导致同一份配置文件为什么OpenClash会出现泄漏,因为OpenClash的“覆写设置”--“dns设置”的参数会影响最终的dns设置。。

@xpn282
Copy link

xpn282 commented Apr 14, 2024

关于dns泄漏,我也是使用redir-host模式,我之前在v2ex回复过Op,但是op貌似不是很在意。
我是建议使用Meta内核的话,舍弃fallback-filter,直接使用nameserver-policy和nameserver来做dns分流,然后然国外的dns走代理,做好这 2 点,包通过所有 dns 泄漏测试。

以下是我在OpenClash上的dns设置,其中“tls://8.8.4.4#DNS”的“#DNS”的意思是使用“DNS”这个策略组进行代理解析,这个策略组自己配置好。
截屏2024-04-14 20 05 57
截屏2024-04-14 20 06 22
截屏2024-04-14 20 06 33

下面是运行时,配置文件里最终呈现的dns设置
截屏2024-04-14 20 09 36

我自己的rules规则是国内直连,其余代理。以下是那些所谓的泄漏测试网站的结果。。。。
截屏2024-04-14 20 26 55
截屏2024-04-14 20 27 02

我现在越来越对这些所谓的测试不感冒了,打算dns只用nameserver(运营商dns),其他的不弄了

@sept5920
Copy link
Author

关于dns泄漏,我也是使用redir-host模式,我之前在v2ex回复过Op,但是op貌似不是很在意。 我是建议使用Meta内核的话,舍弃fallback-filter,直接使用nameserver-policy和nameserver来做dns分流,然后然国外的dns走代理,做好这 2 点,包通过所有 dns 泄漏测试。

以下是我在OpenClash上的dns设置,其中“tls://8.8.4.4#DNS”的“#DNS”的意思是使用“DNS”这个策略组进行代理解析,这个策略组自己配置好。 截屏2024-04-14 20 05 57 截屏2024-04-14 20 06 22 截屏2024-04-14 20 06 33

下面是运行时,配置文件里最终呈现的dns设置 截屏2024-04-14 20 09 36

我自己的rules规则是国内直连,其余代理。以下是那些所谓的泄漏测试网站的结果。。。。 截屏2024-04-14 20 26 55 截屏2024-04-14 20 27 02

我现在越来越对这些所谓的测试不感冒了,打算dns只用nameserver(运营商dns),其他的不弄了

学到了

@sept5920
Copy link
Author

有一点要注意的是,OpenClash的“覆写设置”--“dns设置”哪里的参数,是会写入到配置文件yaml里,也就是说会修改或添加到原配置文件里的dns设置,这个要注意一下。 我自己是把配置文件yaml里的dns相关的参数全部删除,然后只在OpenClash的“覆写设置”--“dns设置”做相关dns的设置。

或许是这个原因,导致同一份配置文件为什么OpenClash会出现泄漏,因为OpenClash的“覆写设置”--“dns设置”的参数会影响最终的dns设置。。

这个我是关的

@casojie
Copy link

casojie commented Apr 15, 2024

我不太明白,泄漏是指udp的dns请求被运营商等中间拦截分析的话,为什么不全部选择dot tls的请求方式不就好了吗

@sept5920
Copy link
Author

我不太明白,泄漏是指udp的dns请求被运营商等中间拦截分析的话,为什么不全部选择dot tls的请求方式不就好了吗

用doh一样会被上游看到,打个比方,我用阿里doh,但是阿里的doh依然会像运营商发起dns请求,可能为了cdn会像你运营商的dns服务器发起请求,虽然我不知道运营商那边显示的是阿里发起的请求还是我。如果用谷歌的doh,那就没有意义了

@casojie
Copy link

casojie commented Apr 15, 2024

我不太明白,泄漏是指udp的dns请求被运营商等中间拦截分析的话,为什么不全部选择dot tls的请求方式不就好了吗

用doh一样会被上游看到,打个比方,我用阿里doh,但是阿里的doh依然会像运营商发起dns请求,可能为了cdn会像你运营商的dns服务器发起请求,虽然我不知道运营商那边显示的是阿里发起的请求还是我。如果用谷歌的doh,那就没有意义了

我觉得这有点过度焦虑了

  • 如果是tls://223.5.5.5 只要运营商无法劫持查看修改我认为差不多就可以了,之前我就想到这个问题了,因为公司网络和运营商可能会拦截统计个人的dns解析请求来分析访问的网站,所以我全部都换为tls了,
  • 即使223.5.5.5的cdn节点也会向上游dns拉取数据,我觉得也没多大所谓了,我觉得问题不大,应该更多的时候是命中缓存,而且阿里dns要解析的数据多了去了,而且偶尔解析几个国外域名也很正常,有些软件内部甚至写死了dns地址(虽然情况比较少)
  • 阿里dns的cdn节点应该是阿里在管理,不是运营商就行,阿里我感觉应该没那么无聊
  • 我觉得下面这些问题更是我想知道的,有没大佬支支招
  1. 我不知道openclash如何完美兼容ipv6网络,最好是国内域名支持解析成ipv6直连,而国外代理仅ipv4,有没有教程或者大佬
  2. 有些国产app软件会获取手机软件安装列表,这样相对于dns泄露更容易定位到个人,我觉得是更严重的问题
  3. fake-ip模式下有些网络问题,现在有一个Fake-IP-Filter选项,里面的域名会返回真实IP,但这表有人定期维护更新吗,能不能做成像白名单一样可以定期订阅更新,有时候有些游戏语音有点问题

@Natsuki-Kaede
Copy link

Natsuki-Kaede commented Apr 16, 2024

我不太明白,泄漏是指udp的dns请求被运营商等中间拦截分析的话,为什么不全部选择dot tls的请求方式不就好了吗

用doh一样会被上游看到,打个比方,我用阿里doh,但是阿里的doh依然会像运营商发起dns请求,可能为了cdn会像你运营商的dns服务器发起请求,虽然我不知道运营商那边显示的是阿里发起的请求还是我。如果用谷歌的doh,那就没有意义了

我觉得这有点过度焦虑了

  • 如果是tls://223.5.5.5 只要运营商无法劫持查看修改我认为差不多就可以了,之前我就想到这个问题了,因为公司网络和运营商可能会拦截统计个人的dns解析请求来分析访问的网站,所以我全部都换为tls了,
  • 即使223.5.5.5的cdn节点也会向上游dns拉取数据,我觉得也没多大所谓了,我觉得问题不大,应该更多的时候是命中缓存,而且阿里dns要解析的数据多了去了,而且偶尔解析几个国外域名也很正常,有些软件内部甚至写死了dns地址(虽然情况比较少)
  • 阿里dns的cdn节点应该是阿里在管理,不是运营商就行,阿里我感觉应该没那么无聊
  • 我觉得下面这些问题更是我想知道的,有没大佬支支招
  1. 我不知道openclash如何完美兼容ipv6网络,最好是国内域名支持解析成ipv6直连,而国外代理仅ipv4,有没有教程或者大佬
  2. 有些国产app软件会获取手机软件安装列表,这样相对于dns泄露更容易定位到个人,我觉得是更严重的问题
  3. fake-ip模式下有些网络问题,现在有一个Fake-IP-Filter选项,里面的域名会返回真实IP,但这表有人定期维护更新吗,能不能做成像白名单一样可以定期订阅更新,有时候有些游戏语音有点问题

这里的泄露是:原本只应该发送给境外DNS进行解析的域名,被错误地转发给了境内DNS,这个请求是多余的,跟使用的DNS为明文udp还是DoH/DoT无关
另外运营商给的DNS结果有时候会比阿里/DNSPod ecs返回的结果要好一点(虽然在国内区别不太大),还是可以优化一部分体验的,而且根据https://wiki.metacubex.one/config/dns/?h=fallback#geosite 的描述,设定fallback-filter geosite字段时,表现并不符合预期,这是需要解决的问题

后面三个问题:

  1. 添加额外的DNS流程,比如我现在附加了SmartDNS作为OpenClash的上游,不再使用fallback和fallback-filter,仅使用nameserver-policy + smartdns分组使用,为了避免泄露就把nameserver当作以前的fallback添加smartdns的海外组,需要禁用AAAA记录就在smartdns里面设置
  2. 没办法,这偏离这个issues主题了,也许两个手机/应用沙盒之类的可以缓解这个问题
  3. 参考: 关于fakeip-filter引入域名列表 MetaCubeX/mihomo#515 feat(fakeip-rules): add fakeip-rules as fakip-filter MetaCubeX/mihomo#913 似乎暂时没有人维护这样的列表,未来似乎也不会实现rule-set或者geosite的fake-ip-filter(大规模的fake-ip-filter不如直接去用redir-host),所以有问题最好是自己看日志加...很多游戏用的Vivox出问题所以可以尝试先加入 '+.vivox.com' 试试

@casojie
Copy link

casojie commented Apr 16, 2024

我不太明白,泄漏是指udp的dns请求被运营商等中间拦截分析的话,为什么不全部选择dot tls的请求方式不就好了吗

用doh一样会被上游看到,打个比方,我用阿里doh,但是阿里的doh依然会像运营商发起dns请求,可能为了cdn会像你运营商的dns服务器发起请求,虽然我不知道运营商那边显示的是阿里发起的请求还是我。如果用谷歌的doh,那就没有意义了

我觉得这有点过度焦虑了

  • 如果是tls://223.5.5.5 只要运营商无法劫持查看修改我认为差不多就可以了,之前我就想到这个问题了,因为公司网络和运营商可能会拦截统计个人的dns解析请求来分析访问的网站,所以我全部都换为tls了,
  • 即使223.5.5.5的cdn节点也会向上游dns拉取数据,我觉得也没多大所谓了,我觉得问题不大,应该更多的时候是命中缓存,而且阿里dns要解析的数据多了去了,而且偶尔解析几个国外域名也很正常,有些软件内部甚至写死了dns地址(虽然情况比较少)
  • 阿里dns的cdn节点应该是阿里在管理,不是运营商就行,阿里我感觉应该没那么无聊
  • 我觉得下面这些问题更是我想知道的,有没大佬支支招
  1. 我不知道openclash如何完美兼容ipv6网络,最好是国内域名支持解析成ipv6直连,而国外代理仅ipv4,有没有教程或者大佬
  2. 有些国产app软件会获取手机软件安装列表,这样相对于dns泄露更容易定位到个人,我觉得是更严重的问题
  3. fake-ip模式下有些网络问题,现在有一个Fake-IP-Filter选项,里面的域名会返回真实IP,但这表有人定期维护更新吗,能不能做成像白名单一样可以定期订阅更新,有时候有些游戏语音有点问题

这里的泄露是:原本只应该发送给境外DNS进行解析的域名,被错误地转发给了境内DNS,这个请求是多余的,跟使用的DNS为明文udp还是DoH/DoT无关 另外运营商给的DNS结果有时候会比阿里/DNSPod ecs返回的结果要好一点(虽然在国内区别不太大),还是可以优化一部分体验的,而且根据https://wiki.metacubex.one/config/dns/?h=fallback#geosite 的描述,设定fallback-filter geosite字段时,表现并不符合预期,这是需要解决的问题

后面三个问题:

  1. 添加额外的DNS流程,比如我现在附加了SmartDNS作为OpenClash的上游,不再使用fallback和fallback-filter,仅使用nameserver-policy + smartdns分组使用,为了避免泄露就把nameserver当作以前的fallback添加smartdns的海外组,需要禁用AAAA记录就在smartdns里面设置
  2. 没办法,这偏离这个issues主题了,也许两个手机/应用沙盒之类的可以缓解这个问题
  3. 参考: 关于fakeip-filter引入域名列表 MetaCubeX/mihomo#515 feat(fakeip-rules): add fakeip-rules as fakip-filter MetaCubeX/mihomo#913 似乎暂时没有人维护这样的列表,未来似乎也不会实现rule-set或者geosite的fake-ip-filter(大规模的fake-ip-filter不如直接去用redir-host),所以有问题最好是自己看日志加...很多游戏用的Vivox出问题所以可以尝试先加入 '+.vivox.com' 试试
  • 好像确实有问题,打开youtuber.com时,理论上应该不走解析了吧,但是clash dns的上游AdgHome dns还是收到了account.youtuber.com解析请求,理论上里面应该有后缀匹配youtuber.com,不知道你们说的是不是这个
  • 使用上面老哥的nameserver和nameserver-policy进行分流,nameserver-policy添加"geosite:cn,apple,private": [127.0.0.1:5553],意思是国内域名走Adghome,而nameServer和Defalut-nameserver配置为国外tls dns,确实不泄露了,我不知道我有没有理解错
  • 后三个问题
  1. 感谢,之前有了解过但是没尝试,不过根据上诉的nameserver和nameserver-policy进行的分流,openclash的dns能否设置成nameserver-policy允许返回ipv6地址,而其他默认过滤ipv6,这样是不是也能实现相同的效果兼容ipv6呢,但不了解clash不知道如何配置
  2. 这个确实没啥办法而且我感觉是个很大的问题,小米有个什么框架倒是可以阻止,但不知道是不是掩耳盗铃
  3. 主要是自己懒年纪大了,不太想折腾,比较fake-ip大多情况下都没问题,只是很小一部分域名而已,有人维护更新是最好了

@xpn282
Copy link

xpn282 commented Apr 16, 2024

回复楼上的:

其实根本不用担心IPv6的问题,IPv6全开就是了,配置文件里做好IPv6的rules规则。遇到IPv6流量是该直连?还是该代理?全由OpenClash来处理,不管你的机场支不支持IPv6,一点都不影响你访问国内和国外。
折腾什么国内返回IPv6地址,国外又禁止返回IPv6地址,都是瞎折腾,我从不搞这些东西。

我自己就是那么用的,OpenClash里的设置IPv6全开,我自己的大部分机场也不支持iIPv6,IPv6流量全由OpenClash处理,IPv6的分流一点问题也没有。
截屏2024-04-16 13 26 09
IMG_1065

@sept5920
Copy link
Author

回复楼上的:

其实根本不用担心IPv6的问题,IPv6全开就是了,配置文件里做好IPv6的rules规则。遇到IPv6流量是该直连?还是该代理?全由OpenClash来处理,不管你的机场支不支持IPv6,一点都不影响你访问国内和国外。 折腾什么国内返回IPv6地址,国外又禁止返回IPv6地址,都是瞎折腾,我从不搞这些东西。

我自己就是那么用的,OpenClash里的设置IPv6全开,我自己的大部分机场也不支持iIPv6,IPv6流量全由OpenClash处理,IPv6的分流一点问题也没有。 截屏2024-04-16 13 26 09 IMG_1065

我建议ipv6关了,安卓端透明代理的时候存在webrtc的v6泄露,我的iPad没有这个情况,苹果手机具体不知道

@xpn282
Copy link

xpn282 commented Apr 17, 2024

虽然我自己之前也折腾过并也掌握了解决dns泄漏这东西,但我现在对泄漏这东西越来越没感觉,日常使用没感觉到有什么异常和不妥,已经无所谓了。

v6泄漏带来的后果和失去v6的加成,我选择v6的加成。我不会为了泄漏而放弃ipv6的使用,v6给我好几个方面的加成,不舍得放弃,嘿嘿

@casojie
Copy link

casojie commented Apr 17, 2024

回归主题,这个版本好像是真的有dns泄漏,似乎还是会使用nameserver组发起dns请求

@jqyisbest
Copy link

OpenClash + SmartDNS 完美解决DNS泄露。之前看到一个评论,说Clash做DNS解析不是为了提供DNS服务,专业的事交给专业的程序去做~

@casojie
Copy link

casojie commented Apr 18, 2024

好像并没有问题,符合预期,只是少部分少见国外域名会漏我觉得可以接受

@madman43
Copy link

关于dns泄漏,我也是使用redir-host模式,我之前在v2ex回复过Op,但是op貌似不是很在意。 我是建议使用Meta内核的话,舍弃fallback-filter,直接使用nameserver-policy和nameserver来做dns分流,然后然国外的dns走代理,做好这 2 点,包通过所有 dns 泄漏测试。

以下是我在OpenClash上的dns设置,其中“tls://8.8.4.4#DNS”的“#DNS”的意思是使用“DNS”这个策略组进行代理解析,这个策略组自己配置好。 截屏2024-04-14 20 05 57 截屏2024-04-14 20 06 22 截屏2024-04-14 20 06 33

下面是运行时,配置文件里最终呈现的dns设置 截屏2024-04-14 20 09 36

我自己的rules规则是国内直连,其余代理。以下是那些所谓的泄漏测试网站的结果。。。。 截屏2024-04-14 20 26 55 截屏2024-04-14 20 27 02

我现在越来越对这些所谓的测试不感冒了,打算dns只用nameserver(运营商dns),其他的不弄了

有详细的设置截图吗,我按照你的设置了直接无法访问外网了

@xpn282
Copy link

xpn282 commented Apr 19, 2024

有详细的设置截图吗,我按照你的设置了直接无法访问外网了

Default-NameServer组的dns要打开“节点域名解析”

IMG_1075

@sept5920
Copy link
Author

回归主题,这个版本好像是真的有dns泄漏,似乎还是会使用nameserver组发起dns请求

我这边是用nameserver必定发起请求,不过国外国内的域名

@casojie
Copy link

casojie commented Apr 22, 2024

回归主题,这个版本好像是真的有dns泄漏,似乎还是会使用nameserver组发起dns请求

我这边是用nameserver必定发起请求,不过国外国内的域名

好像会漏,好像又不会,不知道是不是我设置的问题

@brucmao
Copy link

brucmao commented May 25, 2024

有详细的设置截图吗,我按照你的设置了直接无法访问外网了

Default-NameServer组的dns要打开“节点域名解析”

IMG_1075

请问你有使用adguard home 吗,我的adg 上有dns是openclash 127.0.0.1:7874

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

8 participants