这个需求有点妖,内部维护了 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 的方案能实现“本地权威域里没有,再去互联网找下记录返回给客户端。。。”这个功能,求教大家了。感谢!!!
1
defunct9 2020-07-01 07:01:46 +08:00 via iPhone
coredns
|
2
mrco OP @defunct9 不会用 coredns 找个方案,因为我们需要 WEBGUI 的图形界面,还需要后端 MySQL 的支持(为其他应用提供数据等)
|
3
defunct9 2020-07-01 09:13:15 +08:00
coredns 跟 dnsmasq 很像的,就先找文件,文件找不到往上级 dns 问
|
4
mrco OP 顶上去。。。。。。。。。
|