V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jamesjammy061
V2EX  ›  问与答

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

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

    这里简化一下配置把 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 智能多宿主名称解析

    6 条回复    2024-08-18 08:05:29 +08:00
    SenLief
        1
    SenLief  
       235 天前
    strict_route
    kuaizi
        2
    kuaizi  
       235 天前 via Android
    outbound
    匹配出站。
    any 可作为值用于匹配任意出站。

    解析你代理服务器域名用的
    没有匹配规则的话,默认走 sever 第一个,也就是你的 8.8.8.8
    jamesjammy061
        3
    jamesjammy061  
    OP
       235 天前
    @kuaizi 感谢。我也有在 singbox 官方 issue 问过,但是发现好像会死循环,8.8.8.8 又会走 detour 。有没有方法像 clash meta 的 proxy_nameserver 一样,使得解析代理服务器域名走单独的 dns ,直接出站
    garryforreg420
        4
    garryforreg420  
       190 天前   ❤️ 1
    @jamesjammy061
    outbound: any
    这条就是用来解析代理服务器域名的
    himan85
        5
    himan85  
       126 天前 via iPhone
    这个 outbound:any 我也困惑了好一下子,其实匹配的是你本地服务器到代理服务器的 outbound ,所以自然也不会匹配到任何你要访问的最终服务器域名了
    sikeer
        6
    sikeer  
       93 天前   ❤️ 1
    @himan85 几乎每个人开始接触 sb 都会问这个问题的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3137 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 13:45 · PVG 21:45 · LAX 05:45 · JFK 08:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.