使用“双”DNS

使用“双”DNS

我正在使用 Consul 作为服务发现,并且我希望将其作为 DNS 服务器添加到我当前拥有的 DNS 服务器中,因此当我运行 dig 时,ser.service.consul我将从 consul 获得结果。

我曾尝试添加它,/etc/resolv.conf但从我所看到的情况来看,如果第一个服务器可用,它只会转到第一个服务器,如果在第一个服务器上找不到它,它就不会转到辅助 DNS。

如果在一个 DNS 服务器中找不到另一个地址,有没有办法使用“双”DNS 服务器?

答案1

您可以在 Consul 文档中找到相关配置:

https://learn.hashicorp.com/consul/security-networking/forwarding

例如,如果你使用,dnsmasq你可以将以下行添加到dnsmasq.conf

server=/consul/127.0.0.1#8600

它的基本含义是,对域及其子域的查询consul.应由可用的解析器进行解析127.0.0.1:8600,即Consul 的标准位置

(如果你需要调整,你可以server=在 dnsmasq 的 手册页- 搜索-S, --local, --server=)。

然后,在您重新启动dnsmasqsudo systemctl restart dnsmasq.service)后,对的查询ser.service.consul应该由 Consul 解析,并且所有其他查询也应该照常解析。

答案2

最好使用 DNS 缓存服务,例如“bind”、“dnsmasq”或“unbound”。请参阅 https://learn.hashicorp.com/consul/security-networking/forwarding#dnsmasq-setup

您也可以将系统配置为专门使用 consul 进行 dns 处理,然后提供递归器consul 配置文件中的选项会将所有非.consul请求转发到适当的 dns 服务器。

相关内容