这个需求有点妖,内部维护了 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 的方案能实现“本地权威域里没有,再去互联网找下记录返回给客户端。。。”这个功能,求教大家了。感谢!!!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.