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

PDNS 如何才能在本地权威记录没有的情况下,继续递归查询互联网的记录然后返回给客户端?

  •  
  •   mrco · 2020-06-30 23:17:37 +08:00 · 966 次点击
    这是一个创建于 1396 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这个需求有点妖,内部维护了 abc.com 这个域名,之前是用 dnsmasq 做的内部 DNS 解析,通过一个类似 hosts 文件来储存 DNS 条目,解析结果是:

    1. 如果条目在此文件中,直接返回文件内的记录;
    2. 如果条目不在文件中,去配置的互联网递归 DNS ( 223.5.5.5 等)去查询并返回互联网上的结果给客户端;
    3. 相当于是用本地的记录值去覆盖了互联网上的解析;
    

    现在将 dnsmasq 方案迁移至pdns + pdns-recursor (最新版),pdns-recursor 的 53 端口对外提供服务,如果是 abc.com 的请求则 forward 到本机的 pdns 的 5300 端口,其余则全部丢给公网的 DNS 去查询,主要配置为:

    forward-zones-recurse=.=223.5.5.5;223.6.6.6
    # 尝试过 forward-zones-recurse=abc.com=127.0.0.1:5300 表示请求带 rd flag 为 1
    forward-zones=abc.com=127.0.0.1:5300
    

    现在的情况是,只有 pdns 中存在的条目才正确返回,没有的就 NXDOMAIN 了,我知道这是合理的,但是由于各种原因,还是需要 pdns 的方案能实现“本地权威域里没有,再去互联网找下记录返回给客户端。。。”这个功能,求教大家了。感谢!!!

    4 条回复    2020-07-01 14:52:14 +08:00
    defunct9
        1
    defunct9  
       2020-07-01 07:01:46 +08:00 via iPhone
    coredns
    mrco
        2
    mrco  
    OP
       2020-07-01 08:53:10 +08:00
    @defunct9 不会用 coredns 找个方案,因为我们需要 WEBGUI 的图形界面,还需要后端 MySQL 的支持(为其他应用提供数据等)
    defunct9
        3
    defunct9  
       2020-07-01 09:13:15 +08:00
    coredns 跟 dnsmasq 很像的,就先找文件,文件找不到往上级 dns 问
    mrco
        4
    mrco  
    OP
       2020-07-01 14:52:14 +08:00
    顶上去。。。。。。。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   904 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:14 · PVG 05:14 · LAX 14:14 · JFK 17:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.