sing-box 的 dns 规则是怎么路由的?

42次阅读

共计 775 个字符,预计需要花费 2 分钟才能阅读完成。

这里简化一下配置把 json 转为 yaml 表示

俺代码也去扒了一下没大看懂,暂且理解为从上到下,按照先后顺序一条条匹配的,如果没有匹配到任何一条,那么就走 final

如果在 tun mode 下,sing-box 会进行 dns 劫持吗

dns:
  final: dns_proxy
  independent_cache: true
  strategy: prefer_ipv4
  servers:
    - {tag: dns_proxy, address: 8.8.8.8, detour: 默认}
    - {tag: dns_resolver, address: 223.5.5.5, detour: DIRECT}
  rules:
    - {rule_set: [ MainlandNetwork], server: dns_resolver }
    - {rule_set: [ AboardNetwork, GeoSite@category-anticensorship, GeoSite@tld-!cn, GeoSite@gfw, GeoSite@geolocation-!cn], server: dns_proxy }
    - {rule_set: [ GeoSite@cn, GeoSite@tld-cn], server: dns_resolver }
    - {outbound: [ any], server: dns_resolver }

按照这个规则,比如说当前域名是 3vc6d6355d917116360892063vc6d635.edns.ip-api.com

ip-api.com 应该是没有在上面任何一条 rule_set 中,那么是否会命中 outbound: any

测试了一下 tun mode,发现会有 dns 泄露

但是 http proxy 不会,有点不太明白这个逻辑,按这个逻辑来说应该任何没有命中 rule_set 的域名都应该走 223.5.5.5 请求 dns

已经禁用 Windows 智能多宿主名称解析

正文完
 0