在Windows中,当我在本地网络中设置Consul服务以进行服务发现时,我使用DNS接口来进行查询服务。但是当我用这个命令查询服务时
dig -x 127.0.0.1 -p 53 consul.service.consul +short
Run Code Online (Sandbox Code Playgroud)
它什么也没返回。目前,我的本地网络 DNS 地址是10.18.200.103. 但是当我更改为 Consul 服务器时10.18.200.202,它起作用并返回正确的数据。我想知道我的本地DNS服务器如何在不将DNS更改为Consul服务器的情况下找到Consul服务的域
您可以在 consul 配置中将本地 DNS 设置为递归服务器,然后将 consul 设置为主要 DNS 服务器,将普通 DNS 设置为辅助 DNS 服务器。这将首先通过领事传递请求。
如果 consul 启动,它将解析 *.consul 域并将其他所有内容传递给递归器。如果 consul 关闭,操作系统会将请求传递给辅助 DNS,并且最终仍会得到解析。
"recursors": [ "10.18.200.103" ],
Run Code Online (Sandbox Code Playgroud)
https://www.consul.io/docs/agent/dns.html