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

国内公共 DNS 能解析出被 x 域名真实正确的 ip 吗?虽然不能访问

  •  
  •   herozzm · 257 天前 · 1653 次点击
    这是一个创建于 257 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如阿里 223.5.5.5 和 dnspod 的公共 DNS ,能否解析出域名对应的真实正确 ip ,不求能直接访问解析后的服务,但能解析出真实的 ip 后方便主路由分流,将对其的访问转给旁路由,如不能,为什么用主路由分流国外 ip 给旁路由策略会成功呢?

    参考网络大神的教程,比如我现在成功的配置:主路由 ros ,旁路由 debian (透明代理,接管所有的进入旁路由的流量,上面安装了 xray ,用的 geoip 和 geosite 再次分流)
    主路由 ros 导入了所有的国内 ip address list ,dns 为 223.5.5.5 ,遇到非国内 ip 交给旁路由访问;
    局域网设备设置网关和 dns 均为主路由地址,当局域网内设备访问 youtube.com 时,用主路由的 dns223.5.5.5 来解析,得出其 ip ,然后根据分流策略(非国内 ip )交给旁路由访问,成功~~

    如果 公关的 dns 223.5.5.5 得不到真实的 ip ,为什么这个策略会有效,我理解的不正确吗?
    14 条回复    2024-03-10 11:15:50 +08:00
    q585254566
        1
    q585254566  
       257 天前   ❤️ 2
    得不到真实 IP 。但是不会得到国内的 IP 。不能反过来干扰到国内的正常服务。之外会国外再解析一次。
    herozzm
        2
    herozzm  
    OP
       257 天前
    @q585254566 明白了,原来返回一个假的国外 ip ,然后到旁路由后重新用梯子解析
    AlphaTauriHonda
        3
    AlphaTauriHonda  
       257 天前 via iPhone
    不建议这样设置,有 DNS leak 的问题。
    https://en.wikipedia.org/wiki/DNS_leak
    herozzm
        4
    herozzm  
    OP
       257 天前
    @AlphaTauriHonda 是的,第一道 dns 解析还是依靠国内的公共 dns 服务,但这种简单可行
    herozzm
        5
    herozzm  
    OP
       257 天前
    @AlphaTauriHonda 主要是实现了,当旁路由崩溃时,访问国内也不受影响
    fanxasy
        6
    fanxasy  
       257 天前
    不建议用 ros 主路由处理分流,你可以去搜一个叫 vrrp 的东西,让 ros 主路由和 debian 旁路由组成一个虚拟的 ip ,并把内网设备路由到这个 ip ,让旁路由处理所有特殊上网逻辑,如果旁路由掉线了主路由也能无缝接管路由
    herozzm
        7
    herozzm  
    OP
       257 天前
    @AlphaTauriHonda 我想到一个方案,将 ros 的 dns1 设置为旁路由 ip ,dns2 设置为 223.5.5.5 是否可以一定程度避免 dns leak 问题,当局域网内设备访问 YouTube.com ,会采用 dns1 旁路由来做 dns 解析,如果旁路由崩溃后,因为 dns1 不可用,会使用 dns2 为 223.5.5.5
    vcn8yjOogEL
        8
    vcn8yjOogEL  
       257 天前
    一般会污染成错误的国外 IP
    代理程序会像 GFW 那样提取 SNI 然后自己重新解析一次
    如果是纯 IP 连接那就没有办法, 被污染就连不上了
    DNS 最好还是本地自建一个, 在发请求之前就做好分流
    herozzm
        9
    herozzm  
    OP
       257 天前
    @vcn8yjOogEL 不然直接将主路由的 dns 指向旁路由就行了,用旁路由的 xray 的分流策略做精细控制
    lwq84510
        10
    lwq84510  
       257 天前 via iPhone
    @herozzm dns1 设置成代理的,dns2 设置成 ros 的。ros 通过 net watch 监控代理服务器是否可用调用脚本自动切换回公共 dns 和私有 dns 保证解析可用
    herozzm
        11
    herozzm  
    OP
       257 天前
    @lwq84510 dns2 本身就是当 dns1 故障时候用吧,不用 net watch 监控也可以用 dns2 吧
    lwq84510
        12
    lwq84510  
       257 天前 via iPhone
    @herozzm 看你需求,如果你 dns1 上是一个 adguard home 用来屏蔽一些网站,dns1 屏蔽了可以从 dns2 公共 dns 拿到结果,等于没屏蔽。dns2 用 ros 转发一层可以完全屏蔽掉
    cyp0633
        13
    cyp0633  
       257 天前
    一般运营商喜欢污染,用腾讯 DoH 就没发现解析结果有什么问题,虽然不建议这么做就是了
    emma3
        14
    emma3  
       256 天前
    如果只做内网解释,可以考虑一下内网部署 DNS 服务器,基本解决一切 DNS 分开解释存在的问题,而且响应极快。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   969 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:54 · PVG 05:54 · LAX 13:54 · JFK 16:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.