V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ENE
V2EX  ›  DNS

Mihomo 和 SingBox 关于 Real-IP 在代理挂掉情况下的解析问题

  •  
  •   ENE · 8 小时 30 分钟前 · 539 次点击

    起因是最近代理不稳定,发现代理节点挂掉,国外的 DNS 无法正常工作情况下,国内部分小众域名将会无法解析(不在 geosite:cn 列表中),一部分可以直连国外网站也会无法解析.
    在设置为 规则模式走 Direct 和 Direct 模式情况下,依然无法解析,才发现 Real-IP 在这种情况下有解析问题。


    我们以 Mihomo 内核举例:

    • 首先 规则模式走 Direct 和 Direct 模式 都是在分流层面事情,DNS 解析依然会走 DNS 规则
    • 其次,在 mihomo 内核中,需要代理域名解析到 IP 是错误也不太会影响分流结果( IP 规则除外),因为给远端(节点)是域名
    • 至于 Fallback 我们在这里并不做讨论(因为发送给远端是 IP 而并非域名,所以被排除掉了)
    1. 情况一、为了防止 DNS 泄露,一般除了国内域名( geosite:cn ),都是使用 EDNS+国外 DNS 方式查询( NameServer ),有些可能设置了 direct-nameserver (不影响结果)

      • 在这种情况下,只要国外 DNS 无法解析,就会出现开头所诉情况,即使设置 direct-nameserver 下,国外 DNS 那一关过不去就无法分流。
    2. 情况二、geosite:gfw 全走国外 DNS ,其他 NameServer 都是使用国内 DNS 查询( NameServer ),有些可能设置了 direct-nameserver (不影响结果)

      • 这种情况下会好点,虽然会有 DNS 泄露问题,但是仅限于 geosite:gfw 无法解析了

    SingBox 内核也有相同问题,但是会比 Mihomo 情况好很多(因为可以手动设置解析逻辑,就是比较掉头发罢了)

    • SingBox 可以手动设置 Direct 模式使用的 DNS

    而 Fake-IP 在这点上就没问题了,直接给客户端发送假 IP ,直接跳到分流层面上;
    不必在意 NameServer 是国内还是国外,需要代理域名直接给代理节点发送域名( 99%情况不会发送 IP 的);
    而直连域名就通过内核配置 DNS 解析 IP ,由内核中转发送到目标

    所以有没有一种方式,当解析超时时候,发送 Fake-IP ,直接到分流层次;或者可以设置 FallBack (此 FallBack 非彼 FallBack )

    6 条回复    2026-04-05 23:49:16 +08:00
    butanediol2d
        1
    butanediol2d  
       6 小时 22 分钟前
    为什么 Fake IP 没问题? Mihomo 只在遇到 IP 规则的时候才会去解析域名的 IP ,这一点无论是否使用 Fake IP 都是一样的吧?

    除非软件非要自己解析 IP ,不然一般走 socks/http 代理的时候,软件都会直接把域名交给代理。我感觉理论上是否用 Fake IP 都不影响。
    ENE
        2
    ENE  
    OP
       5 小时 47 分钟前 via Android
    @butanediol2d 因为软件域名解析超时拿不到 IP ,直接报错了; 而 FAKEIP 直接发假 IP 不会有这个问题
    ENE
        3
    ENE  
    OP
       5 小时 44 分钟前 via Android
    @butanediol2d 你说的仅限于 sock 和 http ,如果是 tun 或者 tproxy 模式的话就是我上面说的
    cairnechen
        4
    cairnechen  
       5 小时 40 分钟前
    @ENE sing-box 规则 reject 的时候也会遇到这个问题吧,但是我记得有个兜底策略,连续请求多少次就直接 drop 不 reject 了
    ENE
        5
    ENE  
    OP
       5 小时 32 分钟前 via Android
    @cairnechen 对,reject 的是这样。我现在是吧国外 DNS 单独设置一个组,通过 Auto urltest 选择一个可用节点代理 DNS
    butanediol2d
        6
    butanediol2d  
       4 小时 8 分钟前
    @ENE 哦那确实,但是我感觉 TUN 模式的话推荐用 fake ip 吧。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   855 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 19:57 · PVG 03:57 · LAX 12:57 · JFK 15:57
    ♥ Do have faith in what you're doing.