我已经设置了 consul ( http://consul.io/ ) 和 dnsmasq,这样我就可以拥有自己的内部 dns 解析。我已经用 dig 测试了 consul 支持反向 dns 查找:
$ dig @127.0.0.1 -p 8600 +noall +answer -x 11.0.16.69
69.16.0.11.in-addr.arpa. 0 IN PTR ip-11-0-16-69.node.dc1.consul.
但是通过 dnsmasq 反向 dnslookups 失败。如何配置 dnsmasq 将反向查找条目转发给领事?
我目前正在使用默认配置运行领事。每个节点都有一个领事代理,如下所示:
consul agent -data-dir=/tmp/consul -bind <ip> -node <short hostname>
除了将 dns 请求转发到端口 8600 的 consul 的单个设置外,dnsmasq 以默认配置在每个节点上运行。有一个文件/etc/dnsmasq.d/10-consul
用于执行此操作:
server=/consul/127.0.0.1#8600
/etc/resolve.conf
最后,我添加了一个指向 localhost的条目,因此使用了 dnsmasq:
search us-gov-west-1.compute.internal
nameserver 127.0.0.1
nameserver 11.0.0.2
我在 AWS 上,我仍然可以利用他们在他们的环境中提供的 dns 服务以及我自己的内部 dns 方案,这一点至关重要。