自建 DNS,不打开递归解析,无法正常使用。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sikeer
V2EX    DNS

自建 DNS,不打开递归解析,无法正常使用。

  •  
  •   sikeer 2024-08-18 23:13:45 +08:00 3166 次点击
    这是一个创建于 479 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请教大家一个问题:

    1. 我在家里用群晖搭建了一个 DNS (地址为:192.168.1.2 ),这个 DNS 只用来解析一个域名:123.test.com 解析为自身( 192.168.1.2 ),并且这个解析只对家里的 LAN 上的设备有效

    2. 我在家里的手机上和电脑上,配置 DNS 为:192.168.1.2 ,223.5.5.5

    3. 我的想法是:任何 DNS 查询,首先到 192.168.1.2 ,如果是查询 123.test.com ,则应答,如果是其它域名,则不应答,由下一个 223.5.5.5 去应答。因此我在 192.168.1.2 上不启用剃归解析

    4.结果是:nslookup 123.test.com 192.168.1.2 时,正常应答,但是,nslookup 123.test.com 时,无法正常解析 123.test.com. ping 123.test.com 也不行。

    5.但是如果将递归解析打开,则一切正常。

    请问大家,为什么?

    16 条回复    2024-08-20 09:21:04 +08:00
    Internet0User
        1
    Internet0User  
       2024-08-18 23:20:59 +08:00 via Android   1
    递归解析 顾名思义嘛
    要是不太了解的话可以看看递归解析的原理,相信你应该就明白了
    szlytlyt
        2
    szlytlyt  
       2024-08-19 00:19:43 +08:00
    用户:如果主 dns 没有查到记录,会自动去备用 dns 查询吗

    ChatGPT 说:
    通常情况下,如果主 DNS 服务器响应了查询请求但没有找到对应的记录,Windows 系统不会自动切换到备 DNS 服务器进行查询。这是因为从技术上讲,主 DNS 已经正确地响应了请求,只是没有对应的记录。

    换句话说,只有在主 DNS 服务器无法响应(如超时或连接失败)时,系统才会自动切换到备 DNS 。如果主 DNS 成功响应但没有找到记录,系统不会去备 DNS 再次查询。
    yshtcn
        3
    yshtcn  
       2024-08-19 00:46:58 +08:00
    因为递归解析才是你需要的功能。
    nuk
        4
    nuk  
       2024-08-19 01:09:38 +08:00
    因为 nslookup 不是递归查询,但是 windows 系统的 dns 客户端是递归查询,另外主 dns 只解析一个域名不会导致网络很慢吗。
    Kobayashi
        5
    Kobayashi  
       2024-08-19 02:00:05 +08:00 via Android
    这什么和什么,你用的什么 DNS 服务软件、配置都没说啊,就一句群晖。
    yinmin/td>
        6
    yinmin  
       2024-08-19 02:00:56 +08:00 via iPhone
    nslookup 123.test.com 能看到具体使用了哪个 dns 服务器的。另外,windows 配置里的主 dns 、副 dns 不是依次使用,而是随机使用的。
    flynaj
        7
    flynaj  
       2024-08-19 02:27:12 +08:00 via Android
    用 smartDNS ,DNS 填几个进去,会自动解析最快的
    ho121
        8
    ho121  
       2024-08-19 08:13:55 +08:00 via Android
    > 我的想法是:任何 DNS 查询,首先到 192.168.1.2 ,如果是查询 123.test.com ,则应答,如果是其它域名,则不应答,由下一个 223.5.5.5 去应答。

    建议楼主确认一下您所用的系统,DNS 查询是不是这个逻辑,很可能不是您所想的逻辑。

    > 但是如果将递归解析打开,则一切正常。

    如果递归解析打开了,您自建的 DNS 服务器变成了全功能 DNS 服务器了,当然能解析任意域名。
    cleanery
        9
    cleanery  
       2024-08-19 09:14:52 +08:00
    递归解析才是大多数 dns 的工作状态啊
    你 dns 里没有该网站的缓存, 它自然要递归请求上级的 dns, 最后找到权威 dns
    ShinichiYao
        10
    ShinichiYao  
       2024-08-19 09:24:20 +08:00
    主 DNS 不响应才会转到备用 DNS ,主 DNS 活着的不会去备用 DNS 查
    FengMubai
        11
    FengMubai  
       2024-08-19 09:36:11 +08:00
    你这种情况没必要自建, 直接 dnsmasq 追加 host
    mainjzb
        12
    mainjzb  
       2024-08-19 10:09:31 +08:00
    我估计是 windows 会定期检测一些域名,比如 www.msftconnecttest.com:80
    根据 windows 的内部判断,你的第一个 DNS 完全不可用。所以默认启用了第二个 DNS 。
    如果你开了递归解析。第一个 DNS 就能访问到检测域名了,就使用了第一个 DNS 。
    bingoup886
        13
    bingoup886  
       2024-08-19 10:14:04 +08:00
    你的 dns 服务器解决了缓存穿透的问题:如果没有 value ,则缓存一个空值(有效),所以才不会走其他服务器了啊
    sikeer
        14
    sikeer  
    OP
       2024-08-20 09:16:45 +08:00
    谢谢大家回复!
    我用的是群晖自带的 DNS 服务套件。
    当我把递归解析关闭时:

    $nslookup 123.test.com 的回复是:

    ;; Got recursion not available from 192.168.1.2, trying next server
    Server: 223.5.5.5
    Address: 223.5.5.5#53

    ** server can't find 123.test.com: NXDOMAIN


    但是用下面的命令:
    $nslookup 123.test.com 192.168.1.2
    Server: 192.168.1.2
    Address: 192.168.1.2#53

    Name: 123.test.com
    Address: 192.168.1.2

    我是在 macOS 上测试,并且在测试之前已经清空了 DNS 缓存
    sudo dscacheutil -flushcache;
    sudo killall -HUP mDNSResponder
    sikeer
        15
    sikeer  
    OP
       2024-08-20 09:19:30 +08:00
    我在群晖 DNS 套件上的 ZONE 配置是:

    123.test.com A 192.168.1.2
    123.test.com NS ns.123.test.com
    ns.123.test.com A. 192.168.1.2
    sikeer
        16
    sikeer  
    OP
       2024-08-20 09:21:04 +08:00
    我的 MACOS 的系统 DNS 设置为:
    192.168.1.2
    223.5.5.5
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5185 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 05:50 PVG 13:50 LAX 21:50 JFK 00:50
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86